html表单安全完全依赖后端强制校验,前端仅作体验优化;必须显式设method="post"、硬编码可信action、嵌入并验证csrf token、服务端校验http方法与mime类型、对用户输入做xss转义。

HTML 表单本身不提供任何实质安全能力,所有“安全提交”都依赖后端强制校验 + 前端合理配合。只加 required、type="email" 或 JS 拦截,等于没设防。
form 的 method 必须显式设为 POST
GET 会把所有字段(包括密码)明文拼在 URL 里,进浏览器历史、服务器日志、代理缓存、Referer 头——攻击者翻日志就能拿到凭证。
- 登录、注册、修改密码、支付等操作,
method必须写死为POST,不能省略或动态生成 - 后端必须校验请求方法:对
/login接口只接受POST,拒绝GET请求 - 不要信“就传个邮箱,无所谓”——攻击者不需要理解字段含义,只要能重放就构成风险
action 地址必须可信且硬编码
如果 action 是拼接的、从 URL 参数读取的,或由用户控制,攻击者可把表单提交到任意地址(比如钓鱼接口),而你后端还照收不误。
如果你了解HTML,CSS和JavaScript,您已经拥有所需的工具开发Android应用程序。本动手本书展示了如何使用这些开源web标准设计和建造,可适应任何Android设备的应用程序 - 无需使用Java。您将学习如何创建一个在您选择的平台的Android友好的网络应用程序,然后转换与自由PhoneGap框架到一个原生的Android应用程序。了解为什么设备无关的移动应用是未来的潮流,并开始构建应用程序,提供更
- 避免
action="${user_input}"或action="/api/" + endpoint - 若必须动态,用白名单严格校验:
if (action !== '/api/login' && action !== '/api/register') reject() - 不要依赖
Referer或Origin头做判断——它们可被伪造
CSRF token 必须嵌入 form 内部并每次刷新
没有 CSRF token 的 POST 表单,等于允许攻击者诱导用户点击链接就完成转账、删号等操作。
- token 必须是服务端生成、绑定 session、短过期(如 15 分钟)、一次性使用
- 必须作为隐藏字段放在
<form></form>内:<input type="hidden" name="csrf_token" value="a1b2c3"> - 前端不能从
localStorage读、不能硬编码在 JS 里、不能复用旧值;AJAX 提交也得从 DOM 或 API 拿最新 token - 后端校验失败必须返回 403,且清空该 token,防止重试
文件上传必须禁用前端 accept 依赖
accept=".pdf,.docx" 只是 UI 提示,完全可被绕过——用户改文件后缀、用 curl 发送恶意文件,照样进后端。
- 前端可用
File.type和File.name做体验优化(比如禁用按钮),但绝不用于决策 - 后端必须:① 读文件头判断真实 MIME 类型;② 重命名文件(去掉原始名);③ 存到非 Web 可访问目录;④ 若需下载,走代理脚本而非直接暴露路径
- 路径拼接必须用
path.resolve()校验是否仍在允许目录内,防止../.htaccess类路径遍历
最容易被忽略的点:所有用户输入回显(比如搜索关键词、评论内容、用户名)必须做 HTML 转义,否则就是 XSS 入口;innerHTML 拼接用户数据是高危操作,应改用 textContent 或模板引擎的自动转义机制。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










