Перейти к контенту

JS проверка регистрации ботов


Рекомендуемые сообщения

Вроде не использует!

Везде посмотрел!

В skin_register.php вот что -

 

<div class="tableborder">
 <div class="pformstrip">{$ibforums->lang['las_title']}</div>
 <table class="tablebasic">
 <td class='row1' width='40%'>{$ibforums->lang['las_numbers']}</td>
 <td class='row1'>
   <input type='hidden' name='regid' value='$regid' />
   <img src='{$ibforums->base_url}act=Reg&CODE=image&rc={$regid}&p=1' border='0' alt='Code Bit' />
    <img src='{$ibforums->base_url}act=Reg&CODE=image&rc={$regid}&p=2' border='0' alt='Code Bit' />
    <img src='{$ibforums->base_url}act=Reg&CODE=image&rc={$regid}&p=3' border='0' alt='Code Bit' />
    <img src='{$ibforums->base_url}act=Reg&CODE=image&rc={$regid}&p=4' border='0' alt='Code Bit' />
    <img src='{$ibforums->base_url}act=Reg&CODE=image&rc={$regid}&p=5' border='0' alt='Code Bit' />
    <img src='{$ibforums->base_url}act=Reg&CODE=image&rc={$regid}&p=6' border='0' alt='Code Bit' />
 </td>
 </tr>
 <tr>
 <td class='row1' width='40%'>{$ibforums->lang['las_text']}</td>
 <td class='row1'><input type='text' size='32' maxlength='32' name='reg_code' class='forminput' /></td>
 </tr>
 </table>
</div>

 

Но эффект точно такой - проверку кода включаешь - не работает!

Выключаешь - все идеально!

 

Хотя, надо заметить, даже без кода эффект сразу почувствовался!

Причем очень здорово! Мод очень хороший и правильный! А главное - идея!

По любому огромнейшее спасибо!!!

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 62
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Вроде получилось!

 

Надо поменять в skin_register.php это

 

 

<input type='hidden' name='regid' value='$regid' />

 

на это

 

 

 	   <input type='hidden' name='regid' value='$regid' onClick='jаvаscript:valid();' onKeyup='jаvаscript:valid();' onChange='jаvаscript:valid();' onFocus='jаvаscript:valid();' />

 

 

Везде проверил - все работает как надо вроде!

 

FatCat! Большущее спасибо!

Ссылка на комментарий
Поделиться на других сайтах

Вроде получилось!

 

Надо поменять в skin_register.php это

<input type='hidden' name='regid' value='$regid' />

на это

 	   <input type='hidden' name='regid' value='$regid' onClick='jаvаscript:valid();' onKeyup='jаvаscript:valid();' onChange='jаvаscript:valid();' onFocus='jаvаscript:valid();' />

Хорошо, что получилось.

 

Только не пойму, что делают обработчики событий в скрытом поле.

 

 

даже без кода эффект сразу почувствовался!

Причем очень здорово!

Угу.

У меня почти везде гостям писать разрешено; аналогичный алгоритм отсекает ботов.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
странно. у меня яваскрипт работает (менюшка на js в соседнем окне) а на тестовом ваше форуме выдается сообщение об ошибке js
Ссылка на комментарий
Поделиться на других сайтах

странно. у меня яваскрипт работает (менюшка на js в соседнем окне) а на тестовом ваше форуме выдается сообщение об ошибке js

Вот тут: http://anonymouse.ru/cgi-bin/nph-proxy_ru.cgi/010110A/http/vesvalo.net/index.php?&act=Reg&CODE=00

А ничего, что это через проксю, отрезающую джаваскрипт? Ничего, что это демонстрация того, что будет показано боту?

 

Я не создавал тестового форума для регистрации чайников. Мне не нужны мертвые регистрации на моем форуме.

Ссылка на комментарий
Поделиться на других сайтах

ну зачем же так громко?

 

