1

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

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

我已阅读此处的纯 ftpd 文档:https ://download.pureftpd.org/pub/pure-ftpd/doc/README.MySQL 但我仍然不明白如何使这项工作。

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

在此先感谢您的帮助!

4

1 回答 1

1

在尝试了多种方法来完成这项工作后,pure-ftpd 似乎默认不支持此功能。因此,我们最终如何使它为我们工作是通过 pure-ftpd ( https://download.pureftpd.org/pub/pure-ftpd/doc/README.Authentication-Modules ) 中的“身份验证模块”功能。

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

auth_ok:1 uid:xx gid:yy dir:/home/zz/./ end

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

于 2017-04-20T16:56:05.243 回答