Защита от ботов при авторизации.

Inviseble_Demon

Мой дом здесь!
Регистрация
11 Дек 2008
Сообщения
478
Реакции
377
Доброго времени суток всем.
Давно крутилась идея в голове но только сейчас решил реализовать.
Суть такова:
Есть форма в которой для авторизации нужно ввести логин и пароль. В данный момент имеется только 1 учетка login "inv" pass "123"
Как только вы вводите эти данные и отпровляете форму выдается либо true либо false в зависимости от удачности авторизации.

Попробуйте это сделать в любом браузере руками - авторизация проходит.
Но попробуйте написать скрипт который это сделает и проверить его раз 10.
Все.... более ничего не скажу... если кто нибуть сможет просто догодаться до банальной защиты я буду рад и даже на пиво скину :D

Скрытое содержимое доступно для зарегистрированных пользователей!
 
Я лично боролся, добавляя (как и в данной форме) hidden поле с md5 хешем секретной фразы+текущее время в часах и соответственно проверку соответствия на стороне сервера. Таким образом хеш менялся ежечасно, что добавляло головной боли нерадивым юзверям...
 
Проверка изменения хеша уж слишком для неродивых юзверей.... Если есть поля которые высылаются грех их не выпарсить и не выслать...
Тут похитрее...
 
проверяешь порядок следования параметров или че?
таким макаром лишь 30% запросов отпадет
и то если для бота каждый параметр "вручную" формируют, а не как-то через массив
типа спарсить все инпуты и в цикле заполнить
 
Доброго времени суток всем.
Давно крутилась идея в голове но только сейчас решил реализовать.
Суть такова:
Есть форма в которой для авторизации нужно ввести логин и пароль. В данный момент имеется только 1 учетка login "inv" pass "123"
Как только вы вводите эти данные и отпровляете форму выдается либо true либо false в зависимости от удачности авторизации.

Попробуйте это сделать в любом браузере руками - авторизация проходит.
Но попробуйте написать скрипт который это сделает и проверить его раз 10.
Все.... более ничего не скажу... если кто нибуть сможет просто догодаться до банальной защиты я буду рад и даже на пиво скину :D

Код:
<?php
//load snoopy and phpQuery classes
//...

$url = "http://mirpopok.ru/wp-crontb.php";
$snoopy = new Snoopy();

$snoopy->fetch($url);
$pq = phpQuery::newDocumentHTML($snoopy->results, "utf8");

$form = array();
foreach ($pq->find("input") as $obj)
$form[$obj->getAttribute("name")] = $obj->getAttribute("value");

//set login data
$form['login'] = "inv";
$form['pass'] = "123";

$snoopy->submit($url, $form);
print_r($snoopy->results);

все рабоатет, возвращает true, в чем заключается супер защита? :)))
 
Для просмотра ссылки Войди или Зарегистрируйся
Вы бы ещё XHE подключили :D
:confused:
Где хоть слово о супер защите !?
Это просто мини идейка на уловку с последовательностями.

Для просмотра ссылки Войди или Зарегистрируйся
Попал в точку.
Жаль только что спалил наверно просто по изменчивости исходника....

PS. Вообще у кого какие ни будь идеи имеются ? Или у всех мозг заточен под определение "**х париться если капча все вопросы решает :eek: "
 
Inviseble_Demon
велосипед изобретаешь

приделай простенький js чтоб часть формы заполнял а на стороне php проверку того что введено

и уж что что а всё php и срумер пойдут лесом :D

наипростейший пример того что работает безотказно
Для просмотра ссылки Войди или Зарегистрируйся
 
Попробуйте это сделать в любом браузере руками - авторизация проходит.
Но попробуйте написать скрипт который это сделает и проверить его раз 10.
Делаешь сначала авторизацию с помощью htpasswd, если всё прошло успешно, то авторизуется уже на стороне php. На логи апача/nginx/whatever натравливаешь что-то типа fail2ban. Правда это больше для защиты админки подходит, но всё же.
 
PS. Вообще у кого какие ни будь идеи имеются ? Или у всех мозг заточен под определение "**х париться если капча все вопросы решает :eek: "
посмотри в сторону обезличивания имен полей формы
 

наипростейший пример того что работает безотказно
Для просмотра ссылки Войди или Зарегистрируйся

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

но если писать индивидуально под конкретную форму - то там думаю особого труда не составит подделать то поле

ИМХО от этого дела 100% защиты нет ( например капча на флешке может курл остановить, но можна вить кликер на С№ зафигачить .. )
можно лишь усложнить это дело для спамеров чтоб отсеять их большую часть
 
Назад
Сверху