Авторизация на php dle

Рабочая авторизация на сайте через API в DLE

Не знаю, как сейчас обстоят дела со встроенным API в CMS DataLife Engine, но в релизах ветки 10.* и 11.* точно есть одна проблема. А именно – при использовании метода:

 $dle_api->external_auth($login, $password);

вместо реальной авторизации происходит простая проверка корректности логина и пароля указанного пользователя.

Очень странно, что в официальной документации этот метод описывается как «Авторизация по логину и паролю», хотя на деле, как я уже сказал ранее, происходит проверка корректности указанных данных.

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

Весьма красивое решение мне удалось найти, создавая один из своих модулей, и выглядит оно так:

 ini_set('error_reporting', 0); ini_set('display_errors', 0); define('DATALIFEENGINE', true); define('ROOT_DIR', substr(dirname(__FILE__), 0, -12)); define('ENGINE_DIR', ROOT_DIR.'/engine'); if(isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest') { include ENGINE_DIR.'/data/config.php'; require_once ENGINE_DIR.'/modules/functions.php'; include ENGINE_DIR.'/api/api.class.php'; $login = (string)$_POST['login']; // Логин пользователя $password = (string)$_POST['password']; // Пароль пользователя if($dle_api->external_auth($login, $password)) { $_POST['login_name'] = $login; $_POST['login_password'] = $password; $_POST['login'] = 'submit'; dle_session(); require_once ENGINE_DIR.'/modules/sitelogin.php'; echo ''; // Обновляем страницу после авторизации > else { echo 'Данные не верны!'; > >

В этот PHP-скрипт (обработчик, который нужно размещать в папке /engine/ajax/ вашего сайта) через AJAX передаются данные, которые проверяются на корректность авторизации (через API) и уже посредством стандартной функции CMS происходит авторизация на сайте.

Стоит отметить, что способ универсален и не зависит от версии CMS.

Читайте также:  Http www mitsubishi asx net forum viewtopic php

Если что-то вам показалось непонятным – не стесняйтесь и задавайте свои вопросы в комментариях.

Источник

Хак Отдельная страница авторизации для DLE

Хак представляет из себя отдельную страницу авторизации пользователей сайта. Установка очень проста и потребует минимум изменений.

Для начала разместите файлы в свои места, login.php в папку /engine/modules/, а файл шаблона в в папку с шаблоном /templates/skin/ Затем добавьте запись в файле /engine/engine.php ниже switch ( $do ) напишите

case "name_module" : include (DLEPlugins::Check(ENGINE_DIR . '/modules/login.php')); // Для версий движка 13 и выше. include ENGINE_DIR . '/modules/login.php'; // Для версии движка ниже 13. break;

Где name_module используйте любое название страницы но главное, чтобы оно не совпадало с другими страницами и затем новая страница будет доступна по адресу http://sitename/index.php?do=name_module

P.S.1 У меня так и названа login

P.S.2 В зависимости от версий движка, код в login.php может быть немного другим, это относиться в основном к авторизации через социальные сети.

В файле login.php есть два тега

Их я использую для ajax вызова формы авторизации. И назначение их я думаю не должно вызывать вопросов. Можете поправить по себя или удалить если у Вас нету красивых модульных окошек.

if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{class>', "ajax-login" ); else $tpl->set( '{class>', "" ); if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{btnClose>', "set( '{btnClose>', "" );

Обращение к странице при помощи ajax точно такое же как и обычный вход. На ссылку с адресом на страницу можно повесить получение формы входа, а если js дал сбой или по ссылке нажали средней кнопкой мыши то будет стандартная страница.

Чисто отсебятина, я использую скрипт Magnific Popup и там у меня проблемки с добавлением кнопки на закрытие окна, пришлось её добавить в сам шаблон. Так вот её можно не использовать и удалить вовсе.

Стилизуйте формы и шаблоны самостоятельно, Удачи в установке.

Автор: TeraMoune
Версия DLE: любая

Источник

Авторизация на php dle

Пожалуйста, используйте свои учетные данные для входа в систему.

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

  • PREMIUM РАЗДЕЛ
  • XenForo
    • XenForo релизы
    • XenForo стили
    • XenForo модификации
    • wordpress Релизы
    • wordpress Шаблоны
    • wordpress плагины
    • Скрипты рулеток
    • Скрипты магазинов
    • Скрипты соц-сети
    • Другие скрипты
    • Мониторинг
    • Автодонат
    • Релизы
    • Шаблоны
    • Модули
    • Хаки
    • Все для Gamepl
    • Все для Hostinpl
    • Все для Litepanel
    • Все для Enginegp
    • Другие панели
    • Шаблоны панелей
    • Гайды по хостингам

    FREE PLUMS

    Хак DLE Отдельная страница авторизации для сайта

    Установить хак для DLE Отдельная страница авторизации для вашего сайта, просто вариант и решение, позволит вам сделать отдельную страницу на основе технологии ajax, чтобы добавить отдельную страницу авторизации пользователей площадке. Хак Отдельная страница авторизации для DLE, удобное решение, установка выполнятся просто и потребует минимум изменений.

    Придется добавить файлы скрипта в свои места, login.php в папку /engine/modules/, а файл login_page.tpl в папку вашего шаблона /templates/Ваш-шаблон/.

    Установка хака Отдельная страница авторизации для DLE:
    Добавьте запись в файле /engine/engine.php

    case "name_module" : include (DLEPlugins::Check(ENGINE_DIR . '/modules/login.php')); // Для версий движка 13 и выше. include ENGINE_DIR . '/modules/login.php'; // Для версии движка ниже 13. break;

    Где name_module можно изменить на название страницы, но главное, чтобы название не совпадало с похожими страницами, тогда новая страница будет доступна по адресу.

    P.S.1 У меня так и названа login

    P.S.2 В зависимости от версий движка, код в login.php может быть немного другим, это относиться в основном к авторизации через социальные сети.

    В файле login.php есть два тега

    Код автором применялся для ajax вызова формы авторизации. Назначение данных тегов не должно вызывать вопросов. Можно отредактировать на своё усмотрение, или удалить, если у Вас нету красивых модульных окошек.

    if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '', "ajax-login" ); else $tpl->set( '', "" ); if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '', "set( '', "" ); 

    Обращение к странице выполняется при помощи ajax, ничем не отличается при обращение для обычного входа. На ссылку адреса страницы вы можете повесить получение формы входа, а если будет проблема с js или по ссылке кликнули средней кнопкой мыши, то откроется стандартная страница.

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

    Стили формы и шаблоны придется выполнить самостоятельно, всё хорошего в установке.

    Автор: TeraMoune
    Версия datalife engine: любая

    У вас нет доступа к скачиванию файлов с нашего сервера

    Источник

    Хак для DLE Ajax авторизация входа на сайт

    Работает хак для DLE Ajax авторизация на версии. Вот такой вариант авторизации https://dle9.com/ предлагаем, как вариант замена стандартной системы входа на сайт. Хак DLE Ajax авторизация на веб-ресурсе в всплывающем окне, при этом, при не правильном вводе пароля и логина или превышения ошибок — сообщение выходит уже в модальном окне. Как это показано на картинках ниже авторизация входа на сайт будет происходить в таком окне.


    Хаки для DLE Ajax авторизация входа на сайт
    Установка
    1. Открываем файл index.php, ищем:

    if(($_POST['login'] == "submit") AND ($_POST['ajax'] == "1")) < $tpl->result['main'] = $login_message; >

    2. Открываем engine/nodules/sitelogin.php, после:

    if( isset( $_POST['login'] ) AND $_POST['login_name'] AND $_POST['login_password'] AND $_POST['login'] == "submit" ) 
    $db->query( "UPDATE LOW_PRIORITY " . USERPREFIX . "_users set lastdate='', logged_ip='" . $_IP . "' WHERE user_id='$member_id[user_id]'" ); $is_logged = TRUE;
    msgbox( $lang['login_err'], $lang['login_err_1'] );
    $login_message = $lang['login_err_1'];
    msgbox( $lang['login_err'], $lang['login_err_2'] );
    $login_message = $lang['login_err_2'];
    msgbox( $lang['login_err'], $lang['ip_block_login'] );
    $login_message = $lang['ip_block_login'];

    3. В ваш .js файл вставляем в самый конец:

    function sitelogin()< var uname=$("input[name='login_name']").val(); var upassword=$("input[name='login_password']").val(); $.post("/index.php",,function(data)< if (data == "logged") < DLEalert("Авторизация прошла успешно", "Авторизация на сайте"); setTimeout(function() < location.href=""; location.reload(); >, 1500); > else < DLEalert(""+data+"", "Ошибка авторизации"); >>); > 

    4. Кнопка входа должна быть такого вида:

    Единственный плюс это обработка ошибок без обновления страницы, но как правило ошибки бывают не так часто, поэтому смысл делать такой хак, который не снижает нагрузку и тем более не ускоряет работу сайта для клиента.
    Идея хорошая, но исполнение на троечку.
    Если стоят редиректы для index.php на основной адрес сайта - хак не работает. Так же, если мы вводим правильный пароль, выскакивает окно, мол, мы успешно авторизовались, но личный кабинет так и не появляется, приходится обновлять страницу, так что по-сути никакой прелести аякса то и нет.

    Предлагаем ознакомится хак datalife engine Ajax авторизация входа на сайт

    Источник

    Хак DLE Отдельная страница авторизации для сайта

    Отдельная страница авторизации для сайта

    Установить хак для DLE Отдельная страница авторизации для вашего сайта, просто вариант и решение, позволит вам сделать отдельную страницу на основе технологии ajax, чтобы добавить отдельную страницу авторизации пользователей площадке. Хак Отдельная страница авторизации для DLE, удобное решение, установка выполнятся просто и потребует минимум изменений.

    Придется добавить файлы скрипта в свои места, login.php в папку /engine/modules/, а файл login_page.tpl в папку вашего шаблона /templates/Ваш-шаблон/.

    Установка хака Отдельная страница авторизации для DLE:
    Добавьте запись в файле /engine/engine.php

    case "name_module" : include (DLEPlugins::Check(ENGINE_DIR . '/modules/login.php')); // Для версий движка 13 и выше. include ENGINE_DIR . '/modules/login.php'; // Для версии движка ниже 13. break;

    Где name_module можно изменить на название страницы, но главное, чтобы название не совпадало с похожими страницами, тогда новая страница будет доступна по адресу.

    P.S.1 У меня так и названа login

    P.S.2 В зависимости от версий движка, код в login.php может быть немного другим, это относиться в основном к авторизации через социальные сети.

    В файле login.php есть два тега

    Код автором применялся для ajax вызова формы авторизации. Назначение данных тегов не должно вызывать вопросов. Можно отредактировать на своё усмотрение, или удалить, если у Вас нету красивых модульных окошек.

    if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{class>', "ajax-login" ); else $tpl->set( '{class>', "" ); if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{btnClose>', "set( '{btnClose>', "" ); 

    Обращение к странице выполняется при помощи ajax, ничем не отличается при обращение для обычного входа. На ссылку адреса страницы вы можете повесить получение формы входа, а если будет проблема с js или по ссылке кликнули средней кнопкой мыши, то откроется стандартная страница.

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

    Стили формы и шаблоны придется выполнить самостоятельно, всё хорошего в установке.

    Автор: TeraMoune
    Версия datalife engine: любая

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

    Источник

Оцените статью