извини, сразу и не заметил. потому и спросил. видимо все-таки выбросы на солнце очень сильные.

 

я же просто спросил и никого не обвинял.

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

У меня при выключенном JavaScript'e сообщение вылетает, что необходимо его включить, но даже при выключенном JavaScript'e можно чудно зарегистрироваться.

 

Ставил мод по первому посту.

Что делать?

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

это наверно потому что

register.php

 

Найти:

Код

if ( trim( intval($this->ipsclass->input['reg_code']) ) != $row['regcode'] )

{

$form_errors['general'][] = $this->ipsclass->lang['err_reg_code'];

}

 

 

Выше добавить:

Код

if ( trim( intval($this->ipsclass->input['check_bot']) ) != 0 )

{

$form_errors['general'][] = $this->ipsclass->lang['err_reg_bot'];

}

2 раза в регистерпхп встречается такая строка вроде

Ссылка на комментарий
Поделиться на других сайтах

ОК, маленькая заплатка для совместимости с файерфоксом:

1.3: skin_register.php

Найти:

<script language='javascript' type="text/javascript">
<!--
function Validate() {
// Check for Empty fields

Ниже добавитьстроку:

valid();

 

а таких момента 2

<script language='javascript' type="text/javascript">
<!--
function Validate() {
// Check for Empty fields

 

вставлять в 2 места???

Ссылка на комментарий
Поделиться на других сайтах

  • 3 месяца спустя...

Друзья!

 

Мод действительно работал, исходник FatCat в дополнении Arhar. Ну там плюс исправление к фаерфоксу... на движке 2.1.7. Всё поставил в середине декабря, и ровно месяц всё отлично работало! Один раз за месяц один бот пролез. Но теперь спам-боты стали, увы, умнее. Теперь скриптик им не помеха... Есть подозрение, что боты стали анализировать скрипты и менять единичку на нолик...

 

Может быть, есть идеи улучшения сей проверки?..

 

Ещё раз спасибо за честно прослуживший мод :D

Ссылка на комментарий
Поделиться на других сайтах

Для начала нужно проверить насколько они умные :D

Попробуйте везде в этом моде заменить check_bot, скажем, на qmr63mdt.

Ссылка на комментарий
Поделиться на других сайтах

Название на произвольное поменял, ждём-с :D

Втайне теплятся надежды, что они не такими умными стали...

 

На самом деле, я уверен, что пишущие спам-программы люди тут всё читают и мотают на ус, скоро придётся ещё давать всем рекомендации по внесению правок в приводимый код, чтобы не повторяться... срок принятия ответных мер у них, видно месяцев 4-6.

Ссылка на комментарий
Поделиться на других сайтах

Конечно мотают. Так что нужно проявлять свою фантазию, так чтобы никто не знал как вы сделали что-то :D Под ваш один форум мало кто будет писать спам-бота ;) Такова основная мысль. Почитайте ещё темы про спам и js на этом форуме, есть ещё много нереализованных вариантов.
Ссылка на комментарий
Поделиться на других сайтах

Для начала нужно проверить насколько они умные :D

 

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

 

Что-то мне кажется, что они стали эти самые скрипты читать и заполнять содержимое формы в соответствии с действиями, описанными в том числе и скриптами... В том, что это боты, уверен на 99%, дополнительные поля (назовём его "настоящее имя") заполняют воспроизводимо точно тем же ником, что и себя обзывают...

 

Я кодингом себе голову, к счастью, пока не забиваю, но вдруг есть какое-нибудь решение, что-то вроде помещения функции ява-скрипт в отдельный файл, а не в сам код странички регистрации, чтобы боты его не могли захавать?

 

О, надо ещё попробовать имя вызываемой функции поменять, но что-то всё равно надежд маловато... Может, сделать что-то, чтобы не так явно значение переменной было прописано? Может же скриптик какой-нибудь примерчик посчитать?

Ссылка на комментарий
Поделиться на других сайтах

Спасибо, знаем, оттуда и пришли...

 

Но всё же хочется не геморного для пользователей решения...

 

Добавлено:

 

В самой функции вместо присваивания нолика написал небольшой арифметический пример, дающий в результате ноль. Закиинул на форум. Посмотрим, умеют ли спамерские программы считать. Если нет, пусть учатся :D

Ссылка на комментарий
Поделиться на других сайтах

В самой функции вместо присваивания нолика написал небольшой арифметический пример, дающий в результате ноль.

Сильно сомневаюсь, что поможет.

Если бот сумел прочитать изменение имени скрытого инпута - значит добавлен алгоритм поиска по имени инпута джаваскриптовой функции, которая значения перезапишет. Наверняка и пример посчитать сумеет.

Но функция-то выполняется не в окне браузера, а в теле программы... Вот от этого и следует плясать.

 

Писать в открытом доступе идеи не буду - не исключено, что и правда ботописатели читают этот топик. Не вижу смысла облегчать им задачу.

 

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

Ссылка на комментарий
Поделиться на других сайтах

Ну не знаем мы их метод... Вот посмотрел исходник странички при процессе регистрации, где форму заполнять надо... ну вот оно, всё-всё-всё в исходном коде страницы есть: и все эти "hidden", и прочее...

 

З.Ы. Прошло четыре часа - полёт пока нормальный... так точно обучим спам-проги, будут всё уметь :D

З.З.Ы. Мне, наверное, пока везёт, мальчики наёмные не ходят, всё как-то боты лезут.

Ссылка на комментарий
Поделиться на других сайтах

как я уже писал, самый изощренный вид защиты - человеческий мозг

помню тогда мы с Саннисом были еще те нубы.

но он написал мод, по которому при ответе на вопросы, созданные админом, происходила Авторизация, а я прикрутил его к Регистрации

я до сих пор считаю, что на данный момент "гуманитарный" способ защиты лучше любого "технического"

Ссылка на комментарий
Поделиться на других сайтах

на данный момент "гуманитарный" способ защиты лучше любого "технического"

У меня 2 форума, на которых возможность писать гостям - обязательное требование.

Алгоритм, предложенный мной для проверке при регистрации, был сначала обкатан на проверке гостевых постов.

Ссылка на комментарий
Поделиться на других сайтах

тем не менее это алгоритм, сугубо упорядоченная последовательность действий

 

и имеет он силу до тех пор, пока не будет разгадан и пока не будет составлен алгоритм его обхода

согласись, такой исход наиболее вероятен, чем создание искусственного интелекта в близжайшем будущем

Ссылка на комментарий
Поделиться на других сайтах

Все защиты хороши, выбираем на вкус! :D

 

Если по теме - сутки как обсуждаемый в топике способ защиты в новой редакции работает на ура. Пока "боты" != "искусственный интеллект", до тех пор самая тупая бот-защита прокатит. Да, могут и заапгрейдиться, но, например, произойдёт это, например, через полгода. Ещё небольшая доработка - и снова всё нормально. Опять же, вставая на защиту именно этого приглянувшегося мне способа защиты - всё весьма просто, да плюс пользователи не страдают ни разу.

Ссылка на комментарий
Поделиться на других сайтах

тем не менее это алгоритм, сугубо упорядоченная последовательность действий

Есть ключевые моменты:

- при регистрации поля ввода информации проходят состояния фокуса и потери фокуса (онфокус и онблур);

- при вводе мейла всегда вводится символ "@"; в конце концов можно потребовать от регистрирующихся вводить мейлы с руки, запретив копипасте;

- для отправки формы регистрации требуется щелчок мышкой по кнопке.

 

Эти три действия (можно найти и другие) совершает любой живой пользователь, и не совершают боты.

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

 

Если создать алгоритм рандомной установки обработчиков при установке мода - мы получим ситуацию, когда на всех форумах будут разные алгоритмы защиты...

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.