我只是想了解当用户向服务器上的PHP脚本提交登录表单时数据会发生什么?
为什么我们在服务器端脚本上对密码进行哈希或加密,而用户通过表单(我认为它的客户端脚本为HTML)以明文形式提交给服务器时,任何黑客都可以读取它?
答案 0 :(得分:2)
当用户将登录表单提交给服务器上的PHP脚本时,数据会发生什么?
数据通过互联网从一台计算机传输到另一台计算机。没有更多,没有更少。服务器对提交的数据的处理取决于服务器。
为什么我们在服务器端散列或加密密码......
为了不将密码以纯文本形式存储在任何人都能看到的地方。密码是只有用户应该知道的秘密,而不是其他任何人。是的,它需要以简单的形式前往服务器,这或多或少是不可避免的。但是,服务器应该尽其所能,不要留下任何这种简单形式的痕迹。
...任何黑客都可以阅读。
这就是为什么每个数据提交都应该通过SSL / TLS连接来保护的原因。没有它,它确实只是电汇上的明文。在安全环境中正确设置TLS连接几乎是牢不可破的。
答案 1 :(得分:0)
你是对的,可能有一个MITM(中间人)攻击,黑客最终可以读取你的密码。这就是为什么使用HTTPS(无处不在)比保护表单提交更为可取的原因。
一些可以帮助您的参考资料: