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

    Комментарии (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.Главное новшест...

       Кофейня (форум)
    Продам премиум домен для кредитного сайта 21.02.17
    СРОЧНО продается обменный пункт 21.02.17
    Куплю WMR по Безналичному расчету с юр. лица 16.02.17

       p2p
    Меняют 40200 UAH на 1500 WMZ (курс:26.8) 22.02.17
    Меняют 100000 UAH на 101500 WMU (курс:-1.5%) 22.02.17
    Меняют 529000 UAH на 20000 WMZ (курс:26.45) 22.02.17

       WebMoney TOP
    Зарегистрирован Сервис обмена электронных валют InCash24 Наш On-line сервис предназначен для тех, кто хочет быстро, безопасно и по выгодному курсу обменять т...
    Зарегистрирован КазОбмен.ру Выгодный обмен WMR, WMZ на Qiwi, Halyk Bank, Qazkom и другие банки....
    Зарегистрирован Обмен24 Ввод/Вывод WebMoney, ЯД, QIWI на Privat24, СберБанк, АльфаБанк, ТКСБ и другие. Быстрая обработка зая...

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


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