SSL iframe中的用户身份验证

时间:2011-05-10 13:39:44

标签: php html security login

我的网络应用程序受到越来越多的关注,我需要提供额外的安全措施来保护我的客户。

我认为最大的问题是用户登录数据是以纯文本形式发送的。我对这个问题的目标是辨别以下方法是否有所改进。

在扩展中,我需要为我的服务获取专用服务器。这个提出的解决方案是暂时的。

我目前正在共享主机Web服务器上运行我的Web应用程序,该服务器仅通过自己的域提供SSL。

http://mydomain.com

相当于

https://mydomain-com.secureserver.com

我的想法是:

http://mydomain.com/login.php

... iframe在安全服务器上打开一个页面,如下所示:

<iframe src="http://mydomain-com.secureserver.com/ssllogin.php"></iframe>
  • 我验证了用户身份 ssllogin.php with(hashed +(per 基于用户的随机盐渍)) 来自数据库的密码。
  • 在适当的会话重新生成后,设置验证身份验证的会话。
  • 然后以http://mydomain.com
  • 以某种方式转移和验证此会话

这种方法甚至可以实现吗?这会改善我的登录安全性,还是只是将攻击者的“密码拦截点”移到另一个实例?

感谢所有反馈。

1 个答案:

答案 0 :(得分:3)

您不需要iframe。只需将登录表单的操作指向https://yourdomain.com/login.php即可。在那里你可以检查用户和&amp;密码正确,然后再次重定向到普通的http。

但是这不是100%安全的。您发送用户的事实&amp;通过https密码可以防止攻击者或嗅探器获得该密码。但是如果你以后恢复为普通的http,则攻击者/嗅探器可能会劫持任何登录用户的会话,嗅探该用户的会话cookie。

如果你想要更多的安全性(不是100%,但比上一个选项更多),请始终保持https,对于所有资源(css,js,图像,不仅仅是你的php / html文件),甚至服务于登录页面通过https。

有关这些要点的一些推理,请参阅firesheep(针对劫持会话问题)或最近tunisian gov't attack的突尼斯facebook / yahoo / gmail用户(通过https提供登录页面)。

编辑:抱歉,我误解了您的问题。如果SSL域与not-ssl域不同,则可能会出现问题,因为会话cookie仅对相同的域或子域起作用。因此,如果您执行登录并从https://yourdomain.secure-server.com发送会话cookie,它将仅由浏览器发送回yourdomain.secure-server.com(如果愿意,则为* .secure-server.com),但不是你的域名网站。我认为可以使通配符cookie对所有* .com子域有效,但最好不要这样做(你想要将用户的会话cookie发送到evil.com吗?)