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 为StrictLax。基本就杜绝了 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(跨站脚本攻击),攻击者通过各种方式将恶意代码注入到用户的页面中,这样就可以通过脚本进行一些操作。

相关推荐
spring29979213 分钟前
SpringBoot返回文件让前端下载的几种方式
前端·spring boot·后端
木斯佳18 分钟前
前端八股文面经大全:正泰电气前端实习一面(2026-04-19)·面经深度解析
前端·面试·笔试·校招·面经
江-月*夜22 分钟前
vue3 wordcloud2.js词云使用
开发语言·javascript·vue.js
用户693717500138425 分钟前
你每天用的 AI,可能真的被“投毒”了
前端·后端·ai编程
吴声子夜歌27 分钟前
Vue3——Vuex状态管理
前端·vue.js·vue·es6
qq_120840937128 分钟前
Three.js 工程向:Frustum Culling 与场景分块优化实战
前端·javascript
漫游的渔夫33 分钟前
从 Fetch 到 RAG:为什么你的 AI 知识库总是“胡言乱语”?
前端·人工智能
Jempo M34 分钟前
为GitHub Copilot手搓一个可调用工具的AI Agent
人工智能·github·copilot
Amos_Web35 分钟前
谷歌浏览器插件Brower-Books: 把整个浏览器变成你的云端书架
前端·chrome·产品
of Watermelon League35 分钟前
SQL server配置ODBC数据源(本地和服务器)
运维·服务器·github