Идея защиты от ботов

..::NiK::..

New Member
LV
0
 
Вот в голову пришёл достаточно простой и на мой взгляд очень действенный способ почти 100% защиты. Я думаю мало, кто задумывался о том как спам боты заполняют форму регистрации, почему они пишу имя в поле имя, а не в какое-то другое, да и как собственно они их различают. Те, кто работал с Allsubmitter или подобны заполнителем форм, знают, что они смотрят значения name (и возможно id) у полей и по ним определяют, что в эти поля вписывать. Покопавшись в коде страницы регистрации, я выделил следующие поля:

<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><input type="text" size="50" maxlength="26" value="" id='reg-name' name="UserName" />
<input type="text" size="50" maxlength="26" value="" id='reg-members-display-name' name="members_display_name" />
<input type="password" size="25" maxlength="32" value="" id='reg-password' name="PassWord" />
<input type="password" size="25" maxlength="32" value=""&nbsp;&nbsp;id='reg-password-check' name="PassWord_Check" />
<input type="text" size="25" maxlength="150" value=""&nbsp;&nbsp;id='reg-emailaddress' name="EmailAddress" />
<input type="text" size="25" maxlength="150"&nbsp;&nbsp;value="" id='reg-emailaddress-two' name="EmailAddress_two" />
<input type="text" size="25" maxlength="32" name="reg_code" /><!--c2--></div><!--ec2-->

Благодаря тому, что эти поля у всех владельцев IPB одинаковы, процесс их заполнения не сложно поставить на поток, что собственно и реализовано в Хрумере и подобных софтинах. Та вот, всё гениальное просто, изменив содержимое name и id, например вместо name="EmailAddress" поставим name="UserName" или ещё лучше напишем свою уникальную тарабарщину name="2jx82klu" мы резко отойдем от стандарта на который был надрессирован бот и он не найдя привычных ему имён просто плюнет на ваш форум и пойдёт спамить других.
Собственно вопрос как грамотно изменить name и id, не повредив движок форума?

P.S. Чтобы полностью отбить желание у ботов заходить на ваш форум желательно ещё и адрес страницы регистрации изменить, он тоже у всех одинаковый и сбор БД форумов для спама скорей всего идёт путём поиска этого адреса в различных поисковиках.
 
Хитер - Бобер!!! :pod_stolom:
А ты не подумал о том, что тебе придется перелопатить дюжее количество файлов, что бы сменить имена системных переменных?

Например открываем <b>sources/action_public/register.php</b> и находим все ключевые строчки <b>input['username']</b> заменяя их на (к примеру) <b>input['2jx82klu']</b>
Таких строчек не много в одном файле, в <b>sources/action_public/register.php</b> таких строчек 6, а сколько их вообще в ядре IPB ХЗ... Это тебе все файлы копать придется, а их много. Обработка данных о регистрации происходит не только в <b>sources/action_public/register.php</b>...

Вообщем если захотеть, можно конечно это прикрутить, только вот алгоритм такой замены продумать нужно. Нужно в PHP шарить, что бы расставить приоритеты, где нужно менять переменную, а где не нужно...

PS Вот ты этим и займись, а потом нам расскажешь!!! :tender:
 
<!--quoteo(post=70574:date=28.10.2007, 04:11:name=ZIff)--><div class='quotetop'>Цитата(ZIff @ 28.10.2007, 04:11) [snapback]70574[/snapback]</div><div class='quotemain'><!--quotec-->Вот в голову пришёл достаточно простой и на мой взгляд очень действенный способ почти 100% защиты. Я думаю мало, кто задумывался о том как спам боты заполняют форму регистрации, почему они пишу имя в поле имя, а не в какое-то другое, да и как собственно они их различают. Те, кто работал с Allsubmitter или подобны заполнителем форм, знают, что они смотрят значения name (и возможно id) у полей и по ним определяют, что в эти поля вписывать. Покопавшись в коде страницы регистрации, я выделил следующие поля:

<!--c1--><div class='codetop'>Код</div><div class='codemain'><!--ec1--><input type="text" size="50" maxlength="26" value="" id='reg-name' name="UserName" />
<input type="text" size="50" maxlength="26" value="" id='reg-members-display-name' name="members_display_name" />
<input type="password" size="25" maxlength="32" value="" id='reg-password' name="PassWord" />
<input type="password" size="25" maxlength="32" value=""&nbsp;&nbsp;id='reg-password-check' name="PassWord_Check" />
<input type="text" size="25" maxlength="150" value=""&nbsp;&nbsp;id='reg-emailaddress' name="EmailAddress" />
<input type="text" size="25" maxlength="150"&nbsp;&nbsp;value="" id='reg-emailaddress-two' name="EmailAddress_two" />
<input type="text" size="25" maxlength="32" name="reg_code" /><!--c2--></div><!--ec2-->

Благодаря тому, что эти поля у всех владельцев IPB одинаковы, процесс их заполнения не сложно поставить на поток, что собственно и реализовано в Хрумере и подобных софтинах. Та вот, всё гениальное просто, изменив содержимое name и id, например вместо name="EmailAddress" поставим name="UserName" или ещё лучше напишем свою уникальную тарабарщину name="2jx82klu" мы резко отойдем от стандарта на который был надрессирован бот и он не найдя привычных ему имён просто плюнет на ваш форум и пойдёт спамить других.
Собственно вопрос как грамотно изменить name и id, не повредив движок форума?

P.S. Чтобы полностью отбить желание у ботов заходить на ваш форум желательно ещё и адрес страницы регистрации изменить, он тоже у всех одинаковый и сбор БД форумов для спама скорей всего идёт путём поиска этого адреса в различных поисковиках.<!--QuoteEnd--></div><!--QuoteEEnd-->
где то я уже читал эту статью
откуда взял то её? :ganj2:
 
Если ты где-то это и читал, то ты читал мой текст. Я давно ещё толи на ibresource.ru, толи на ibpower.ru просил такой мод сделать, но меня там тоже проигнорировали, а РНР я к сожалению практически не знаю и по этому побаиваюсь сам переделывать :unhappy:
 
Сверху