php – “永远不要相信$_SERVER [‘HTTP_REFERER’]” – 为什么?

参见英文答案 >
How reliable is HTTP_REFERER?                                    1个

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

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

最佳答案 它可以是一个有用的变量,但不应该依赖它.

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

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

它可以很好地使用它,但不要假设其真实……

点赞