当前位置: 首页 > news >正文

红宝书第四十九讲:XSS/CSRF攻击防御策略解析

红宝书第四十九讲:XSS/CSRF攻击防御策略解析

资料取自《JavaScript高级程序设计(第5版)》。
查看总目录:红宝书学习大纲

XSS(跨站脚本):黑客把恶意代码塞进网页,当你打开页面时,代码自动运行偷信息。
CSRF(跨站请求伪造):黑客在你不知情时,冒用你的身份发送危险请求(比如转账)。


一、XSS防御:防止代码注入

攻击场景:用户输入 <script>alert('XSS')</script>,未过滤直接显示在页面。

防御策略 1

  1. 输入过滤:将用户输入的尖括号转义为无害字符。
// 使用Encoding API转义HTML(资料1的编码逻辑) 
function escapeHTML(text) {return text.replace(/[<>]/g, m => m === '<' ? '&lt;' : '&gt;');
}// 示例:用户输入转为纯文本显示
const userInput = '<script>恶意代码</script>';
document.body.innerHTML = escapeHTML(userInput); // 显示为文本,不执行!
  1. 输出编码:动态内容插入页面时,使用.textContent而非.innerHTML 2
// 安全做法
document.getElementById('content').textContent = userInput;

二、CSRF防御:阻断伪造请求

攻击场景:你登录了银行网站,黑客诱导你点击恶意链接,自动发起转账请求。

防御策略(基于资料3和资料6)

  1. SameSite Cookie属性 2
    设置Cookie的SameSite=Strict,限制只有当前站点能携带Cookie:
// 服务端设置Cookie(类比Cookie安全配置)
Set-Cookie: sessionID=abc123; SameSite=Strict; HttpOnly;

  1. 验证请求来源(CORS) 3
    服务端检查OriginReferer头部,阻断跨域非法请求:
// 服务端代码(Node.js示例)——允许特定域名访问
if (request.headers.origin !== 'https://trusted-site.com') {return response.status(403).send('拒绝跨域请求');
}

总结对比

攻击类型核心漏洞防御方案相关参考资料
XSS未过滤的用户输入输入转义、避免innerHTML资料5、资料6
CSRFCookie被冒用SameSite属性、验证请求来源资料3、资料6


目录:总目录
上篇文章:红宝书第四十八讲:实时通信双雄:Socket.IO & Meteor 的奇妙旅程

脚注


  1. 《JavaScript高级程序设计(第5版)》的编码API示例可用于转义危险字符 ↩︎

  2. 《JavaScript高级程序设计(第5版)》中的Cookies安全设置建议使用HttpOnly和SameSite属性 ↩︎ ↩︎

  3. 《JavaScript高级程序设计(第5版)》中的CORS策略用于控制跨域请求的合法性 ↩︎

相关文章:

  • 从零上手GUI Guider学习LVGL——Button
  • AI与思维模型——耗散结构思维模型【64】
  • 第十七届“华中杯”大学生数学建模挑战赛题目A题 晶硅片产销策略优化 完整成品 代码 模型 思路 分享
  • 动态规划专题5:最长上升子序列
  • MIX-LN: UNLEASHING THE POWER OF DEEP LAYERS BY COMBINING PRE-LN AND POST-LN
  • 计算生物学在中国的发展情况?
  • C 语言实现 HTTP 和 HTTPS 通信的例程
  • 高度图(Heightmap)
  • H5 swiper.js slide滑动失效问题解决
  • Vert.x学习(五)—— SockJS,搭建客户端,与后端服务器进行通信
  • Tomcat与Servlet(2)
  • 【Ai】CherryStudio 详细使用:本地知识库、MCP服务器
  • 2025年4月16日华为留学生笔试第三题300分
  • LCD显示屏的使用
  • EtherCAT转ProfiNet边缘计算网关配置优化:汽车制造场景下PLC与机器人协同作业案例
  • 矫平机:工业制造中的“板材整形师“
  • 2025年华中杯赛题浅析-助攻快速选题
  • Redis--事务
  • 赛灵思 XCVU095-2FFVB2104E XilinxFPGA Virtex UltraScale
  • StarRocks Community Monthly Newsletter (Mar)
  • 著名军旅作家、文艺评论家周政保逝世,享年77岁
  • 宣布停火后,印控克什米尔地区再次传出爆炸声
  • 龙湖集团:今年前4个月销售220.8亿元,4月新增两块土地储备
  • 庆祝上海总工会成立100周年暨市模范集体劳动模范和先进工作者表彰大会举行,陈吉宁寄予这些期待
  • 国办印发《关于进一步加强困境儿童福利保障工作的意见》
  • 讲座预告|全球贸易不确定情况下企业创新生态构建