Авторизация по почте
Категория: Хаки
Данный хак предназначен значительно улучшить безопасность на Вашем сайте.
Благодаря тому, что почту пользователя никто, кроме администрации, не видет - хакеру сложно будет подобрать пароль к аккаунту, даже если у него уже есть пароль, он не сможет узнать почту пользователя, просто просмотрев сайт и профиль пользователя.
Сам хак прост в установке, всего редактируется 3 файла. Его можно отключить в настройках движка.
Авторизация по почте также работает при входе в админку.
Установка:
Манипуляции над файлом /engine/inc/options.php
Найти:
Добавить ниже:
Манипуляции над файлом /engine/modules/sitelogin.php
Найти:
if( !preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['login_name']) AND $allow_login) {
Заменить на:
Найти:
Заменить на:
Манипуляции над файлом /engine/inc/include/functions.inc.php
Найти:
Заменить на:
Найти:
Заменить на:
Автор: ShapeShifter
Благодаря тому, что почту пользователя никто, кроме администрации, не видет - хакеру сложно будет подобрать пароль к аккаунту, даже если у него уже есть пароль, он не сможет узнать почту пользователя, просто просмотрев сайт и профиль пользователя.
Сам хак прост в установке, всего редактируется 3 файла. Его можно отключить в настройках движка.
Авторизация по почте также работает при входе в админку.
Установка:
Манипуляции над файлом /engine/inc/options.php
Найти:
Code
showRow( $lang['opt_sys_ut'], $lang['opt_sys_utd'], makeDropDown( array ("0" => $lang['opt_sys_reg'], "1" => $lang['opt_sys_reg_1'] ), "save_con[registration_type]", "{$config['registration_type']}" ) );
Добавить ниже:
Code
showRow( "Использовать почту вместо логина:", "Использовать почту вместо логина при авторизации?", makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[authorization_email]", "{$config['authorization_email']}" ) );
Манипуляции над файлом /engine/modules/sitelogin.php
Найти:
Code
if( !preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['login_name']) AND $allow_login) {
Заменить на:
Code
if( ((!preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $_POST['login_name']) AND !$config['authorization_email']) OR ( strlen($_POST['login_name']) <= 50 AND count(explode("@", $_POST['login_name'])) == 2 AND $config['authorization_email'])) AND $allow_login) {
Найти:
Code
$member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users where name='{$_POST['login_name']}' and password='" . md5( $_POST['login_password'] ) . "'" );
Заменить на:
Code
$where = "name='{$_POST['login_name']}'";
if ($config['authorization_email'])
$where = "email='{$_POST['login_name']}'";
$member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users where ".$where." and password='" . md5( $_POST['login_password'] ) . "'" );
if ($config['authorization_email'])
$where = "email='{$_POST['login_name']}'";
$member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users where ".$where." and password='" . md5( $_POST['login_password'] ) . "'" );
Манипуляции над файлом /engine/inc/include/functions.inc.php
Найти:
Code
if( $username == "" or preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $username ) or $md5_password == "" ) return false;
Заменить на:
Code
if ($username == "" OR $md5_password == "")
return false;
if (preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $username) AND (!$config['authorization_email'] OR !$post))
return false;
if ((strlen($username) > 50 OR count(explode("@", $username)) != 2) AND $config['authorization_email'] AND $post)
return false;
return false;
if (preg_match( "/[\||\'|\<|\>|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\+]/", $username) AND (!$config['authorization_email'] OR !$post))
return false;
if ((strlen($username) > 50 OR count(explode("@", $username)) != 2) AND $config['authorization_email'] AND $post)
return false;
Найти:
Code
$member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users WHERE name='$username' and password='$md5_password'" );
Заменить на:
Code
$where = "name='{$username}'";
if ($config['authorization_email'])
$where = "email='{$username}'";
$member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users where ".$where." and password='".$md5_password."'" );
if ($config['authorization_email'])
$where = "email='{$username}'";
$member_id = $db->super_query( "SELECT * FROM " . USERPREFIX . "_users where ".$where." and password='".$md5_password."'" );
Автор: ShapeShifter
Сейчас вы просматриваете файл Авторизация по почте, который находится в категории файлов Хаки. Данный файл Авторизация по почте вы сможете скачать бесплатно и без регистрации и конечно же без различных смс. Данный файл на сайте является самым лучшим, поэтому его скачивают и рекомендуют как лучший файл.
Всего комментариев: 0 | |