从HTTP上的表单发送密码到HTTPS上的PHP脚本

时间:2011-03-09 16:59:39

标签: php http login https

我的HTTP主页上有一个登录表单。我希望用户在那里输入用户名和密码(作为快捷方式),然后通过HTTPS将变量发送到我的登录脚本。

这样做是否足够安全?我真的不希望主页在HTTPS上运行,并且除了安全变量传输之外,它使得事情变得更慢而没有任何好处,如果我的术语在这里是错误的,我会道歉。

建议将不胜感激。

//编辑:

在插入数据库之前,所有密码都使用SHA1和散列盐[sha1(密码).sha1(salt))]进行哈希处理,这将在HTTPS上的登录脚本上进行,然后再根据数据库密码进行身份验证

3 个答案:

答案 0 :(得分:5)

只需将表单中的action参数更改为您要访问的HTTPS网址:

<form action="https://www.example.com/login.php">

数据将使用HTTPS协议发送到此网址。这假设您使用“普通”提交按钮而不是某种自定义方式来发送表单。

编辑:根据其他答案的建议,一旦记录,所有流量必须在HTTPS中完成,以避免cookie被盗或其他问题。只有主页未记录才能通过HTTP安全访问,一旦用户输入了任何登录信息,后续流量必须加密

答案 1 :(得分:3)

我的建议是,如果你想加密用户名/密码,你也应该关心加密流量。例如,您如何通过用户登录来维护状态?会议?这依赖于cookie,如果有人拦截session_id,他们可以冒充登录用户。所以基本上,如果有人足够小心拦截你的用户名和密码,他们会非常小心地嗅到纯文本cookie,并获得相同的结果。

答案 2 :(得分:2)

是的 - 表单的操作应指向https://blah.blah ...

然后协议规定浏览器启动连接,交换加密密钥,加密数据并最终发送。

您在公开页面上发布到安全页面的事实无关紧要。