о WebMoney
Информационный портал о WebMoney
  
  
подписка  
реклама здесь 
обратная связь 
  Материалы      Вопросы и ответы     Курс обучения      Файлы
 Кофейня      WebMoney TOP      p2p      WM-Клуб      Гид   
о WebMoney / Материалы / Авторизация в WordPress с помощью WM Login

Авторизация в WordPress с помощью WM Login

© Шпак Андрей, 19.12.2009 7 WMZ

моя оценка:
[средняя: 5]

Многим пользователям интернета знакома Blog-CMS WordPress. Некоторым она нравится тем, что имеет большое количество шаблонов и плагинов, но ещё ни разу я не видел, чтобы к ней был создан модуль авторизации с помощью WebMoney Login. Сегодня я взялся исправить это маленькое упущение.


Многим пользователям интернета знакома Blog-CMS WordPress. Некоторым она нравится тем, что имеет большое количество шаблонов и плагинов, но ещё ни разу я не видел, чтобы к ней был создан модуль авторизации с помощью WebMoney Login. Сегодня я взялся исправить это маленькое упущение.

Решение тестировалось на WordPress последней версии 2.8.6. Результат проделанной работы доступен для скачивания здесь.

1 шаг

Создаем в базе таблицу с названием "префикс_wm-auth" следующим sql-запросом:

CREATE TABLE `префикс_wm-auth` (`wmid` text NOT NULL, `login` text NOT NULL, `password` text NOT NULL);

Добавление данных происходит следующим sql-запросом:

INSERT INTO `префикс_wm-auth` VALUES ('wmid', 'login', 'password');

