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

    Комментарии (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 [6]
    ВОПРОС: Долго не пользовался своей симкой. Номер заблокирован, восстановлению не подлежит. Как востановить доступ к кошельку?
    Автомобилистам на заметку: как оплатить штраф по 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.Главное новшест...

       Кофейня (форум)
    Меняюсь. Нужны ePayments USD и Capitalist RUB 12.07.17
    Кому для бизнеса нужен домен WM.MK - обращайтесь 11.07.17
    Продам автоматическую биржу кредитования Вебмани 05.07.17

       p2p
    Меняют 15000 Qiwi на 15150 WMR (курс:-1%) 19.08.17
    Меняют 1500 WMZ на 38025 UAH (курс:25.35) 19.08.17
    Меняют 1000 WMZ на 1008 Perfect USD (курс:-0.8%) 19.08.17

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

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


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