X-XSRF-TOKEN和X-CSRF-TOKEN有什么区别?
2022-08-30 10:45:27
何时使用隐藏字段,何时使用标头,为什么?
当我们使用时?
当我们使用时?X-XSRF_TOKEN
X-CSRF TOKEN
何时使用隐藏字段,何时使用标头,为什么?
当我们使用时?
当我们使用时?X-XSRF_TOKEN
X-CSRF TOKEN
所有这些都用于跨站点请求伪造保护,在向后端发送请求时,您只需要使用其中一个。不同的名称来自不同的框架。
这一切都是为了发送一个到后端。然后后端会将其与该特定用户存储在数据库中的 csrf 值进行比较,如果匹配,它将允许处理请求。csrf value
企业社会责任 :
<input name="my_csrf_input" value="a_hashed_string_the_csrf_value"
x-csrf-token:
csrf value
拉拉维尔具体:
laravel
csrf value
x-xsrf-token:
axios
xsrf-token
xsrf-token
拉拉维尔具体:
axios
angular
laravel
x-csrf-token
当您使用ajax提交数据时,您将需要CSRF令牌的标头,因为ajax不会将令牌与数据一起发送。
您可以使用以下代码对ajax请求使用隐藏字段
$.ajaxSetup(
{
headers:
{
'X-CSRF-Token': $('input[name="_token"]').val()
}
});
但是您必须为每个ajax请求添加隐藏字段。
X-CSRF-TOKEN和X-XSRF-TOKEN之间的区别在于,前者使用纯文本值,后者使用加密值,因为Laravel中的cookie始终是加密的。如果使用 csrf_token() 函数来提供令牌值,则可能需要使用 X-CSRF-TOKEN 标头。
它在laravel 5.2 doc中被删除,但你可以在laravel 5.0 doc中找到它,链接在这里