0

0

HTML表单如何审计表单数据修改_HTML表单审计表单数据修改流程【操作】

雪夜

雪夜

发布时间:2026-03-06 21:02:03

|

568人浏览过

|

来源于php中文网

原创

判断表单提交前数据被js修改,需检查submit事件监听器、input/change/blur事件绑定、formdata或urlsearchparams手动构造、event.preventdefault()使用及hidden字段动态计算等关键点。

html表单如何审计表单数据修改_html表单审计表单数据修改流程【操作】

怎么判断表单提交前数据被 JS 修改过

直接看 submit 事件监听器和 form.onsubmit,但更关键的是检查有没有在 input/select 等元素上绑了 changeinputblur 事件,悄悄改了 valuedataset

常见错误现象:后端收到的字段值和页面上看到的不一致;调试时打断点发现 event.target.value 是旧值,但提交时却变了。

  • 用浏览器开发者工具的 Elements 面板右键目标输入框 → Break on > attribute modifications,触发修改就能停住
  • 在控制台执行 getEventListeners(document.querySelector('form')) 查看所有绑定的事件(注意:仅限当前选中节点)
  • 重点关注是否调用了 FormData.append() 或手动拼接 URLSearchParams —— 这类代码常绕过 DOM 值,直接塞进提交载荷

抓包时发现请求体字段和表单 DOM 对不上怎么办

说明数据没走原生表单序列化,而是被 JS 拦截后重构造了。原生 form.submit() 不会触发 submit 事件,但 event.preventDefault() + fetch() 一定会绕过 DOM 同步状态。

使用场景:登录表单加了密码 AES 加密、手机号自动补区号、隐藏字段动态注入 token。

立即学习前端免费学习笔记(深入)”;

云网OA
云网OA

采用JSP开发的办公自动化产品、基于B/S结构,运行环境:JDK v1.5、Tomcat v5.5、MySQL v4.1,三者均为以上版本其他相关内容:可视化流程设计: 流程支持串签、会签和分支流程,可以设置流程节点的修改、删除权限,并可指定流程中各个用户在表单中可以填写的域。智能表单所见即所得设计: 智能设计,自动在数据库中生成表格,方便优化程序 公共交流: 集论坛、博客、聊天室于一体文件柜:C

下载
  • 检查是否有 event.preventDefault() 出现在 submit 回调里
  • 搜索代码里的 new FormData( —— 它读取的是当前 DOM 的 value,但如果之前 JS 已经改过 input.value,那它读到的就是被改过的
  • 留意 form.getAttribute('action') 和实际 fetch() 地址是否不同,这是典型的手动提交迹象

Chrome DevTools 怎么监控表单字段实时变更

console.log 打点太被动,得用 MutationObserver 监听 value 属性变化,或者更直接——在 input 元素上设 DOM 断点。

性能影响很小,但要注意兼容性:MutationObserver 在 IE 中不可用,不过审计时通常只关心现代浏览器行为。

  • 在 Elements 面板选中一个 input,右键 → Break on > attribute modifications,改值就会暂停
  • 粘贴这段脚本到 Console 快速监听所有文本类输入框:
    document.querySelectorAll('input[type="text"], input[type="password"], textarea').forEach(el => el.addEventListener('input', e => console.log('修改:', e.target.name, '→', e.target.value)))
  • 不要只盯 value,有些逻辑写在 data-* 属性里(比如 data-encrypted="true"),也得一并看

后端验签失败但前端表单看着没问题,问题可能出在哪

签名原文很可能不是你看到的表单 HTML,而是 JS 拼出来的字符串、对象或 base64 片段。尤其是当有“防篡改 hidden 字段”时,它的值往往由 JS 计算生成,而非服务端下发。

容易踩的坑:以为 hidden input 的 value 是静态的,其实它可能在 submit 前被 sha256(JSON.stringify(formData)) 之类逻辑覆盖。

  • 搜索代码里的 crypto.subtle.digestsha256hmacbtoa( 等关键词
  • 检查是否有 form.addEventListener('submit', ...) 里调用了异步操作(比如等加密完成才发请求),这种会导致 race condition,抓包看到的可能是未加密原始值
  • 注意 disabled 的表单项不会被 FormData 收集,但 JS 可能手动把它加进去 —— 此时 DOM 看着是禁用,实际参与了签名
事情说清了就结束

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
json数据格式
json数据格式

JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。

453

2023.08.07

json是什么
json是什么

JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。

546

2023.08.23

jquery怎么操作json
jquery怎么操作json

操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。

331

2023.10.13

go语言处理json数据方法
go语言处理json数据方法

本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。

82

2025.09.10

chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1035

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

826

2023.11.06

chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1035

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

826

2023.11.06

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

1

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

AngularJS教程
AngularJS教程

共24课时 | 4万人学习

CSS教程
CSS教程

共754课时 | 40万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号