JavaScript 进阶实战课
石川
JavaScript Patterns and Anti-Patterns 等开源项目创建者,O'Reilly 技术评审
15066 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 47 讲
开篇词 (1讲)
JavaScript 进阶实战课
15
15
1.0x
00:00/00:00
登录|注册

31|安全:JS代码和程序都需要注意哪些安全问题?

你好,我是石川。
对于大多 Web 应用来说,我们的程序所提供的功能是对外公开的,这给我们带来了流量的同时,也给我们的系统带来了风险。而且越是关注度高的应用,就越有可能遭到攻击,所以安全是任何应用都要重视的一个话题。
那么今天,我们来看一下在 JavaScript 中需要做的安全考虑。这里就包含了跨站脚本攻击(XSS)、跨站请求伪造(CSRF)和 XXE 漏洞。下面,我们来一一看一下这些问题,总结下相关的安全解决方法。

跨站脚本攻击

跨站脚本攻击是一种非常常见的攻击。顾名思义,它指的就是通过来自跨网站的脚本发起的攻击。为了降低出现 XSS 漏洞的可能性,有一条重要的开发原则是我们应该禁止任何用户创建的未经过处理的数据传递到 DOM 中。而当用户创建的数据必须传递到 DOM 中时,应该尽量以字符串的形式传递。

类字符串检查

我们可以通过多种方式在客户端和服务器上对数据进行检查。其中一种方法是利用 JavaScript 中的内置函数 JSON.parse(),它可以将文本转换为 JSON 对象,因此将数字和字符串与转换后的内容做对比。如果一致,就可以通过检查,但函数等复杂的数据类型的对比是会失败的,因为它们不符合与 JSON 兼容的格式。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文介绍了在JavaScript代码和程序开发过程中需要注意的安全问题,特别是跨站脚本攻击(XSS)、跨站请求伪造(CSRF)和XXE漏洞。针对XSS漏洞,建议开发者禁止未经处理的用户数据传递到DOM中,并进行类字符串检查、字符串净化、HTML实体编码、CSS净化以及实施内容安全策略(CSP)。对于CSRF攻击,建议开发者通过请求来源检查和使用CSRF令牌来减少风险。另外,文章还提到了一些需要尽量避免使用的API,如DOMParser API、Blob和SVG的API。此外,还介绍了泛系统的CSRF防御和XXE漏洞的防范方法。总的来说,本文强调了在开发JavaScript代码和程序时需要注重安全性,以降低遭受攻击的风险。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《JavaScript 进阶实战课》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(1)

  • 最新
  • 精选
  • 郭慧娟
    "因为在这种情况下,DOM 的结构和标签名称的控制权会在开发者自己手中,而负载只负责内容。" 这句话有问题吧

    作者回复: 在这种情况下,DOM的结构和标签就是由开发者掌握的,加载的部分只是内容

    2022-12-04归属地:海南
    1
收起评论
显示
设置
留言
1
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部