2013-04-28 145 views
3

有人可以请解释为什么使用“$ _GET”密码不好?

我一直在寻找几天,现在找不到答案。谢谢!

编辑:我听说它可以被黑客入侵。 。 。这怎么可能/如何做到这一点?

+1

因为它会被存储在浏览器的历史记录中 – PeeHaa 2013-04-28 19:29:42

+3

$ _GET意味着它会像'example.com?username = joe&password = password123'这样的网址出现,任何人都可以查看网址并看到它 – 1andsock 2013-04-28 19:29:58

回答

12
  • 它使密码对于肩上的攻击可见。
  • 它使它更可能存储在日志文件中。
  • 它使它更有可能存储在缓存中 - 无论是在用户正在使用的计算机上(可能是公用计算机),也可能是浏览器的历史记录。
+0

轶事“存储在日志文件中“可能是nick.com的服务器状态页面处于打开状态,请参阅http://arstechnica.com/security/2012/11/misconfigured-apache-sites-expose-user-passwords-other-private-data/ – Hawken 2013-04-28 19:42:59

2

$ _GET函数预设为通过地址栏发送信息。这意味着它可以轻松加入书签,因此可以发送通过它发送的信息。

我建议您使用$ _POST函数,并在文档本身(例如index.php中)中包含密码处理.php文件。一旦包括它就看不见了,但它确实是工作。

0

所有$ _GET值在url查询字符串中都可见,因为它是通过url发送的。昆汀清除了其他点。 所以不要将它用于密码或敏感数据字段。