Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
共享主机的密码安全性(PHP 5.2+;)_Php_Security_Shared Hosting - Fatal编程技术网

共享主机的密码安全性(PHP 5.2+;)

共享主机的密码安全性(PHP 5.2+;),php,security,shared-hosting,Php,Security,Shared Hosting,我正在开发一些打算部署到用户服务器上的PHP——可能是廉价/共享主机(意味着最低公分母PHP5.2,不需要修改PHP安装)。通过PHP5.2的可安装扩展,密码哈希似乎是bcrypt或scrypt 我一直在考虑使用一个迭代的SHA-512和一个强大的每用户salt,但它听起来不像是真的与bcrypt/scrypt相比 如果不能够修改基本PHP安装,我有哪些选项可以实现强大的密码安全性?我想说的第一件事是不应该考虑PHP 5.2。它在将近两年前被宣布为生命的终结,并且在那个时候没有任何安全补丁,所以

我正在开发一些打算部署到用户服务器上的PHP——可能是廉价/共享主机(意味着最低公分母PHP5.2,不需要修改PHP安装)。通过PHP5.2的可安装扩展,密码哈希似乎是bcrypt或scrypt

我一直在考虑使用一个迭代的SHA-512和一个强大的每用户salt,但它听起来不像是真的与bcrypt/scrypt相比


如果不能够修改基本PHP安装,我有哪些选项可以实现强大的密码安全性?

我想说的第一件事是不应该考虑PHP 5.2。它在将近两年前被宣布为生命的终结,并且在那个时候没有任何安全补丁,所以任何仍然使用它的主机显然都不会认真对待安全问题。这些天你应该把5.3作为最小版本。

没有密码

PHP的下一个版本(v5.5)将内置一组函数,提供标准化的密码哈希。这样做的目的是彻底摆脱任何在PHP中使用糟糕密码的借口。此版本发布后,这将是唯一推荐的处理密码的方法

同时,您可以下载一个兼容性库,该库为当前的PHP版本实现相同的功能。从这里下载:

我的建议是使用这个库,它包含在
if(function_exists())
包装中。这样,您就可以使用最佳实践,并在5.5发布时准备好使用内置函数

另见:供参考


希望这会有所帮助。

如对原始问题的评论中所述,PBKDF2的PHP<5.2实现可在以下站点获得


PBKDF2可以说是比bcrypt/scrypt更好的选择,经过更深入的研究和测试。

请记住,安全性需要根据应用程序进行扩展。如果您正在编写一个小型的100用户程序,甚至是一个内部小型企业工具,那么可能不值得花时间编写企业级安全代码。在我看来,在大多数情况下,含盐的SHA-512是非常安全的。不过,也要注意跨站点的废话!同意先前的评论。人们往往做得太多,尤其是在这个地区。phpBB2多年来一直使用MD5。。。您认为有多少与哈希相关的问题?我的用例可能不需要企业级安全性。:)然而,我认为这个问题的答案对某些人来说可能是有价值的。如果任何人想要一个好的答案,他们都会有时间去寻找:关于密码安全性的一些知识:(包括PBKDF2的PHP实现)这个库要求PHP>=5.3.7。