2017-04-11 71 views
1

我用纯ftpd的服务器的实现,是建立从MySQL数据库中提取信息的认证工作。它看起来像这个实现最初设置的方式是使用MD5身份验证,并且它似乎适用于此。但是,MD5需要去。使用PHP的password_hash纯-ftpd的

因此,而不是使用MD5,我希望能找到一种方法,使PHP的内置password_hash($密码,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)中的“AUTHENTICATION MODULES”功能实现的。

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

auth_ok:1 UID:XX GID:YY 目录:/家庭/ ZZ /./ 结束

如果没有成功,我们派: auth_ok:0(或-1,根据不同的原因,它失败) 结束