Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.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 跨站点请求伪造(CSRF)缓解措施_Php_Csrf - Fatal编程技术网

Php 跨站点请求伪造(CSRF)缓解措施

Php 跨站点请求伪造(CSRF)缓解措施,php,csrf,Php,Csrf,我有一个关于csrf缓解的问题。文献建议在每个页面上使用一个令牌,该令牌必须与任何表单一起提交-该令牌必须对交易有效 页面上的令牌如何防止csrf? 由于http是无状态的,我不能发出http GET请求,从html解析令牌,然后在POST中使用该令牌(在某个时间限制内)吗?CSRF保护的目的不是阻止DOM解析或机器人获取令牌并提交表单。CSRF是指恶意站点向目标站点提交表单或请求,意图更改某些设置或对登录用户的帐户执行操作 当表单提交时,目标站点的用户cookie会随请求一起发送,因此如果没有

我有一个关于csrf缓解的问题。文献建议在每个页面上使用一个令牌,该令牌必须与任何表单一起提交-该令牌必须对交易有效

页面上的令牌如何防止csrf?
由于http是无状态的,我不能发出http GET请求,从html解析令牌,然后在POST中使用该令牌(在某个时间限制内)吗?

CSRF保护的目的不是阻止DOM解析或机器人获取令牌并提交表单。CSRF是指恶意站点向目标站点提交表单或请求,意图更改某些设置或对登录用户的帐户执行操作


当表单提交时,目标站点的用户cookie会随请求一起发送,因此如果没有反CSRF令牌,恶意站点可能会影响用户的帐户或在目标站点上执行某些操作。恶意站点无法获取用户特定的反CSRF令牌,因此尝试将失败。

是的,您可以。但这不是CSRF。CSRF是指我偷偷地让你做一件你不想做的事。例如,如果您登录到一个特定的网站,我诱使您点击这样的链接,该怎么办

你点击链接,让你沮丧的是,你最终删除了一个你不想删除的资源。或者,如果我让你看到这样的图像(看看src):


但是,如果action.php需要一个令牌呢?然后,我(攻击者)必须尝试找出您当前使用的令牌


否则,操作将不会发生,请求将被拒绝(或者至少应该是这样)。

可能会让您更好地了解攻击是什么,以及为什么特定于页面的令牌会减轻攻击。谢谢-看来我是在将XSS与CSRF相结合。
<img src="http://test.com/action.php?delete_id=324" />