о 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 без ввода логина и пароля.
    группа: Материалы
    категории: Сервисы | Программинг |
    прочтений: 10097
    Если Вам понравилась статья, подпишитесь на оповещения:

    Комментарии (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 [3]
    ВОПРОС: Долго не пользовался своей симкой. Номер заблокирован, восстановлению не подлежит. Как востановить доступ к кошельку?
    Автомобилистам на заметку: как оплатить штраф по 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 [1]
    WebMoney предоставила возможность работы с кошельком, номинированным в молдавских леях. Однако, кошелек этот не совсем обычный.Во-первых, кошелек созд...
    В обновленных Киперах появились регулярные платежи 04.08.16
    Обновилась вся линейка мобильных Киперов (iOS, Android, Windows Phone, MacOs X и BlackBerry OS 10), а также браузерный Keeper Standard.Главное новшест...

       Кофейня (форум)
    Проблема с Кипером WinPro версии 3.9.9.8 01.12.16
    Работает ли корректно в данный момент Х19? 30.11.16
    НБУ объяснил запрет электронных денег 08.11.16

       p2p
    Меняют 26260 UAH на 1000 WMZ (курс:26.26) 08.12.16
    Меняют 50000 WMZ на 49500 USD (курс:+1%) 08.12.16
    Меняют 99200 UAH на 100000 WMU (курс:-0.8%) 08.12.16

       WebMoney TOP
    Зарегистрирован Обмен24 Ввод/Вывод WebMoney, ЯД, QIWI на Privat24, СберБанк, АльфаБанк, ТКСБ и другие. Быстрая обработка зая...
    Зарегистрирован Green Cash Обменный пункт WebMoney в Москве. Ввод/вывод WebMoney на выгодных условиях. Работаем 7 дней в неделю...
    Зарегистрирован Bestchange.ee Ввод и вывод WM в Эстонии и Европе. Карты (чеки Paymer), высылаем на e-mail. Оплату принимаем на бан...

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


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