当用户提交登录表单时,数据会发生什么变化?

时间:2015-04-03 13:48:03

标签: php forms security encryption bcrypt

我只是想了解当用户向服务器上的PHP脚本提交登录表单时数据会发生什么?

为什么我们在服务器端脚本上对密码进行哈希或加密,而用户通过表单(我认为它的客户端脚本为HTML)以明文形式提交给服务器时,任何黑客都可以读取它?

2 个答案:

答案 0 :(得分:2)

  

当用户将登录表单提交给服务器上的PHP脚本时,数据会发生什么?

数据通过互联网从一台计算机传输到另一台计算机。没有更多,没有更少。服务器对提交的数据的处理取决于服务器。

  

为什么我们在服务器端散列或加密密码......

为了不将密码以纯文本形式存储在任何人都能看到的地方。密码是只有用户应该知道的秘密,而不是其他任何人。是的,它需要以简单的形式前往服务器,这或多或少是不可避免的。但是,服务器应该尽其所能,不要留下任何这种简单形式的痕迹。

  

...任何黑客都可以阅读。

这就是为什么每个数据提交都应该通过SSL / TLS连接来保护的原因。没有它,它确实只是电汇上的明文。在安全环境中正确设置TLS连接几乎是牢不可破的。

答案 1 :(得分:0)

你是对的,可能有一个MITM(中间人)攻击,黑客最终可以读取你的密码。这就是为什么使用HTTPS(无处不在)比保护表单提交更为可取的原因。

一些可以帮助您的参考资料:

URIs, Addressability, and the use of HTTP GET and POST

All you want to know about HTTPS