通过Facebook SDK禁用CSRF保护的安全风险

时间:2017-12-03 13:24:09

标签: php facebook facebook-graph-api

我们正试图解决一些用户使用Facebook登录遇到的问题(使用facebook/php-graph-sdk)。

Cross-site request forgery validation failed. Required param "state" missing from persistent data.

我们认为我们已经很好地实施了SDK,我们确保在session_create()之前调用$fb->getRedirectLoginHelper()。该问题可能与Safari的第三方Cookie策略有关,因此会话在登录请求和回调请求之间丢失。

StackOverflow中已经有很多关于此问题的问题,但似乎所有人都建议使用请求的FBRLH_state参数的值覆盖state会话变量。

$_SESSION['FBRLH_state'] = $_GET['state'];

但是,这会禁用SDK提供的CSRF保护。所以,我们的问题是,如果我们决定禁用Facebook登录的CSRF保护,会发生什么情况更糟?对于重定向和JavaScript帮助程序。

0 个答案:

没有答案