未经授权的CSRF验证在jMeter测试中失败

 Melody-Zhu1988 发布于 2022-12-10 18:06

我是jMeter测试的新手.我想在UI上测试字段更新.因此,当我运行测试时,我收到了CSRF验证错误.我该如何解决这个问题.我的测试计划看起来像,

在此输入图像描述

取样器结果如下,

Thread Name: Thread Group 1-1
Sample Start: 2014-11-18 23:37:49 IST
Load time: 688
Latency: 688
Size in bytes: 483
Headers size in bytes: 457
Body size in bytes: 26
Sample Count: 1
Error Count: 1
Response code: 401
Response message: Unauthorized : CSRF validation failed

Response headers:
HTTP/1.1 401 Unauthorized : CSRF validation failed
Date: Tue, 18 Nov 2014 18:08:07 GMT
Server: Apache/2.4.7 (Ubuntu)
X-Powered-By: PHP/5.5.9-1ubuntu4.5
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Last-Modified: Tue, 18 Nov 2014 18:08:07 +0000
Cache-Control: no-cache, must-revalidate, post-check=0, pre-check=0
ETag: "1416334087"
Vary: Accept
Content-Length: 26
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: application/json

为什么我们会收到CSRF验证错误以及如何解决它.

1 个回答
  • CSRF代表跨站点请求伪造,并且由于缺少必需的动态请求参数(通常是Cookie或标头)而导致CSRF验证错误.

    我建议在启用了HttpFox或FireBug扩展的Firefox浏览器中执行您的场景,并检查请求详细信息.CSRF令牌通常作为服务器响应中的cookie出现,需要作为头或请求参数传递.所以它类似于通常的相关性.因此流程应如下所示:

      第一个HTTP请求:打开第一页

      通过以下后处理器之一从响应中提取CSRF令牌

      正则表达式提取器

      XPath Extractor

      CSS/JQuery Extractor

      第二个HTTP请求:打开第二页(CSRF保护).将在步骤2中提取的令牌添加到以下之一:

      HTTP请求参数

      HTTP标头管理器

      HTTP Cookie管理器

    取决于服务器期望令牌生存的位置.

    将来,查看"localhost"服务器名称 - 不要在应用程序所在的同一台机器上运行JMeter性能测试.

    2022-12-11 02:10 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有