Openid mod авторизации для dle
Представляем вам долгожданный модуль OpenID авторизации на сайтах работающих на движке DataLife Engine.
Модуль использует Loginza.API, позволяет авторизироваться с помощью следующих систем: Google, Yandex, Mail.Ru, VKontakte, Facebook, Twitter, Loginza, myOpenID, WebMoney, Rambler, flickr, last.fm, OpenID, Mail.Ru OpenID, VeriSign, AOL, Steam.
Преимущества модуля от TCSE
– Ссылка на авторизацию работает не только из шаблона login.tpl, но так же из fullstory.tpl, addcomments.tpl
Это позволяет авторизоваться при просмотре комментариев, и что не маловажно, после авторизации откроется именно страница на которой вы хотели оставить комментарий.
– Внешнее оформление информации о возможной авторизации через OpenID может быть абсолютно иным, так как это просто ссылка на вызов виджета Loginza.
Принцип работы следующий:
– Пользователь нажимает на ссылку с текстом “Войти через OpenID” (или любым другим), затем на экране появляется окошко от Loginza.
– В окошке пользователь может выбрать подходящий способ авторизации.
– После того, как Loginza присылает ответ, на сайте либо создаётся аккаунт на основе данных, переданных OpenID сервисом, либо просто происходит авторизация, если аккаунт уже существует.
– Создание аккаунта происходит автоматически, от пользователя не требуется никаких действий. Если OpenID сервис предоставляет ссылку на аватар, он будет загружен и уменьшен.
– Если OpenID сервис прислал e-mail пользователя, на него отправляется сообщение с учётной записью пользователя (логин, сгенерированный пароль).
– Шаблон сообщения редактируется в админпанели в разделе “Шаблоны E-Mail сообщений”.
– Все пользователи, авторизированные с помощью Loginza, попадают в группу, которую можно выбрать в админпанели в разделе “Настройки системы” (“Настройки пользователей”).
– Сохраняется возможность стандартной регистрации и авторизации.
– Подробнее о системе Loginza можно прочитать на их официальном сайте: http://loginza.ru/
вместо:
достаточно строку:
$token = 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
поставить в начало файла “engine/init.php“
Открыть файл engine/modules/sitelogin.php
Найти:
$is_logged = false;}}elseif( isset( $_POST['token'] ) ) {
Заменить на:
$is_logged = false;}}}elseif( isset( $_POST['token'] ) ) {
Найти:
}}if( isset( $_POST['login'] ) and !$is_logged AND $allow_login) {
Заменить на:
}if( isset( $_POST['login'] ) and !$is_logged AND $allow_login) {
вместо:
вместо {$token} также ставите адрес своего сайта например http://site.ru/
кроме этого в самой ссылке на вызов виджета Логинзы можно указать список именно нужных для вас провайдеров OpenID
например
<a href="https://loginza.ru/api/widget?token_url=http://www.handbookbride.ru/&providers_set=vkontakte,mailruapi,yandex,google,twitter,facebook,rambler" class="loginza">Войти через OpenID</a>
где пользователям будет предложено авторизироваться через Вконтакте, Мейл.РУ, Яндекс, Гугл, Твиттер, Фейсбук или Рамблер
Авторизация на dle сайте через php как сделать?
Не пойму как сделать простой скрипт на PHP который мог бы авторизоваться на сайте DLE и вернуть всего 2 простых ответа true (Успешно) false (Провал)… Остальное сам доработаю.
Если у вас есть такой скриптик можете поделиться ?
Ах да, также я хрен его знает как там работает система шифрования паролей…
Если кто знает то желательно через авторизацию в БД делать.
Единая регистрация и авторизация на нескольких сайтах » datalife engine (dle) — система управления сайтом и контентом. официальный сайт.
Сегодня хотелось бы рассказать вам об одном из нововведении версии 5.7, а именно о том что в скрипт добавлена поддержка единой регистрации и авторизации на ваших сайтах, которые могут находится на различных доменах и работать под управлением разных копий скрипта, но при этом вашим пользователям достаточно зарегистрироваться только на одном из ваших сайтах и в дальнейшем использовать свой логин и пароль на других ваших сайтах. Единственным условием для реализации данной возможности является то, что все домены должны иметь доступ к одной и той же MySQL базе данных, в пределах одного хостера это не проблема, если хостеры разные, то MySQL сервер должен разрешать внешние подключения.
Внимание: несмотря на то что скрипт поддерживает работу с несколькими проектами, это не меняет условий лицензирования и одна лицензия выдается на один домен второго уровня, и для другого домена вам понадобится еще одна лицензия.
Итак рассмотрим более подробно как вам реализовать и использовать данную возможность:
Нам необходимо установить скрипт на основной домен, допустим http://site.ru/. Для этого делаем все как обычно, закачиваем файлы скрипта на сервер и запускаем мастер установки скрипта install.php. После того как скрипт проведет тестирование вам необходимо будет заполнить данные для доступа к MySQL серверу.
Например:
Сервер MySQL: localhost
Имя базы данных: datalife
Имя пользователя: root
Пароль: password
Эти данные вам предоставляет ваш хостер.
Следующим параметром идет Префикс, этот параметр вы можете определить и указать самостоятельно, мы например укажем: site
После того как мы успешно установили скрипт на один домен, нам необходимо установить скрипт на другой возмем для примера http://games.site.ru/. Делаем все по аналогии и данные для доступа к MySQL серверу указываем теже самые что и для первого сайта:
Сервер MySQL: localhost
Имя базы данных: datalife
Имя пользователя: root
Пароль: password
Единственным отличием является это параметр Префикс, который мы укажем другой, например укажем: games.
Итак мы получили два самостоятельных сайта http://site.ru/ и http://games.site.ru/, которые работают отдельно и между собой не связаны. Поэтому следующей нашей задачей является объединить авторизацию и регистрацию на этих сайтах. Для этого мы заходим по FTP на наш второй сайт http://games.site.ru/ и открываем файл engine/data/dbconfig.php, находим там строчку:
define ("USERPREFIX", "games");
и заменяем ее на
define ("USERPREFIX", "site");
Другими словами мы поставили для параметра
USERPREFIX
префикс от первого сайта. После этих действий ваш второй сайт будет использовать базу данных для пользователей и групп пользователей от первого сайта, а для всего остального будет использовать собственную отдельную базу данных.
Внимание: Некоторые продвинутые пользователи после этих действий решат удалить неиспользуемые в дальнейшем MySQL таблицы, но мы предостерегаем вас от этих действий, маленькие и неиспользуемые таблицы не будут вам мешать, но так как вам придется обновлять в дальнейшем каждый отдельно, то во избежания конфликтов вам нужно оставить эти таблицы, т.к. они также будут проходить процедуру обновления структуры.
Ну вот в принципе и все, как видите все достаточно просто.
Удачи вам и всего наилучшего.
Хак dle отдельная страница авторизации для сайта

Установить хак для DLEОтдельная страница авторизации для вашего сайта, просто вариант и решение, позволит вам сделать отдельную страницу на основе технологии ajax, чтобы добавить отдельную страницу авторизации пользователей площадке. Хак Отдельная страница авторизации для DLE, удобное решение, установка выполнятся просто и потребует минимум изменений.
Придется добавить файлы скрипта в свои места, login.php в папку /engine/modules/, а файл login_page.tpl в папку вашего шаблона /templates/Ваш-шаблон/.
Установка хака Отдельная страница авторизации для DLE:
Добавьте запись в файле /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 можно изменить на название страницы, но главное, чтобы название не совпадало с похожими страницами, тогда новая страница будет доступна по адресу.
P.S.1 У меня так и названа login
P.S.2 В зависимости от версий движка, код в login.php может быть немного другим, это относиться в основном к авторизации через социальные сети.
В файле login.php есть два тега
{class}
и
{btnClose}
Код автором применялся для ajax вызова формы авторизации. Назначение данных тегов не должно вызывать вопросов. Можно отредактировать на своё усмотрение, или удалить, если у Вас нету красивых модульных окошек.
if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{class}', "ajax-login" );
else $tpl->set( '{class}', "" );
if($_SERVER['REQUEST_METHOD'] == 'POST') $tpl->set( '{btnClose}', "<button type="button" class="mfp-close">×</button>" );
else $tpl->set( '{btnClose}', "" );
Обращение к странице выполняется при помощи ajax, ничем не отличается при обращение для обычного входа. На ссылку адреса страницы вы можете повесить получение формы входа, а если будет проблема с js или по ссылке кликнули средней кнопкой мыши, то откроется стандартная страница.
P.S.3
{btnClose}
Стоит добавить, автор применил скрипт Magnific Popup и там возникла проблема с добавлением кнопки , если пользователь захочет закрыть окно при установленном данном хаке, ничего не осталось, как добавить кнопку в файл шаблона. Ещё одно решение удалить её вовсе, окно само продет, если кликнуть кнопкой в пустое пространство страницы.
Стили формы и шаблоны придется выполнить самостоятельно, всё хорошего в установке.
Автор: TeraMoune
Версия datalife engine: любая
Скачать хаки DLE для изменения в лучшую сторону возможности вашего сайта, файлы с инструкцией описанной в данной статье доступны всем по следующей ссылке
other-authorization-page-dle.zip [59,87 Kb] (cкачиваний: 36)
Хак для dle ajax авторизация входа на сайт

Работает хак для DLEAjax авторизация на версии. Вот такой вариант авторизации https://dle9.com/ предлагаем, как вариант замена стандартной системы входа на сайт. Хак DLE Ajax авторизация на веб-ресурсе в всплывающем окне, при этом, при не правильном вводе пароля и логина или превышения ошибок – сообщение выходит уже в модальном окне. Как это показано на картинках ниже авторизация входа на сайт будет происходить в таком окне.
Хаки для DLE Ajax авторизация входа на сайт
Установка
1. Открываем файл index.php, ищем:
echo $tpl->result['main'];
ВЫШЕ вставляем:
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" ) {
Вставляем:
if ($_POST['ajax'] == "1") {
$_POST['login_name'] = convert_unicode( $_POST['login_name'], $config['charset'] );
$_POST['login_password'] = convert_unicode( $_POST['login_password'], $config['charset'] );
}
2.1. После:
$db->query( "UPDATE LOW_PRIORITY " . USERPREFIX . "_users set lastdate='{$_TIME}', logged_ip='" . $_IP . "' WHERE user_id='$member_id[user_id]'" );
$is_logged = TRUE;
Вставляем:
$login_message = "logged";
2.2. После:
msgbox( $lang['login_err'], $lang['login_err_1'] );
Вставляем:
$login_message = $lang['login_err_1'];
2.3. Здесь же, после:
msgbox( $lang['login_err'], $lang['login_err_2'] );
Вставляем:
$login_message = $lang['login_err_2'];
2.4. Здесь же, после:
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",{login_name:"" uname "",login_password:"" upassword "",login:"submit",ajax:"1"},function(data){
if (data == "logged") {
DLEalert("Авторизация прошла успешно", "Авторизация на сайте");
setTimeout(function() {
location.href="";
location.reload();
}, 1500);
} else {
DLEalert("" data "", "Ошибка авторизации");
}
});
}
4. Кнопка входа должна быть такого вида:
<a href="javascript://" onclick="sitelogin();return false;">Войти</a>
Спасибо за внимание 🙂
Автор: NeoLif
Единственный плюс это обработка ошибок без обновления страницы, но как правило ошибки бывают не так часто, поэтому смысл делать такой хак, который не снижает нагрузку и тем более не ускоряет работу сайта для клиента.
Идея хорошая, но исполнение на троечку.
Если стоят редиректы для index.php на основной адрес сайта – хак не работает. Так же, если мы вводим правильный пароль, выскакивает окно, мол, мы успешно авторизовались, но личный кабинет так и не появляется, приходится обновлять страницу, так что по-сути никакой прелести аякса то и нет.
Предлагаем ознакомится хак datalife engine Ajax авторизация входа на сайт
Hak-Avtorizaciya-DLE-Ajax.rar [51,07 Kb] (cкачиваний: 178)