只是想知道为HTTP站点创建HTTPS登录环境是否有安全优势?
由于各种原因,使整个网站成为HTTP并不是一个真正的选择,我只是想知道,即使用户将在非HTTPS环境中操作剩余的登录时间,也值得努力提供HTTPS登录吗?
我在谷歌上搜索了一下,发现将http登录到https不是很安全,但还没能找到相反情况的可靠答案。
这种设置需要两种类型的会话数据吗?一种是包含更多私人信息的安全数据,另一种是只包含用户身份和登录信息的更基本的会话,还是只需要一段会话数据就可以安全地完成?
我试图在下面解释为什么整个网站上的HTTPS最好:
假设你在你的网站上设置了两个页面,可以通过HTTPS:使用
/login.php
/loginhandler.php
login.php
包含登录表单,用户在其中输入用户名/密码,此表单将提交给loginhandler.php
。
这样,当用户请求login.php
时,客户端网络上的任何人都不能修改此表单,因为它是通过HTTPS提供的。
您的loginhandler.php
也通过HTTPS提供服务,因此任何客户端网络上的任何人在登录时都无法看到他们发送到服务器的用户名/密码。
但是:
如果网站的其余"登录"内容不是HTTPS,攻击者将能够注入他想要的任何内容(并查看登录用户请求的所有内容)。
例如,他可能会在任何页面上注入一条"您已注销,请提供您的登录详细信息:(表单)"的消息,该表单将提交给他自己的服务器,而不是您的服务器。然后用户的密码将被泄露。
攻击者还可以在用户访问/login.php
之前向网站索引注入恶意内容,将其重定向到不同的网站,甚至更改网站上登录按钮的地址。
编辑/A关于MitM攻击的说明:
只有当攻击者能够控制网络时,中间人攻击才会起作用。这可能包括(但不限于):你的ISP、你的雇主、你的邻居(如果你连接到他的网络)等。
最后,如果攻击者想拒绝(更改)网站上的内容,他需要针对特定的网站(这当然可以自动进行,通常用于更大容量的网站)。监听数据比修改数据容易得多。
网站的登录页面绝对是通过https发送的最重要的页面之一,因为它将有助于防止用户的密码在通过登录表单提交时被拦截。