Я работаю с реализацией чистого 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 Но я все еще не понимаю, как я могу сделать эту работу.
Кто-нибудь из вас работал с этим раньше? Если да, есть ли у вас какие-либо советы о том, как это настроить?
Заранее спасибо за помощь!
После нескольких попыток заставить это работать, кажется, что чистый ftpd не поддерживает это по умолчанию. Итак, как мы в итоге заставили его работать на нас, так это через возможности «AUTHENTICATION MODULES» в pure-ftpd (https://download.pureftpd.org/pub/pure-ftpd/doc/README.Authentication-Modules).
У нас есть чистый ftpd, отправьте предоставленное имя пользователя & пароль к файлу PHP, который мы используем для аутентификации информации для входа. Затем мы отправляем ответ на чистый ftpd в следующем формате (в случае успеха):
auth_ok: 1
UID: хх
ГИД: уу
реж: / Главная / ZZ /./
конец
Если это НЕ удачно, мы отправляем:
auth_ok: 0 (или -1, в зависимости от причины сбоя)
конец
Других решений пока нет …