Запуск phpMyID на сервере, работающем в Safe Mode

Решение для прекрасного скрипта phpMyID (http://siege.org/projects/phpMyID), который позволяет создать OpenID сервер для стендалона.

Проблема, возникающая при запуске на сервере Apache, работающем в Safe Mode, описана в README к скрипту: сервер дописывает к Realm какое-то число (например, MyID-10580), и залогиниться на OpenID сервер не получается:

4) If your “Realm” is anything other than the string ‘phpMyID’ (like say, if it has a number after it) then make note of the value. This means that PHP is running in “safe mode,” and while I disagree with the reason *why* PHP changes the realm, there’s nothing I can do about it.
4) Если ваш “Realm ” отличается от ‘phpMyID’ (обычно добавляется какое-то число через дефис), придётся внести изменения. Это означает, что PHP работает в “Safe Mode” (безопасном режиме), и хотя я не согласен с причиной, почему PHP это делает, изменить это невозможно.

Изменение в конфигурационном файле названия сервера на MyID-10580 ничего не решает: сервер дописывает это же число ещё раз: MyID-10580-10580. Проблема аутентификации между тем проста: при получении хеша пароля нужно использовать Realm, данный сервером.

Решение

  1. Открыть конфигурационный файл http://ваш-сервер.ru/MyID.config.php;
  2. Откопировать увиденный там Realm;
  3. Использовать его при получении хеша пароля.

Самый простой способ получение md5 для phpMyID — создать файл test.php со строкой, указанной ниже, загрузить его на сервер и запустить.

<?php
               echo md5(“user: MyID-10580:pass”);
?>

Всё.

Leave a Reply

Your email address will not be published. Required fields are marked *