Вот в голову пришёл достаточно простой и на мой взгляд очень действенный способ почти 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="" id='reg-password-check' name="PassWord_Check" />
<input type="text" size="25" maxlength="150" value="" id='reg-emailaddress' name="EmailAddress" />
<input type="text" size="25" maxlength="150" 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. Чтобы полностью отбить желание у ботов заходить на ваш форум желательно ещё и адрес страницы регистрации изменить, он тоже у всех одинаковый и сбор БД форумов для спама скорей всего идёт путём поиска этого адреса в различных поисковиках.
<!--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="" id='reg-password-check' name="PassWord_Check" />
<input type="text" size="25" maxlength="150" value="" id='reg-emailaddress' name="EmailAddress" />
<input type="text" size="25" maxlength="150" 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. Чтобы полностью отбить желание у ботов заходить на ваш форум желательно ещё и адрес страницы регистрации изменить, он тоже у всех одинаковый и сбор БД форумов для спама скорей всего идёт путём поиска этого адреса в различных поисковиках.