где:
  • wmid – WM-идентификатор, к которому прикрепляется аккаунт;
  • login, password – это авторизационные данные пользователя.

    Данные для подключения к базе данных берутся из конфигурационного файла wp-config.php.

    Для большего удобства можно добавить форму для прикрепления логина и пароля к определенному WMID в файл wp-login.php.

    2 шаг

    Для случаев, когда возникают ошибки в пользовательских данных, исправим 97-98 строчки в файле wp-login.php:

    С:
    if (!empty($errors)) echo '<div id="login_error">' . apply_filters('login_errors', $errors) . "</div>\n";
    На:
    if (!empty($errors)){ echo '<div id="login_error">'; if ($_POST['message']){ echo '<p align="justify">Возможно указанные Вами данные для авторизации по WMID устарели, попробуйте обновить их.</p>'; }else{ echo apply_filters('login_errors', $errors); } echo "</div>\n"; }

    Хочу заметить, что исправлять все файлы необходимо с помощью специального редактора, либо после исправления файла преобразовывать в кодировку UTF-8 без BOM.

    3 шаг

    Для отображения ссылки на авторизацию с помощью WM Login добавим строку 3 раза (для форм: вход, регистрация, напоминание пароля) в файле wp-login.php.

    Вместо:
    <p id="nav">
    Установим:
    <p id="nav"><a href="/auth_wm.php">WM.Login</a> |

    4 шаг

    Теперь необходимо отредактировать 30, 37 и 64 строки в файле auth_wm.php.

    Как же все-таки проходит процесс авторизации с помощью WM Login?



    При переходе на страницу WM Login (auth_wm.php) делается редирект на страницу авторизации сервиса WebMoney Login, после успешной авторизации совершается переход обратно на страницу auth_wm.php, где проходит три стадии проверки.

    Проверка:
  • указанного в настройках urlID на соответствие с urlID для которого проходит авторизация;
  • по регулярному выражению правильности полученного тикета;
  • наличия тикета в WM Login.

    Если все три стадии пройдены без единой ошибки, то скрипт совершает запрос к базе данных для получения логина и пароля для данного WMID.



    Если к запрашиваемому WMID:
  • нет данных, то делаем редирект на WM Login.
  • есть данные, то выдаем страницу с кнопкой для входа в панель, при нажатии на кнопку происходит передача авторизационных данных методом POST.

    Теперь Вы можете входить в свой личный блог с помощью WM Login без ввода логина и пароля.
    группа: Материалы
    категории: Сервисы | Программинг |
    прочтений: 10474
    Если Вам понравилась статья, подпишитесь на оповещения:

    Комментарии (5)
    DKameleon 19.12.09 17:25 #
    +5
    Гениально!
    SpAnd 19.12.09 17:50 #
    Спасибо за 5-ку

    Я изначально думал сделать только поле wmid в стандартной таблице, для того что бы использовать уже имеющиеся значения, и устанавливать их в куки, но вот не все так просто оказалось. Пролез весь файл где указано, что и как устанавливать, но без значения пароля повторить то же самое с уже имеющимся хэшем (хранящимся в базе), который несколько раз хеширован мне не удалось.

    Так люблю "Наунет СП", что первый такой модуль был сделан для панели управления - http://www.plati.ru/asp/pay.asp?idd=881884 http://www.plati.ru/asp/pay.asp?idd=881884. А из-за такой большой и крепкой любви, решил продавать его
    Jason Bourne 04.01.11 18:46 #
    Файл плагина недоступен, можете выложить еще раз?
    Ilnur 20.05.11 19:00 #
    Перезалейте пожалуйста
    gern 14.11.12 19:15 #
    дайте плыз ссылку на плагин

    введите этот код
    Мое имя:
    я не зарегистрирован и не хочу
    это моё зарегистрированное имя
    хочу зарегистрировать это имя
    Email:      
     оповещать об ответах
  •    Что нового почитать?
    Мой номер телефона утерян и не подлежит восстановлению. Как быть? 06.10.16 [4]
    ВОПРОС: Долго не пользовался своей симкой. Номер заблокирован, восстановлению не подлежит. Как востановить доступ к кошельку?
    Автомобилистам на заметку: как оплатить штраф по WM 04.10.16
    Сегодня мы хотим напомнить о возможностях, которые существуют в WebMoney для оплаты штрафов ГАИ и дорожных сборов. Если неприятность всё же произошла ...
    На WebMoney Merchant можно принимать Биткоины 30.09.16 [5]
    Если вы на вашем сайте принимаете WebMoney и делаете это через WebMoney Merchant, то для вас есть хорошая новость. Теперь с вами смогут рассчитаться т...
    Муравей-бот отвечает на вопросы о WebMoney в Telegram 27.09.16
    WebMoney запустил интеллектуального бота-помощника для мессенджера Telegram. Он постарается понять ваш вопрос и дать на него ответ.Для начала, разбере...
    Автоплатежи помогут не забыть об оплате 27.09.16
    В WebMoney Keeper, а также в личный кабинет Telepay добавлена опция автоплатежа для 3х крупнейших мобильных операторов России: Билайна, МТС и Мегафона...
    Новая библиотека для платформы .Net 14.09.16
    Разработчикам будет полезно узнать, что выпущена новая версия библиотеки для работы с XML-интерфейсами WebMoney для платформы Microsoft .Net.В ней реа...
    WebMoney пришла в Молдову 14.09.16 [4]
    WebMoney предоставила возможность работы с кошельком, номинированным в молдавских леях. Однако, кошелек этот не совсем обычный.Во-первых, кошелек созд...
    В обновленных Киперах появились регулярные платежи 04.08.16
    Обновилась вся линейка мобильных Киперов (iOS, Android, Windows Phone, MacOs X и BlackBerry OS 10), а также браузерный Keeper Standard.Главное новшест...

       Кофейня (форум)
    Где купить Paymer чеки за КИВИ? 16.04.17
    Автоматизация masspayment 22.03.17
    Продам премиум домен для кредитного сайта 21.02.17

       p2p
    Меняют 10000 UAH на 22600 Qiwi (курс:2.26) 28.04.17
    Меняют 25700 UAH на 1000 WMZ (курс:25.7) 28.04.17
    Меняют 300000 WMR на 134530 UAH (курс:2.23) 28.04.17

       WebMoney TOP
    Зарегистрирован PVcash Наш On-line сервис предназначен для тех, кто хочет быстро, безопасно и по выгодному курсу обменять т...
    Зарегистрирован ЧANGE.ME Выгодный обмен PayPal, WebMoney, Яндекс.Денег, QIWI и других валют....
    Зарегистрирован Changedanger.com Сервис денежных обменов Changedanger.com Почему именно мы? Хороший вопрос, на который имеется очень ...

       WM-Клуб
    Присоединился Василий Галанов
    Присоединился Николай Метлюк
    Присоединился Евгений Кудрявцев


     
    Все права на материалы, опубликованные на owebmoney.ru, охраняются в соответствии с законом об авторском праве. Разрешено копирование без согласования при условии указания гиперссылки на сайт (без атрибута nofollow и сокрытий) непосредственно до\после материала.