Фотоконкурсы 2.x

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО InstantCMS 2.X

Обсуждение функционала, решение проблем при разработке

#1 17 августа 2018 в 10:42
Здравствуйте форумчане, принялся за дополнение компонента функционалом. В данный момент работаю на возможностью голосования при помощи репостов в социальных сетях, сетей много API у всех разные. Суть проблемы: если перйти по ссылке connect.ok.ru/dk?st.cmd=extLike &tp=json&ref=URL_TO_SHARE в браузере возвращается json ответ.
Если делаю так
  1. this.getCountOk = function (url, id) {
  2. var num;
  3. var okUrl = 'https://connect.ok.ru/dk?st.cmd=extLike&tp=json&ref=' + url;
  4. $.ajax({
  5. url: okUrl,
  6. crossDomain: true,
  7. type: 'GET',
  8. dataType: 'json',
  9. headers: {
  10. "X-Requested-With": "XMLHttpRequest"
  11. },
  12. xhrFields: {
  13. withCredentials: true
  14. },
  15. success: function (data) {
  16. num = data.count || 0;
  17. icms.rating_photo_competition.voteSoc(id, 'ok', num);
  18. }
  19. });
  20.  
  21. }
консоль выдает: Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на connect.ok.ru/dk?st.cmd=extLike&tp=json&ref=http://project/photo_competition/4-votoroe-foto-usovershenstvovanogo-konkursa.html. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»). — что это мне понятно, можно не рассказывать.
Подскажите способ получения количества постов ссылки в ОК, или обход CORS.
#2 17 августа 2018 в 15:11
popcornzstlook
#3 18 августа 2018 в 13:16


Здравствуйте форумчане, принялся за дополнение компонента функционалом. В данный момент работаю на возможностью голосования при помощи репостов в социальных сетях, сетей много API у всех разные. Суть проблемы: если перйти по ссылке connect.ok.ru/dk?st.cmd=extLike &tp=json&ref=URL_TO_SHARE в браузере возвращается json ответ.
Если делаю так

  1. this.getCountOk = function (url, id) {
  2. var num;
  3. var okUrl = 'https://connect.ok.ru/dk?st.cmd=extLike&tp=json&ref=' + url;
  4. $.ajax({
  5. url: okUrl,
  6. crossDomain: true,
  7. type: 'GET',
  8. dataType: 'json',
  9. headers: {
  10. "X-Requested-With": "XMLHttpRequest"
  11. },
  12. xhrFields: {
  13. withCredentials: true
  14. },
  15. success: function (data) {
  16. num = data.count || 0;
  17. icms.rating_photo_competition.voteSoc(id, 'ok', num);
  18. }
  19. });
  20.  
  21. }
консоль выдает: Запрос из постороннего источника заблокирован: Политика одного источника запрещает чтение удаленного ресурса на connect.ok.ru/dk?st.cmd=extLike&tp=json&ref=http://project/photo_competition/4-votoroe-foto-usovershenstvovanogo-konkursa.html. (Причина: отсутствует заголовок CORS «Access-Control-Allow-Origin»). — что это мне понятно, можно не рассказывать.
Подскажите способ получения количества постов ссылки в ОК, или обход CORS.

Win_wiruzz

Добрый день, мне кажется в этом вопросе сможет помочь /users/HiAndyRis
#4 18 августа 2018 в 14:31
Решил вопрос прошлой ночью. Скоро потребуется тестирование =)
#5 22 августа 2018 в 06:42
Требуется тестирование функции "голос за репост". — Голос принимается только после репоста ссылки в соц сеть.
Тестовый сайт
#6 22 августа 2018 в 14:31
Протестировала, проголосовала. Всё сработало без сучка и задоринки с вконтакте. Второй раз не проголосовать. Однако, мне кажется если логинится в разных соц. сетях и голосовать, то накрутка очень будет возможна...
Поэтому подобную штуку нужно сделать опционально, так же в админке хорошо бы иметь возможность отслеживать айпи голосов, что мне кажется сложным...
Походу не буду пользоваться таким голосованием из-за хитрожопых накрутчиков, хотя идея отличная. =(
___________________

Ещё напишу про описание к фото и тут. laugh
Здорово бы было иметь возможность добавлять к фото описание с бибикодами. Сейчас страница с фото выглядит очень пустой, не хватает инфы вроде полей каких-нибудь настраиваемых (типа материалы, например, если конкурс художников) и, собственно, описания.
#7 22 августа 2018 в 14:53
Описание и редактор будут, да же уже добавлены. По поводу накрутить, система не считает репосты как голос в голосовании, учитывается факт голосования за счёт изменения количества репостов, иначе накрутки не избежать. Буду признателен если по пробуете обмануть систему=)
#8 22 августа 2018 в 14:57
Win_wiruzz, хм. Сейчас попробую, т.к. аккаунтов много в соц. сетях разных. И мне кажется это вполне прокатит, посмотрим.)
#9 22 августа 2018 в 15:01


хм. Сейчас попробую, т.к. аккаунтов много в соц. сетях разных. И мне кажется это вполне прокатит, посмотрим.)

Azura
Вот… — Аккаунты в соц. сетях стоят копейки.)))

Win_wiruzz, тут без голосования с помощью смс, отправки скана паспорта, сканирования сетчатки глаза, и отпечатков пальцев — накрутки не избежать. :)
#10 22 августа 2018 в 15:06
Win_wiruzz, прокатило на 1 голос с ОК с аккаунта мэил (причём авторизоваться через ОК не смогла — почта совпадала), а потом весь сайт завис, когда попробовала авторизацию через яндекс. rofl

Всё-таки мне кажется опционально эту фичу нужно оставлять. х)

п.с.: смогла зайти с саундбанка (рыжая иконка) через фейсбук и во время голосования с репостом в фейсбук сайт виснет и голос не добавляется — пишет ошибку)
Попробовала с гмаила проголосовать репостом в мэил ру. Голос не прокатил — типа не принят. Так же второй репост в вк не прокатил.

В общем, накрутка возможна. Просто нужны разные акки.)

nmsk, ну а я о чём) Любую систему можно обмануть. Поэтому лучше позволять голосовать только внутри сайта и только пользователям которые на сайте дольше чем конкурс)))
#11 22 августа 2018 в 15:36

п.с.: смогла зайти с саундбанка через фейсбук и во время голосования с репостом в фейсбук сайт виснет и голос не добавляется — пишет ошибку)

Azura
какой текст ошибки?
#12 22 августа 2018 в 15:37
Win_wiruzz, error occured — как-то так. Красным. Либо просто ничего не происходит и страница зависает в бесконечной загрузке.
#13 22 августа 2018 в 15:50


Win_wiruzz, error occured — как-то так. Красным. Либо просто ничего не происходит и страница зависает в бесконечной загрузке.

Azura

С глюками при авторизации через соц сеть это у нас ulogin, заморачиваться не стоит. Сможете в другое время, с разными промежутка и сделать попытки голосовать через фб?
#14 22 августа 2018 в 15:53
Win_wiruzz, попробую, но могу забыть.😊Завтра постараюсь вспомнить. Лучше напишите мне в лс напоминалку)))
#15 22 августа 2018 в 15:57
Да и совсем забыл сообщить, это опцыональная функция, можно отключить и голосовать как и в версии 2.0.0
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.