Использование PHP password_hash с чистым ftpd
Я работаю с реализацией чистого ftpd-сервера, которая настроена на получение аутентификационной информации из базы данных MySQL. Похоже, способ, которым изначально была реализована эта реализация, заключался в использовании аутентификации MD5, и, похоже, с этим хорошо работает. Тем не менее, MD5 должен идти.
Поэтому вместо использования MD5 я надеюсь найти способ сделать аутентификацию совместимой со встроенной в PHP функциональностью password_hash($password, PASSWORD_BCRYPT). Пароли пользователей FTP уже хэшируются и хранятся в базе данных с помощью password_hash(), и было бы здорово, если бы мы могли аутентифицировать информацию для входа в систему через pure-ftpd, используя хеши, которые извлекаются из базы данных.
Я прочитал документацию по чистому ftpd здесь: https://download.pureftpd.org/pub/pure-ftpd/doc/README.MySQL Но я все еще не понимаю, как я могу заставить эту работу работать.
Кто-нибудь из вас работал с этим раньше? Если да, есть ли у вас какие-либо советы о том, как это настроить?
Заранее спасибо за помощь!
1 ответ
После нескольких попыток заставить это работать, кажется, что чистый ftpd не поддерживает это по умолчанию. Итак, как мы в итоге заставили его работать на нас, с помощью возможностей "МОДУЛИ АУТЕНТИФИКАЦИИ" в pure-ftpd ( https://download.pureftpd.org/pub/pure-ftpd/doc/README.Authentication-Modules).
У нас есть чистый ftpd, отправляющий предоставленное имя пользователя и пароль в файл PHP, который мы используем для аутентификации информации для входа. Затем мы отправляем ответ на чистый ftpd в следующем формате (в случае успеха):
auth_ok: 1 uid: xx gid: yy dir: / home / zz /./ end
Если это НЕ удачно, мы отправляем: auth_ok:0 (или -1, в зависимости от причины сбоя) end