web安全,常见的攻击以及如何防御

1、CSRF攻击

CSRF即Cross-site request forgery(跨站请求伪造)

(1)表单带一个后端生成的 token,或用XMLHttpRequest附加在header里。

复制代码
<form action="example.com/swap" method="POST">
  <input type="hidden" name="token" value="aaaabbbb">
  ...
</form>

(2)设置cookie属性SameSite 为Strict或Lax。基本就杜绝了 CSRF 攻击,当然,前提是用户浏览器支持 SameSite 属性。

(3)验证 HTTP Origin或Referer 字段。记录了该 HTTP 请求的来源地址。缺点:Referer 值是由浏览器提供的,因为浏览器限制,不能手动添加和修改referer请求头。使用验证 Referer 值的方法,就是把安全性都依赖于第三方(即浏览器)来保障,从理论上来讲,这样并不安全。对于某些浏览器,比如 IE6 ,目前已经有一些方法可以篡改 Referer 值。用户自己也可以设置浏览器使其在发送请求时不再提供 Referer。

(4)提交验证码。在表单中添加一个随机的数字、字母、图片(缺失一块位置,拖动补齐)验证码。通过强制用户和应用进行交互来有效地遏制CSRF攻击。

参考:

CSRF防御之token认证_csrf token-CSDN博客

2、XSS攻击

XSS即Cross Site Scripting(跨站脚本攻击),攻击者通过各种方式将恶意代码注入到用户的页面中,这样就可以通过脚本进行一些操作。

相关推荐
啾咪orJIUMI1 小时前
Vue 3 + 高德地图封装实战:点位、区域、Loca 流光与 Vue 信息窗体
前端·vue.js
掘金者阿豪1 小时前
AI数据库不只是向量检索:从数据语义到库内智能计算的技术演进
前端
梦里寻码1 小时前
我用 NestJS + Vue3 写了一套完整的研发管理系统(58 表 / 229 API / 130 项断言,全开源
前端·后端·算法
FRing031 小时前
vue2干货总结8(路由模块封装、router-link、声明式导航、路由重定向、编程式导航)
开发语言·前端·vue.js·vue2
GitHub实测笔记1 小时前
dust 本机实测:/usr 扫树中位 92ms、du -sh 80ms;-s 不是汇总,稀疏文件 0→100Mi
github
SameX1 小时前
HarmonyOS ArkUI Dialog 复用 用 @CustomDialog + enum type 做多类型统一管理的做法
前端
逛逛GitHub1 小时前
有个刚开源的 GitHub 项目有说法,竟然能在终端里再跑一台 Mac。
github
AiMan1 小时前
豆包爱学还是不可以导出左侧所有对话,只能单容导出,方法不对吗
前端
用户2991422196801 小时前
GitHub 热榜项目:日榜(2026-11-09)
人工智能·开源·github
AiMan2 小时前
Grok生成的内容能否下载吗?
前端