[Хак] Авторизация по Логину или E-mail

0
Клиент (DLE Edition)
-2
Участник
Авторизация по Логину или E-mail , позволит пользователям одновременно заходить на форум по логину и по E-mail адресу.
Автор хака: HbIXA

В /forum/components/global/login.php
Заменить:
php code:
  1. if ($cache_config['security_loginemail']['conf_value'])
  2.             $member_id = $DB->one_select( "*", "users", "password = '{$password_md2}' AND email = '{$name}'" );
  3.         else
  4.             $member_id = $DB->one_select( "*", "users", "password = '{$password_md2}' AND name = '{$name}'" );


НА:
php code:
  1. if (preg_match('/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/',$name)) $login_type = true;
  2. else $login_type = false;
  3.  
  4. if ($login_type)
  5.             $member_id = $DB->one_select( "*", "users", "password = '{$password_md2}' AND email = '{$name}'" );
  6.         else
  7.             $member_id = $DB->one_select( "*", "users", "password = '{$password_md2}' AND name = '{$name}'" );
Администратор
+ 133
Автор LogicBoard
vadims, это хорошо, но суть авторизации по почте была в том, что при попытке взлома вам нужно сначала узнать email пользователя, когда как логин уже известен всем. Поэтому я не рекомендовал совмещать эти способы.
Команда
+ 44
Активный участник
update, version 4

Файл
/components/class/Member.php

Найти
if (!$_POST['name']) $errors[] = $this->lang['no_name'];

Вставить после
if (CheckData::Email($_POST['name'])) $login_mail = true; else $login_mail = false;

Найти
!$cache_config['security_loginemail']['conf_value']

Заменить 2 раза на
!$login_mail
Прикрепленная картинка

Клиент (DLE Edition)
-2
Участник
HbIXA (11.04.2015, 06:34) писал:update, version 4
Спасибо! Работает! 
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.