DLE – защита от регистрации ботов с помощью чекбокса

Веб разработка » CMS DLE
DLE — защита от ботов установкой чекбокса
DLE — защита от ботов установкой чекбокса

Когда-то экспериментировал со скрытием файла капчи от ботов, но нашел совсем иной способ защиты. А на этот раз еще одно нехитрое решение

Откопал в сети еще один занятный способ защиты от автоматической регистрации ботов. Метод основан на том, что боты, как хочется верить, не умеют ставить галочки, а лишь заполняют формы. А мы как раз и добавим такую галочку…

Для завершения регистрации нужно будет отметить поле просто щелкнув по нему. Если этого не сделать, то скрипт бьет ошибку и обрывает регистрацию.

DLE — защита от ботов установкой чекбокса

DLE — защита от ботов установкой чекбокса

Шаблон register.tpl

Открываем файл шаблона registration.tpl и внутрь метатегов:

[registration]
<!-- code -->
[/registration]

добавляем следующий код:

<input type="checkbox" name="checkbot" value="1">
DLE — редактирование шаблона страницы регистрации
DLE — редактирование шаблона страницы регистрации

PHP Модуль register.php

Открываем engine/modules/register.php и примерно на 30-40 строке находим начало функции:

function check_reg($name, $email, $password1, $password2, $sec_code = 1, $sec_code_session = 1) {
	global $lang, $db, $banned_info, $relates_word, $config;
	$stop = ""; 

и сразу под этим кодом вставляем следующий:

if (!$_POST['checkbox']){	

	    $stop .= "<li>Проверка на бота не пройдена</li>";
	
	}
 DLE — редактирование php модуля регистрации
DLE — редактирование php модуля регистрации