通过Postman进行post请求时传递X-XSRF-TOKEN
前言介绍
这段时间一个项目后端用的是laravel。在写API接口时通过Postman6进行测试。但是在测试后形式的接口时laravel自带了CSRF验证机制。这就很尴尬了...
所以我们的目的在使用Postman通过XSRF的验证,以测试POST的请求。还是以laravel为例子,Laravel会返回到浏览器的GET请求时将XSRF-TOKEN写在cookie中。因此我们需要从cookie中取到XSRF-TOKEN,并附在POST请求的报头中传送出去。以达到绕过Laravel的跨站请求伪造验证。
安装Postman Interceptor(Chrome扩展功能)
使用Postman如果通过自己拼接url,自己造数据,是非常麻烦的。因此选择Postman + Postman拦截器,使用Postman interceptor可以拦截到网页请求,同时传到postman的历史列表中,然后我们只需要在postman中修改一下网址就可以直接发送了。
Laravel通过镀铬作为拦截器来记录的cookie,因此要先安装邮递员在Chrome浏览器上的扩展程序。
下载地址:https://chrome.google.com/webstore/detail/postman-interceptor/aicmkgpgakddgnaphhhpliifpcfhicfo
嗯......浏览下载安装需要翻墙...
创建环境
我们打开邮差,点击页面右上角,进行设定环境。

新建evnironment

输入新建的环境名称,并按下 “添加”
选择刚刚新建的环境

发送GET请求,以取得XSRF令牌
新建一个获得请求,并在邮递员的测试标签中加入下面代码:
pm.environment.set(
"XSRF-TOKEN", //此為環境變數名稱
decodeURIComponent(pm.cookies.get("XSRF-TOKEN"))
)

访问刚刚创建的get请求,点击发送,检查XSRF令牌是否在环境变量中

POST附带XSRF令牌
Laravel预设要求发布时需要HTTP标头附带XSRF令牌
以下是我测试的代码:
//web.php
Route::post('posttest', 'OperateController@postTest'); //OperateController.php
public function postTest(Request $request) {
var_dump('post test');
}
新增POST标签,并在Header中增加XSRF令牌
格式是:{{ “环境变量”}}:用来取得的环境变量值。
X-XSRF-TOKEN:{{XSRF-TOKEN}}

点击发送,成功打印

以上
通过Postman进行post请求时传递X-XSRF-TOKEN的更多相关文章
- spring boot:用cookie保存i18n信息避免每次请求时传递参数(spring boot 2.3.3)
一,用cookie保存i18n信息的优点? 当开发一个web项目(非api站)时,如果把i18n的选择信息保存到cookie, 则不需要在每次发送请求时都传递所选择语言的参数, 也不需要增加heade ...
- angularjs中ajax请求时传递参数的方法
method1方法使用的是params参数,该用法会把参数直接附加到url中 method2方法使用的是data参数,该参数会把页面参数类型从默认的multipart/form-data改为appli ...
- ASP.NET MVC API与JS进行POST请求时传递参数 -CHPowerljp原创
在API前添加 [HttpPost] 表示只允许POST方式请求 [HttpPost] public IHttpActionResult Get_BIGDATA([FromBody]Datas ...
- JS请求报错:Unexpected token T in JSON at position 0
<?php /* 最近做一个ajax validate表单验证提交的代码,在ajax提交的时候 JS请求报错:Unexpected token T in JSON at position 0 描 ...
- Feign发送Get请求时,采用POJO对象传递参数的最终解决方案 Request method 'POST' not supported (附带其余好几个坑)
yml: feign: httpclient: enabled: true properties: #feign feign.httpclient.enabled=true <!-- https ...
- DES加密与解密在GET请求时解密失败的问题
DES加密与解密在GET请求时解密失败的问题 在数据进行加密后传递会更安全,但可能有个问题:就是Url编码问题,如果不对Url进行编码直接加密,那么在解密时,如果字符串存在 “+”,这种特殊符号,在解 ...
- android83 Activity的生命周期,启动模式,返回时传递数据
#Android四大组件 * Activity * BroadCastReceiver * Service * ContentProvider #Activity生命周期 * oncreate:Act ...
- ajax跨域请求时,sessionId不一样,导致无法记住登陆状态
遇到这样一个场景,就是前端的域是dev,请求接口时,接口的域是beta,即使在服务端设置了cookie存放的域,'COOKIE_DOMAIN' => '.roboming.com',虽然c ...
- python利用requests库模拟post请求时json的使用
我们都见识过requests库在静态网页的爬取上展现的威力,我们日常见得最多的为get和post请求,他们最大的区别在于安全性上: 1.GET是通过URL方式请求,可以直接看到,明文传输. 2.POS ...
随机推荐
- idea2017启动ssm项目卡在build阶段后报outofmemory
如上图,设置build process heap size(Mbytes)(构建过程堆大小(单位MB))为4000,即约4GB.之前设置的是700,修改之后问题解决. 补充:导入新项目后,此参数会初始 ...
- fortitoken
1.token状态为error,且不能分配给用户使用 解决: 关联有User的token状态是error的原因是:用户一直并未使用.
- 129. Sum Root to Leaf Numbers pathsum路径求和
[抄题]: Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a ...
- 联想RD450带Read10服务器操作系统密码忘记
联想RD450带Read10服务器操作系统密码忘记 可以用U盘PE进入重写密码 按F1进入BIOS界面设置如下 进入BOOT选项卡,设置U盘第一启动,也就是图中 Boot Option #1 设置为 ...
- jfinal处理完html提交过来的数据,将处理信息返回给html页面。html根据返回值进行相应的处理
1.前台jQuery代码: $.ajax({ url: "/admin/jcsjpz/syxmdy/RemoveSyxm", data: {data: id}, success: ...
- (转)经验分享:CSS浮动(float,clear)通俗讲解
文章转自:https://www.cnblogs.com/iyangyuan/archive/2013/03/27/2983813.html 很早以前就接触过CSS,但对于浮动始终非常迷惑,可能是自身 ...
- Centos Firefox中文乱码
解决CentOS Firefox 中文乱码问题,执行以下命令 Centos 6 # yum -y groupinstall chinese-support 重启电脑即可. Centos 7 yum - ...
- 探索未知种族之osg类生物---呼吸分解之渲染遍历一
总结 前面我们基本上已经完成对ViewerBase::frame()函数的探究,只剩下renderingTraversals()渲染遍历的探究,虽然就剩下了一个函数,但是这却是最重要的,不可少的一个步 ...
- 动态iframe 分享
function createIframe() { var i = document.createElement("iframe"); i.src = "/RSK/Rsk ...
- Monotonic Array LT896
An array is monotonic if it is either monotone increasing or monotone decreasing. An array A is mono ...