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

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

       Кофейня (форум)
    Продам Магазин цифровых товаров RUSSIANWMSHOP v3.0 10.05.17
    Где купить Paymer чеки за КИВИ? 16.04.17
    Автоматизация masspayment 22.03.17

       p2p
    Меняют 10000 WMU на 10000 UAH (курс:1:1) 28.06.17
    Меняют 23900 WMR на 10000 UAH (курс:2.39) 28.06.17
    Меняют 1000 WMZ на 25750 UAH (курс:25.75) 28.06.17

       WebMoney TOP
    Зарегистрирован Скрипты обменников, кредитного автомата. Продажа скриптов ввода-вывода электронных валют, банковских систем, скриптов автоматического онлайн ...
    Зарегистрирован Wm-Change.Com Обменный пункт Wm-Change.Com предоставляет услуги по выдаче наличных в г.Харьков,моментального обмен...
    Зарегистрирован PVcash Наш On-line сервис предназначен для тех, кто хочет быстро, безопасно и по выгодному курсу обменять т...

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


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