Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: разработка для Web > Помогите избавиться от "мёртвых душ"


Автор: milleroff 24.1.2007, 21:19
Господа программисты, прошу совета и помощи.
Осенью я открыл для нашей конторы форум, но так как у меня самого на создание ума не хватает, я взял за основу форум Board Power v2.04 PF, сделал перевод, кое-какие исправления для себя, в общем - работает. Но через некоторое время на нём стали регистрироваться рекламные роботы. К новому году их приходило по 6-7 за день. Забанить их невозможно, т.к. IP адреса каждый раз новые. Ладно, добавил к скрипту регистрации новых юзеров "humantest" - как у всех, вводить циферки с картинки (правда, не совсем правильно - потому что ещё не умею работать с модулем GD). Но всё-равно помогло. Отпали почти все роботы, кроме, кажется одного. 2-3 раза в неделю он регистрируется вообще не вводя код.
Помогите найти "дыру" в скрипте. Или здесь дело в чём-то другом?
В прицепе я положил модуль регистрации от своего форума.

Автор: izek 25.1.2007, 22:09
Я бы на твоём месте писал отдельно код perl и отдельно html.Так удобние.шас твой код разбираю.

Автор: milleroff 26.1.2007, 13:31
Спасибо, izek. Я сам обычно так и делаю - пишу код PERL отдельно от HTML. Просто здесь уже так было задумано, что HTML генерится скриптом (с другой стороны это тоже удобно).
Сейчас опять зарегистрировался робот. В письме-уведомлении поле Regcode пустое. Снова просматриваю скрипт. На мой взгляд - всё логически сходится регистрация не должна была пройти. smile 
Может быть тебе для полноты картины показать весь форум в комплекте?

Автор: GoodBoy 26.1.2007, 15:01
milleroff
вынеси проверку регистрационного кодо ДО этого блока:
Код
if ($error eq "yes") {

А то получается, что у тебя есть проверку кода, только если пользователь уже допустил какую-то ошибку...

Автор: milleroff 27.1.2007, 20:45
Спасибо, GoodBoy.   И как я сам не сообразил?! Это моя обычная невнимательность. С Вашей помощью ошибка устранена.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)