Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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和MySQL中创建不带HTTPS的安全登录脚本 问题:_Php_Mysql_Http_Login_Https - Fatal编程技术网

在PHP和MySQL中创建不带HTTPS的安全登录脚本 问题:

在PHP和MySQL中创建不带HTTPS的安全登录脚本 问题:,php,mysql,http,login,https,Php,Mysql,Http,Login,Https,是在PHP和MySQL中创建安全登录脚本的好参考吗?在警告部分,作者强调代码只能与HTTPS一起使用。我不能使用HTTPS,但需要在PHP和MySQL中实现一个相对安全的登录脚本,因此我想知道该脚本是否也可以用于HTTP连接 解决了的 第三方解决方案是在PHP和MySQL中创建安全登录脚本的最佳解决方案。通过使用PHP框架(例如Symfony、uLogin)或外部各方(例如Facebook、Google),可以避免创建全新的工作登录脚本和授权(记住我的功能)。如果其他人在创建登录功能方面做了深入

是在PHP和MySQL中创建安全登录脚本的好参考吗?在警告部分,作者强调代码只能与HTTPS一起使用。我不能使用HTTPS,但需要在PHP和MySQL中实现一个相对安全的登录脚本,因此我想知道该脚本是否也可以用于HTTP连接

解决了的
第三方解决方案是在PHP和MySQL中创建安全登录脚本的最佳解决方案。通过使用PHP框架(例如Symfony、uLogin)或外部各方(例如Facebook、Google),可以避免创建全新的工作登录脚本和授权(记住我的功能)。如果其他人在创建登录功能方面做了深入的研究并获得了经验,那么使用他们的工作会更加安全和容易。

尽管您可以自己创建登录系统,但强烈建议让外部各方为您创建

这需要大量的经验才能做到正确,而且往往是错误的

虽然教程对我来说很好,但是有很多因素需要考虑,而且它似乎是半旧的。PHP5.5提供了
password\u hash
password\u verify
,我建议您按照页面的建议使用它们

因此,如果你必须建立自己的系统;考虑使用上述功能,如果你只限于PHP版本较低,则有

如果您不必制作自己的系统,请使用外部机构(谷歌、Facebook)为您处理登录,或使用具有以下功能的框架


因此,总的来说:不要试图自己去做,要利用别人在这方面的经验。因为它是难以置信的难以正确使用。

此脚本安全地加密用户在浏览器中输入的密码,并在提交表单之前清除明文密码字段,因此任何第三方都无法读取密码。在这种程度上,可以通过HTTP安全地使用脚本

但是,表单的其余数据(用户名、电子邮件地址等)没有安全发送,因此第三方(例如)只需读取表单发送的用户(未加密)个人识别信息即可识别用户。这不仅会让您的用户易受攻击,而且如果数据被嗅探/黑客攻击/窃取,对用户数据的不安全处理也会使您的雇主/客户面临法律风险

还有一个真正的风险是,中间人可能会截获传输的数据,并在托管脚本的服务器接收到数据之前对其进行修改而未被发现。HTTPS/SSL不仅保护密码,还确保数据不被篡改


正如Zartush所提到的,最好的做法是使用第三方解决方案,尤其是当您不能为自己的应用程序提供HTTPS时。

我是一名经验丰富的程序员,但我担心(正如您所提到的)页面上描述的脚本的半旧和不正确性。仅仅依靠一个源来创建这样的登录脚本肯定是不安全的。我不太喜欢使用像Google或Facebook这样的外部方,而是更愿意使用支持身份验证的框架。你推荐一个特别的吗;乌洛金呢?很多人似乎都喜欢Symfony,我以前从未听说过uLogin。这篇文章为安全登录脚本@Kvvaradha介绍了足够的安全措施:我不同意,它依赖于许多不好的或过时的做法(使用
global
、静态配置、未准备好的语句、缺少适当的passwortd哈希实用程序,以及其他一些我可以反复研究的东西)-我不会向任何人推荐本教程。