在尝试使用Google调试我的openid实现时,我一直发现我的托管公司不允许将包含“/ id”的字符串作为GET参数传递(类似于“示例” .php?anyattribute =%2Fid“一旦URL编码)。
这很烦人,因为Google openid端点包含这个死亡词“/ id”(https://google.com/accounts/o8/id)所以我的应用每次登录Google时都会返回406错误。我联系了我的托管公司,他告诉我,出于安全考虑,这已被停用。
我肯定可以使用POST。但有人知道为什么这会导致安全问题吗?
答案 0 :(得分:4)
它不能,你的主人是愚蠢的。字符串/id
没有什么神奇之处。
有时人们会使用字符串/id
做愚蠢的事情,就像假设没有人会猜到后面的内容一样,以便example.com/mysensitivedata/id/3/
显示我的数据,因为我的用户有id
3,并且作为偷偷摸摸的排序,我想知道如果我导航到example.com/mysensitivedata/id/4/
会发生什么,并且你的网站盲目地让我看到别人的东西。
如果这种攻击破坏了您的网站,那么主办方的任何摩尔都不会帮助您。
答案 1 :(得分:1)
URL中的简单ID可能是一个安全问题的一个原因是用户可以看到他们的ID,然后键入另一个ID,例如,如果它是一个整数,他们可以选择下一个整数,并可能看到另一个用户信息,如果它没有受到保护。