"永远不要相信$ _SERVER [' HTTP_REFERER']" - 为什么?

时间:2015-08-30 01:17:49

标签: php http-referer

我听说它一遍又一遍地说你永远不应该使用$_SERVER['HTTP_REFERER']为什么?

据我所知,这很容易被用户操纵,即变量可以设置为用户想要的任何东西。因此,我完全理解为什么从安全的角度来看它不应该受到信任。但是,例如,只有authed用户才能查看的所有页面都会重新检查用户是否已经过操作,哪里有依赖此变量的危险?

1 个答案:

答案 0 :(得分:2)

它可以是一个有用的变量,但不应该依赖它。 首先,它并不总是提供(浏览器可以设置为不提供引用),因此如果没有提供依赖它的代码可能不起作用。

其次,这是一种罕见的情况,即使登录用户,良好的安全性也会信任 - 仅仅因为他们登录并不意味着他们没有尝试他们不应该做的事情。

指示性地使用它是好的,但不要假设其真实......