[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Защита скрипта от несанкционированного вызова
_tvlad
Подскажите, пожалуйста, способ защиты php скрипта голосования от несанкционированного вызова. Проверка HTTP_REFERER не помогает. Вызовы генерируются программно, судя по частоте.



Спустя 1 минута, 16 секунд (21.05.2012 - 12:19) TranceIT написал(а):
Запишите скрипт на дискету, дискету в сейф, ключ выкинуть посреди Атлантического океана.

Ладно, ладно... Сейчас кофе допью и на гуще погадаю... Может увижу там код...

Спустя 12 минут, 16 секунд (21.05.2012 - 12:31) _tvlad написал(а):
Что, настолько безнадежно?
Или вопрос невразумителен?

Спустя 3 минуты, 41 секунда (21.05.2012 - 12:35) TranceIT написал(а):
Цитата (_tvlad @ 21.05.2012 - 11:18)
Подскажите, пожалуйста, способ защиты php скрипта голосования от несанкционированного вызова.

Мой ответ решит поставленную задачу.

Цитата (_tvlad @ 21.05.2012 - 11:18)
Проверка HTTP_REFERER не помогает.

Как проверяете?

Цитата (_tvlad @ 21.05.2012 - 11:18)
Вызовы генерируются программно, судя по частоте.

Как вы пришли к этому выводу?

Учитесь грамотно задавать вопросы. А то получается так:
"Доктор, помогите! У меня зуб болит! Только я рот открывать не буду. Вылечите меня!"

Спустя 43 минуты, 30 секунд (21.05.2012 - 13:18) _tvlad написал(а):
Проверка referer:

$referer = $_SERVER['HTTP_REFERER'];
$str = explode("?", $referer);
if($str[0] == "myURL"){
...полезные действия...
} else {
...регистрация IP
и редирект на страницу ошибки.
}

Скрипт регистрирует при каждом обращении к нему дату, время и IP. Эту информацию я просматриваю и делаю выводы.


Спустя 1 час, 29 минут, 39 секунд (21.05.2012 - 14:48) Kuliev написал(а):
_tvlad
Куки еще никто не отменял!

Спустя 21 минута, 29 секунд (21.05.2012 - 15:09) killer8080 написал(а):
А причем здесь вообще реферер? blink.gif

Спустя 46 минут, 52 секунды (21.05.2012 - 15:56) vagrand написал(а):
Есть два надежных способа:
1. давать возможность голосовать только авторизированным пользователям;
2. фильтровать по IP

Спустя 8 минут, 49 секунд (21.05.2012 - 16:05) killer8080 написал(а):
Цитата (vagrand @ 21.05.2012 - 15:56)
Есть два надежных способа:
1. давать возможность голосовать только авторизированным пользователям;
2. фильтровать по IP

второй обходится пачкой проксей, а главный минус - под одним IP может сидеть пару сотен юзеров, а проголосовать сможет только один.

Спустя 1 час, 24 минуты, 5 секунд (21.05.2012 - 17:29) inpost написал(а):
Всё, что начинается с HTTP_ - подделывается.
Голосование направлено на то, чтобы его вызывали smile.gif

Спустя 1 час, 1 минута, 35 секунд (21.05.2012 - 18:31) vagrand написал(а):
Цитата
второй обходится пачкой проксей, а главный минус - под одним IP может сидеть пару сотен юзеров, а проголосовать сможет только один.


Не спорю, но он точно надежнее рефера или куки. Конечно и его можно обойти указанным вами способом, а так же есть недостаток одного IP для многих пользователей.
Посему регистрация самый надежный и однозначный способ, но не все хотят регатся, тем более что бы только проголосовать.

P.S. Как неплохой вариант можно на голосовалку повесить капчу, тут и регатся не надо и ботов отсеять можно легко.

Спустя 4 часа, 31 минута, 23 секунды (21.05.2012 - 23:02) inpost написал(а):
голосование - это статистические данные, никаких смысловых нагрузок не должны иметь.

Спустя 9 часов, 9 минут, 20 секунд (22.05.2012 - 08:11) vagrand написал(а):
inpost

Так то оно так, но какая же тут статистика если у тебя робот накидал 1000 голосов?

Спустя 9 минут, 51 секунда (22.05.2012 - 08:21) Игорь_Vasinsky написал(а):
сказали же - 100% вариант - использовать данные авторизированного пользователя, всё остальное обходиться.

Спустя 20 минут, 28 секунд (22.05.2012 - 08:42) redreem написал(а):
если голосование несет какой-то смысл (призы, выйгрыши и пр), то надо просто снимать с конкурса участника с накруткой и все.

Спустя 1 час, 47 минут, 12 секунд (22.05.2012 - 10:29) killer8080 написал(а):
Цитата (redreem @ 22.05.2012 - 08:42)
если голосование несет какой-то смысл (призы, выйгрыши и пр), то надо просто снимать с конкурса участника с накруткой и все.

очень удобный способ избавляться от конкурентов smile.gif

Спустя 20 часов, 30 минут, 22 секунды (23.05.2012 - 06:59) _tvlad написал(а):
Спасибо за ответы.
Про авторизацию и капчу я понимаю, но этого принципиально не было в задании, хотели обеспечить массовость.
Куки - для честных граждан, а для прочих они не помеха.
IP вообще ничего не дает: у одних он динамически выделяемый, а другие - наоборот, массово сидят на одном роутере с одним IP. И про прокси уже было сказано.
Похоже, без авторизации более-менее надежной защиты не придумаешь. Можно только посоревноваться с изготовителем робота в хитроумных алгоритмах вычислений каких-нибудь ключевых значений в сессии или в скрытых полях.

Спустя 7 часов, 47 минут, 41 секунда (23.05.2012 - 14:47) inpost написал(а):
vagrand
Никто накидывать просто так не будет. Какой смысл голосовать: "нравится ли медвежонок" или "победит ли Путин", когда никому нет дела до этого.
А на конкурсах должны быть судьи, а не тупой спам. Голосования с призами делают не для того, чтобы провести конкурс, а для СЕО целей, и только. Ну а тут уже накрутка или нет - нет никакой разницы, всё равно СЕО-авторитет растёт.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.