6.5. XSS 安全漏洞

本教程最新版为 9.x,当前版本已放弃维护,请阅读最新版本!

XSS

目前我们的项目中存在非常严重的 XSS 安全漏洞。作为一个合格的 Web 开发工程师,必须遵循一个安全原则:

永远不要信任用户提交的数据。

我们在创建话题时对用户提交的内容字段 body 太过信任,没有对其做过滤处理,即原封不动的显示在页面上,这是非常危险的。

XSS 也称跨站脚本攻击 (Cross Site Scripting),恶意攻击者往 Web 页面里插入恶意 JavaScript 代码,当用户浏览该页之时,嵌入其中 Web 里面的 JavaScript 代码会被执行,从而达到恶意攻击用户的目的。

一种比较常见的 XSS 攻击是 Cookie 窃取。我们都知道网站是通过 Cookie 来辨别用户身份的,一旦恶意攻击者能在页面中执行 JavaScript 代码,他们即可通过 JavaScript 读取并窃取你的 Cookie,拿到你的 Cookie 以后即可伪造你的身份登录网站。(扩展阅读 —— IBM 文档库:跨站点脚本攻击深入解析

有两种方法可以避免 XSS 攻击:

  • 第一种,对用户提交的数据进行过滤;
  • 第二...

本文章首发在 LearnKu.com 网站上。

为了保证课程的高品质,我们需要对课程进行收费。付费后 才能观看剩余内容。 购买

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 29

ChiTanDaEru
观察器需注册
19 个点赞 | 9 个回复 | 分享 | 课程版本 5.5
bignose
总结要点:XSS 攻击
7 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
Nickel
Fykex
按教程配置好 HTMLPurifier 后不能过滤<script>标签?
3 个点赞 | 9 个回复 | 问答 | 课程版本 5.5
wongvio
saving 这个方法没有在哪里调用的啊?
1 个点赞 | 9 个回复 | 问答 | 课程版本 5.8
lizhen9880
注意注释符号{{-- --}}和<! -- -->的使用
1 个点赞 | 2 个回复 | 分享 | 课程版本 5.5
Winter1
安装 HTMLPurifier for Laravel 5?
1 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
hustnzj
如何在使用 htmlpurifier 的情况下嵌入 youtu 视频?
1 个点赞 | 0 个回复 | 分享 | 课程版本 5.5
CaiBird008
HTMLPurifier 下载失败?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
heibai_2018
为什么只有 body 要过滤,标题也可以被 XSS 攻击?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
jiangfei
如果要原样输出 script 呢?怎么避免 xss 攻击又能原样输出?
0 个点赞 | 5 个回复 | 问答 | 课程版本 5.5
遗忘的时光
该插件有副作用,使用需注意
0 个点赞 | 4 个回复 | 分享 | 课程版本 5.5
491687386
Could not parse version constraint ~4.0*
0 个点赞 | 3 个回复 | 问答 | 课程版本 7.x
hehorange
既然 Simditor 会自动转义字符实体,那不进行过滤也可以吧?
0 个点赞 | 3 个回复 | 问答 | 课程版本 5.5
安装防御xss插件没有生效的问题
0 个点赞 | 2 个回复 | 问答 | 课程版本 8.x
突然的自我
Composer 安装 HTMLPurifier 失败,
0 个点赞 | 2 个回复 | 问答 | 课程版本 5.5
懒惰的大叔
HTMLPurifier for Laravel过滤了内容中的script标签?
0 个点赞 | 1 个回复 | 问答 | 课程版本 7.x
weiqier
clean 不需要引入可以直接使用??
0 个点赞 | 1 个回复 | 问答 | 课程版本 6.x
glee
我按步骤做了,但还是没和原来一样
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
CaiBird008
HTMLPurifier 下载失败?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
关于编辑器与 XSS 过滤的疑问?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
AmberLavigne
HTMLPurifier 扩展包 clean 方法如何应用到 TopicObserver.php 中的?
0 个点赞 | 1 个回复 | 问答 | 课程版本 5.5
developerFulwin
安装Purifier之后,保存文章出错?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.8
Asia
新手踩坑--生产环境记得重建config-cache
0 个点赞 | 0 个回复 | 分享 | 课程版本 7.x
heibai_2018
控制台 fetch 模拟表单提交的问题
0 个点赞 | 0 个回复 | 分享 | 课程版本 6.x
StepKim
mews/purifier 不支持 video 标签白名单?
0 个点赞 | 0 个回复 | 问答 | 课程版本 5.5