X-XSRF-TOKEN和X-CSRF-TOKEN有什么区别? [英] what is the difference between X-XSRF-TOKEN and X-CSRF-TOKEN?
本文介绍了X-XSRF-TOKEN和X-CSRF-TOKEN有什么区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
何时使用隐藏字段以及何时使用标题以及为什么?
X-XSRF_TOKEN
何时使用?
X-CSRF TOKEN
什么时候使用?
When use hidden field and when use header and why ?
X-XSRF_TOKEN
when we use?
X-CSRF TOKEN
when we use?
推荐答案
所有这些都是用于跨站点请求伪造保护的,并且在向后端发送请求时,您只需使用其中一个.
All of them are for cross site request forgery protection and you need to use just one of them when sending a request to backend.
csrf:
- 以html形式使用(不是ajax)
- 我们无法直接在html表单中设置请求标头,因此我们必须通过表单输入将其发送为隐藏字段.
x-csrf令牌:
- 已将其添加到ajax请求的请求标头中.
- 使用
laravel
作为后端时.laravel
自动检查此标头,并将其与数据库中的有效csrf
进行比较.
- It is added to request header for ajax requests.
- When using
laravel
as backend.laravel
checks this header automatically and compares it to validcsrf
in database.
x-xsrf令牌:
- 已将其添加到ajax请求的请求标头中.
- 受欢迎的库(例如angular和
axios
)会自动从xsrf-token
cookie获取此标头的值,并在每次请求时将其发送. - 因为它很流行,所以laravel在每个响应中都创建了这个cookie.
- 因此,当您使用例如
axios
和laravel
时,您无需执行任何操作.只需登录用户,"auth"中间件就可以完成工作. - 与
x-csrf-token
相比,它的字符串更大,因为cookie是在laravel
中加密的.
- It is added to request header for ajax requests.
- Popular libraries like angular and
axios
, automatically get value of this header fromxsrf-token
cookie and send it with every request. - Because it's popular, laravel creates this cookie in each response.
- so when you're using for example
axios
andlaravel
you don't need to do anything. just log user in and 'auth' middleware will do the job. - Its a bigger string compared to
x-csrf-token
because cookies are encrypted inlaravel
.
这篇关于X-XSRF-TOKEN和X-CSRF-TOKEN有什么区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文