Javascript 为什么对CSRF令牌使用请求头?

Javascript 为什么对CSRF令牌使用请求头?,javascript,php,ajax,Javascript,Php,Ajax,要在AJAX调用中发送CSRF令牌,一些站点建议在请求头中发送 我想知道为什么。与发送POST变量相比,它有什么优势 是否有充分的理由在头中发送内容?根据我的经验,CSFR令牌总是有一个过期时间,因此使用cookie成为设置过期时间的最佳媒介 如CSFR所述,漏洞利用基于伪造链接/请求。 使用POST/GET参数传输散列可以更容易地利用此漏洞。 相反,将散列放在头中,即cookie(如果DNS未被劫持,则无法在域外设置),提供了更强的保护 你有一个网站推荐这种方法的例子吗?嗨@AD7six我很懒

要在AJAX调用中发送CSRF令牌,一些站点建议在请求头中发送

我想知道为什么。与发送POST变量相比,它有什么优势


是否有充分的理由在头中发送内容?

根据我的经验,CSFR令牌总是有一个过期时间,因此使用cookie成为设置过期时间的最佳媒介

如CSFR所述,漏洞利用基于伪造链接/请求。 使用POST/GET参数传输散列可以更容易地利用此漏洞。
相反,将散列放在头中,即cookie(如果DNS未被劫持,则无法在域外设置),提供了更强的保护

你有一个网站推荐这种方法的例子吗?嗨@AD7six我很懒,希望你能找到一个具体的答案。我想你没有抓住要点。问题是为什么要将令牌放在标题中,而不是将其作为post数据提交。你根本没有解决这个问题。(令牌通常被比作持久存储中的某个东西——如果你可以“只是”制造一个令牌,它不是csrf令牌,它只是一个请求哈希)Hi@AD7six,我错过了语言:(你的observations@AD7six,我同意你对hash和token的区别,但是维基百科的文章使用了token这个词,我用它来表达一致性。