gpt4 book ai didi

php - PHP 的 session.referer_check 是什么保护我的?

转载 作者:IT王子 更新时间:2023-10-29 01:19:10 25 4
gpt4 key购买 nike

我正在使用 CakePHP 制作一个需要相当安全的系统,因为我们要处理金钱、客户的账户等。到目前为止,一切都运行良好,直到我不得不与支付平台集成我需要将其重定向到他们的站点,然后他们将其重定向回我的站点。

这在我的开发机器上运行良好(调试 = 2),但在生产环境中,当客户被重定向回来时,他会得到一个登录提示,而不是返回到他的“登录区域”。经过大量挖掘后,我发现这是因为 CakePHP 设置了 session.referer_check,如果 HTTP_REFERER 来自不是我的主机,它会使 session 无效。

现在,通常情况下,我会毫不犹豫地禁用它,但在这个系统中,我比平时更关心安全性。

我的问题是 session.referer_check 到底应该保护我免受什么影响?
如果我将其关闭,我的网站会受到什么样的攻击/利用/坏事?

我猜这肯定是有原因的,但我无法想象它会保护我免受什么伤害。

你能给我一些建议吗?
禁用它安全吗?

谢谢
丹尼尔

最佳答案

这是为 Session Fixation 提供有限的保护。和 CSRF/XSRF。检查推荐人是a valid method of stopping xsrf .停止 session 固定的更好方法是 Session.use_only_cookies,因为黑客无法在受害者浏览器上为他尚未控制的域设置 cookie。

但是,Session.referer_check 很容易绕过。它只是在引用域中寻找子字符串。如果子字符串一起丢失,如果原始 url 是 https://则发生这种情况,则 session ID 将无效。但是,因为它是子字符串而不是完整字符串,所以您可以通过从 www.somedomain.com.some_hacker.com 引用来绕过 www.somedomain.com。所以简而言之,我认为这是完全没用

关于php - PHP 的 session.referer_check 是什么保护我的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4863946/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com