Форум » Координация проекта » Идеи и предложения для разработки » ХАК регистрации для защиты от ботов
Открыть Ответить

ХАК регистрации для защиты от ботов

5

5

1
19.12.2017 08:01:32 19.12.2017 08:08:11

Приветствую! Это продолжение темы https://slaed.net/index.php?name=forum&op=view&id=15579

Выкладываю вам мою реализацию. Правки в админке подойдут для любых версий системы, потому что там добавляются только поля по сути. В модуле Аккаунт не привязывал к какой либо версии. На вопросы постараюсь ответить.

АРХИВ С ХАКОМ

дублирую:
СЕКРЕТНОЕ ПОЛЕ ДЛЯ SLAED
/////////////////////////////////////////////////////////////////////////////////////////////////////
admin/modules/USERS.PHP
Находим строку функции function users_conf()
В ней добавляем поля после строки с содержимым ."<tr><td>"._MAIL_BLOCK....

PHP
	."<tr><td>"._USR_SF_ACT."</td><td>".radio_form($confu['usrsf'], "usrsf")."</td></tr>"
	."<tr><td>"._USR_SF_CLASS.":</td><td><input type=\"text\" name=\"usrsf_class\" value=\"".$confu['usrsf_class']."\" class=\"sl_conf\" placeholder=\""._USR_SF_CLASS."\" required></td></tr>"
	."<tr><td>"._USR_SF_NAME.":</td><td><input type=\"text\" name=\"usrsf_name\" value=\"".$confu['usrsf_name']."\" class=\"sl_conf\" placeholder=\""._USR_SF_NAME."\" required></td></tr>"

Находим строку функции function users_save()
В ней находим строку с содержимым $cont = array('anonym' => $_POST['anonym'], 'adirectory' => $_POST['adirectory'],...
В конец перед закрывающей скобкой добавляем:

PHP
, 'usrsf' => $_POST['usrsf'], 'usrsf_class' => $_POST['usrsf_class'], 'usrsf_name' => $_POST['usrsf_name']

/////////////////////////////////////////////////////////////////////////////////////////////////////
modules/account/INDEX.PHP
Находим строку функции function newuser()
Там находим форму регистрации.
Перед формой регистрации:

PHP
	if (!empty($confu['usrsf'])) {
		//$confu['usrsf_class']
		$usf_cl_exp = explode(",", $confu['usrsf_class']);
		$usf_cl_count = count($usf_cl_exp);
		$usf_cl = $usf_cl_exp[mt_rand(0, $usf_cl_count-1)];
				
		//$confu['usrsf_name']
		$usf_nm_exp = explode(",", $confu['usrsf_name']);
		$usf_nm_count = count($usf_nm_exp);
		$usf_nm = $usf_nm_exp[mt_rand(0, $usf_nm_count-1)];
				
		$usf_chk = array();
		foreach ($usf_nm_exp as $usf_v) {
			if (!empty($_POST[$usf_v])) $usf_chk[] = 1;
		}
	}

В форме регистрации добавляем:

PHP
.(!empty($confu['usrsf']) ? "<input type=\"text\" class=\"".$usf_cl."\" name=\"".$usf_nm."\" value=\"\">" : "")

Находим строку функции function finnewuser()
Там к прочим условия проверок и определения типов ошибок добавляем:

PHP
	if (!empty($confu['usrsf'])) {
		//$confu['usrsf_name']
		$usf_nm_exp = explode(",", $confu['usrsf_name']);
		$usf_chk = array();
		foreach ($usf_nm_exp as $usf_v) {
			if (!empty($_POST[$usf_v])) $usf_chk[] = 1;
		}
		if (!empty($usf_chk)) $stop .= _USR_SF_ERR."<br />";
	}

/////////////////////////////////////////////////////////////////////////////////////////////////////
ЯЗЫКИ

PHP
define("_USR_SF_ACT","Использовать секретное поле при регистрации?");
define("_USR_SF_CLASS","Название стиля (.класса) для секретного поля. Можно несколько через запятую.");
define("_USR_SF_NAME","Имя секретного поля. Желательно несколько через запятую.");
define("_USR_SF_ERR","Дальнейшие действия невозможны.");

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

ЗЫ
Подсветка синтаксиса режет квадратные скобки. Лучше скачайте файл с кодом...

Версия системы SLAED CMS 6.* Pro
Версия PHP 5
Сервер Сервер в интернете

Здесь молодость бродит крылато, и старость не клонит голов.

Miksar
Miksar
4.2

4.2

2
19.12.2017 20:21:00

Большое спасибо!
Интересное а главное полезное решение, думаю пригодится многим.


О сколько нам открытий чудных, Готовит просвещенья дух, И опыт, сын ошибок трудных, И гений, парадоксов друг...

SLAED CMS
SLAED CMS
3.24

3.24

3
20.12.2017 07:11:47

Не за что) Может коряво все расписал, но, думаю, разобраться не сложно )
Небольшой вклад в проект ;)


Здесь молодость бродит крылато, и старость не клонит голов.

Miksar
Miksar
4.2

4.2

4
21.12.2017 14:03:24

Спасибо

olevpa
olevpa
3.97

3.97

5
21.12.2017 15:19:10

😉

PS
Вкусовщина конечно, но смайлы бы более попсовые поставить)


Здесь молодость бродит крылато, и старость не клонит голов.

Miksar
Miksar
4.2

4.2

6
22.12.2017 21:12:36

но смайлы бы более попсовые поставить

Есть интересные примеры?


О сколько нам открытий чудных, Готовит просвещенья дух, И опыт, сын ошибок трудных, И гений, парадоксов друг...

SLAED CMS
SLAED CMS
3.24

3.24

7
23.12.2017 20:04:47

Вот: смайлы


Здесь молодость бродит крылато, и старость не клонит голов.

Miksar
Miksar
4.2

4.2

8
23.12.2017 20:07:23

7-Zip не может распаковать архив, пишет что битый.


О сколько нам открытий чудных, Готовит просвещенья дух, И опыт, сын ошибок трудных, И гений, парадоксов друг...

SLAED CMS
SLAED CMS
3.24

3.24

9
23.12.2017 20:08:09

он винраром запакован


Здесь молодость бродит крылато, и старость не клонит голов.

Miksar
Miksar
4.2

4.2

10
23.12.2017 21:52:32 23.12.2017 21:52:49

Обновил архиватор 7-Zip до версии 16.04, распаковал нормально.
Подобный пакет смайлов есть в нашем архиве файлов.


О сколько нам открытий чудных, Готовит просвещенья дух, И опыт, сын ошибок трудных, И гений, парадоксов друг...

SLAED CMS
SLAED CMS
3.24

3.24

Открыть Ответить
Хотите опробовать SLAED CMS в действии?
Идеи и предложения
Обратная связь
Подтверждение

Поделиться
QR-код

Предварительный просмотр