loadrunner提交Form表单

本文介绍了在项目中为防止CSRF攻击,如何利用LoadRunner进行性能测试。首先阐述了CSRF保护的原理,即在登录表单中设置隐藏的CSRF令牌。接着详细说明了性能测试脚本的创建过程,包括通过GET请求获取令牌,然后使用POST提交带有令牌的登录表单。最后,展示了LR中web_reg_save_param和web_submit_data函数的使用,用于保存和提交表单数据。
摘要由CSDN通过智能技术生成

背景

项目程序为了实现CSRF(Cross-Site Request Forgery,跨站请求伪造)保护,需要设置一个秘钥,并利用这个秘钥生成加密令牌,然后在处理请求时利用令牌验证表单数据的真伪。

至于请求-响应端,了解的情况是这样:客户首先访问(GET)比如登录页面,此时页面的登录表单中包含1个隐藏字段,其内容是CSRF令牌,然后客户填写登录信息并提交(POST),Form数据中也需包含令牌内容以便程序校验。

方案

上面我们已经知道了登录业务的逻辑,那么性能测试脚本的登录事务分2步走:
1.GET /auth/login访问登录页面,找到包含在表单中的CSRF令牌–csrf_token,并保存下来。
2.POST /auth/login提交登录表单,表单数据包含csrf_token。

不管是查看浏览器上的网页源代码,还是检查请求后的响应体,我们都能找到需要的CSRF令牌。这里我们选择利用LR中的web_reg_save_param函数去保存响应体中正则匹配的内容。

第一步访问登录页面,因为是提交登录的前置业务,且不计入提交登录业务,故代码编辑在vuser_init,如下:

vuser_init()
{
   
	// 保存用户登录地址
	lr_save_string("http://127.0.0.1:5000/auth/login", "user_login");

	lr_start_transaction("进入登录页面");

	// 保存CSRF令牌
	web_reg_save_param("csrf_token",
					   "LB=name=\"csrf_token\" type=\"hidden\" value=\"",
					   "RB=\">"
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值