安全性:通过URL强制执行GET请求?

时间:2010-07-04 15:49:36

标签: authentication url security http-method

如果我要创建一个以下列方式处理登录的应用程序,我的问题应该是什么:

http://api.myApp.example/printSomething/username/password/

与基于POSTed用户详细信息(用户名+密码)的普通登录页面相比,它有多不安全?有区别吗?

由于

3 个答案:

答案 0 :(得分:11)

根本不要这样做。使用POST方法代替。 您绝不应在网址中允许敏感信息。

答案 1 :(得分:10)

不同之处在于密码在地址栏中可见,并且用户从您的站点进入的任何站点都可以在REFERER标题中看到用户的密码。

答案 2 :(得分:2)

实际上,这并没有什么区别,只是让攻击者更容易一步到位。

网址经常保存在浏览器历史记录,日志等中,这意味着有权访问浏览器(或有权访问该网址)的任何人都能够看到用户名和明文密码。

<强>更新

关于问题的标题并澄清我的答案:

GETPOST请求都可以轻松利用来进行暴力攻击。使用GET,您可以让攻击者更容易手动执行此操作,但大多数情况下这些都是自动攻击,即执行这些请求的应用程序因此使用的HTTP方法完全无关紧要。

您永远不能通过选择一种HTTP方法来阻止暴力攻击。
你必须在服务器端做这样的事情,例如限制一个IP每分钟的访问次数。