Получение Apache 2.4 и mod_authn_dbd для работы с пользовательской базой данных Wordpress - PullRequest
0 голосов
/ 05 марта 2019

Кто-нибудь смог использовать таблицу WordPress wp_users в качестве входных данных для apache mod_authn_dbd? Раньше это работало для apache 2.2 mod_auth_mysql, который имел

Auth_MySQL_Encryption_Types PHPass PHP_MD5

но после долгих поисков я все еще не могу понять, как я могу сделать mod_authn_dbd для соответствия паролям "$ P $ B / md5", которые он получает из таблицы wp_users.

Вот базовая конфигурация, с которой я начинаю:

DBDriver mysql
DBDParams "dbname=wp_test host=127.0.0.1 port=3306 user=root pass=rootpass"
DBDMin  2
DBDKeep 4
DBDMax  10
DBDExptime 300

Alias /test /home/test/test
<Directory "/home/test/test">
    Options +Indexes
    AuthType Basic
    AuthName "Authentication required"
    AuthBasicProvider dbd
    AuthDBDUserPWQuery "SELECT user_pass as password FROM wp_users WHERE user_login = %s"
    Require valid-user
</Directory>

Я получаю ошибку

[auth_basic:error] [pid 14812] [client 192.168.0.2:57126] AH01617: user test: authentication failure for "/test/": Password Mismatch

Так что очевидно, что apache использует другой формат хеширования как wordpress - но есть ли способ сопоставить эти 2 для необходимого сравнения?

1 Ответ

1 голос
/ 09 мая 2019

На самом деле, решение состоит в том, чтобы установить плагин WP, такой как собственный хэш паролей PHP, который изменяет пароли на bcrypt, который, в свою очередь, распознается apache.

...