【发布时间】:2015-04-19 00:33:53
【问题描述】:
对于那些经常构建 Web 应用程序的人来说,您会知道在某些时候您需要发送一些 URL 参数。
这些参数的值甚至可能很敏感,可能会被滥用。
例如,用户 1 想要查看用户 2,因此 URL 可能是
http://www.example.com/User/2
这很好用,代码中的URL参数也很容易读取。
但是这会导致一个问题:如果用户 1 没有访问用户 2 的权限,那么用户 1 可以很容易地在他的浏览器中输入这个 URL。通常,当您想避免访问时,您会使用某种形式的访问控制(如 ACL),但是我的问题是,在数据敏感的情况下,将 URL 字符串也变成编码字符串会更好吗?
LinkedIn 就是一个很好的例子。这是一个我认为是编码参数的 URL:
https://www.linkedin.com/hp/?dnr=wxTvRoX8KGA5n3H4yxFpQfGTcdpfl3PW5Ab5
是否有任何关于何时要编码的规则?你应该总是使用编码字符串吗?
【问题讨论】:
-
我认为规则应该基于以下问题:它是私有的还是公共的?
标签: security url url-parameters