使用 PHP 的 password_hash 和 pure-ftpd

Using PHP's password_hash with pure-ftpd

我正在使用纯 ftpd 服务器实现,它被设置为从 MySQL 数据库中提取身份验证信息。看起来这个实现最初设置的方式是使用 MD5 身份验证,而且它似乎可以很好地工作。但是,MD5需要去。

因此,我希望找到一种方法使身份验证与 PHP 内置的 password_hash($password, PASSWORD_BCRYPT) 功能兼容,而不是使用 MD5。 FTP 用户的密码已经使用 password_hash() 进行了哈希处理并存储在数据库中,如果我们可以使用从中提取的哈希值通过 pure-ftpd 验证登录信息,那就太好了数据库。

我已经通读了这里的 pure-ftpd 文档:https://download.pureftpd.org/pub/pure-ftpd/doc/README.MySQL但我仍然不明白如何才能完成这项工作。

你们中有人以前用过这个吗?如果是这样,您对如何设置它有什么建议吗?

在此先感谢您的帮助!

在尝试了多种方法使它工作后,pure-ftpd 似乎默认不支持它。所以我们最终如何让它为我们工作是通过 pure-ftpd (https://download.pureftpd.org/pub/pure-ftpd/doc/README.Authentication-Modules) 中的 "AUTHENTICATION MODULES" 能力。

我们让 pure-ftpd 将提供的登录名和密码发送到一个 PHP 文件,我们用它来验证登录信息。然后我们以如下格式(如果成功)向 pure-ftpd 发回响应:

auth_ok:1 uid:xx gid:yy 目录:/home/zz/./ 结束

如果不成功,我们发送: auth_ok:0(或-1,取决于失败的原因) 结束