Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php XSRF令牌应该存储在cookie中还是会话中?_Php_Session_Cookies_Token_Csrf - Fatal编程技术网

Php XSRF令牌应该存储在cookie中还是会话中?

Php XSRF令牌应该存储在cookie中还是会话中?,php,session,cookies,token,csrf,Php,Session,Cookies,Token,Csrf,在我正在从事的一个PHP项目中,我想实现一个反XSRF机制。我正在生成一个随机令牌,并将其存储在会话中$\u会话['token']。提交表单时,我将会话令牌包含在一个隐藏字段中,并验证传输的令牌==存储的令牌 我的问题是,如果我将此令牌存储在cookie中,会对安全造成什么影响 例如,我认为这两种解决方案在XSS的情况下都是可以利用的,我不知道哪个存储最适合令牌 感谢您的帮助。如果您按照正常的过程生成令牌(类似于sha1($username.$private\u per\u session\u

在我正在从事的一个PHP项目中,我想实现一个反XSRF机制。我正在生成一个随机令牌,并将其存储在会话中
$\u会话['token']
。提交表单时,我将会话令牌包含在一个隐藏字段中,并验证
传输的令牌==存储的令牌

我的问题是,如果我将此令牌存储在cookie中,会对安全造成什么影响

例如,我认为这两种解决方案在
XSS
的情况下都是可以利用的,我不知道哪个存储最适合令牌


感谢您的帮助。

如果您按照正常的过程生成令牌(类似于
sha1($username.$private\u per\u session\u passphrase)
),我认为这没有多大区别,您可以将令牌放在cookie或session var中,并且应该清除CSRF漏洞

主要考虑的是,直到您将接收到的令牌与您的令牌匹配(Cookie/session),POST才能成功。换句话说,页面请求不应该是自包含的

这些可能很有趣:

本文描述了CSRF+XSS攻击:

如果您按照正常过程生成令牌(类似于
sha1($username.$private\u per\u session\u passphrase)
),我认为这没有多大区别,您可以将令牌放在cookie或session var中,并且应该清除CSRF漏洞

主要考虑的是,直到您将接收到的令牌与您的令牌匹配(Cookie/session),POST才能成功。换句话说,页面请求不应该是自包含的

这些可能很有趣:

本文描述了CSRF+XSS攻击: