在编辑器已经帮我们过滤的情况下,仍需要这样的三方工具么?

Q1:既然类似的编辑器已经帮我们转义的内容,为何现在的安全措施仍旧不够?
Q2:这样的三方过滤工具是一种经得起考验的常规防xss的方法么?
ps:我发觉,第二本教程的知识点的密度开始逐渐下降了,尤其是这几章,几乎都是照着写一遍代码,加入一个新的三方库,结束git commit.
我个人还是希望能多有些私货。

Nickel
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
Summer
最佳答案

@Nickel @LiCxi

Q1:这里是在有编辑器的情况下演示的,但是,一个网站很多地方是没有编辑器的(例如一些简单的输入框)。并且,即使前端有 XSS 过滤,后端也是绝对要做的,不法用户可以通过 POSTMan(L03 会学到)等表单提交工具来直接将有害提交到服务器上。服务器端原则是:只要是用户提交的数据并且显示时不做 HTML 转义的,都必须做 XSS 过滤。

Q2:XSS 攻击纷繁多样,HTMLPurifier 方案是白名单过滤的方式,个人认知里最合理的 XSS 过滤方案。在知悉 XSS 攻击的各种方式后,只要的白名单里只允许简单的标签,一般防守级别都比较高。

附:

@LiCxi 本课程作为第二个实战课程,重点在应用的构建和 Laravel 的使用,不过你说的也是一个不错的建议,后面会考虑优化加入更多的知识点。感谢建议 :rose:

5年前 评论
讨论数量: 4
Summer

@Nickel @LiCxi

Q1:这里是在有编辑器的情况下演示的,但是,一个网站很多地方是没有编辑器的(例如一些简单的输入框)。并且,即使前端有 XSS 过滤,后端也是绝对要做的,不法用户可以通过 POSTMan(L03 会学到)等表单提交工具来直接将有害提交到服务器上。服务器端原则是:只要是用户提交的数据并且显示时不做 HTML 转义的,都必须做 XSS 过滤。

Q2:XSS 攻击纷繁多样,HTMLPurifier 方案是白名单过滤的方式,个人认知里最合理的 XSS 过滤方案。在知悉 XSS 攻击的各种方式后,只要的白名单里只允许简单的标签,一般防守级别都比较高。

附:

@LiCxi 本课程作为第二个实战课程,重点在应用的构建和 Laravel 的使用,不过你说的也是一个不错的建议,后面会考虑优化加入更多的知识点。感谢建议 :rose:

5年前 评论

当上所说,我补充几点。题主所要求的应该算理论知识吧。其课程来说,主要在于实践性,实践出成效举一反三。

当你未接触某一样东西的时候,例如直接向你阐述服务器容器,你肯定会一脸懵。必须经过一段时间的反复实践,代码量的增加,错误问题的不断解决,才能深入慢慢的靠自我理解提高。其实,网上很多相关方面的详解,但是,没有实践过的东西,即使再清晰明朗也理解不了。

还有,一个教程的初衷,必然需要选择一个侧重点,重应用必轻理论,重理论必轻实践,如若两者相辅相成,必然价格昂贵,同时学习者需保持很专注的学习状态才能完成吸收。

你现在所提的问题,应该是初学时候的思考,写多了代码你就不会问这种问题了

5年前 评论

也确实感觉知识密度下降不少,教程中包含单纯的业务逻辑,不是说业务逻辑不好,只是这样确实给人一种没有学到新东西的感觉。希望教程能够更加深入地讲解框架,例如在用 Laravel 提供的 Auth 时,可以提一下它的实现机制,讲一下它的一些基类以及一些trait,哪些地方可以进行更加精细化的定制等等,感觉这样的话,教程应该会更有吸引力 @Summer

5年前 评论
Summer

@Nickel @LiCxi

Q1:这里是在有编辑器的情况下演示的,但是,一个网站很多地方是没有编辑器的(例如一些简单的输入框)。并且,即使前端有 XSS 过滤,后端也是绝对要做的,不法用户可以通过 POSTMan(L03 会学到)等表单提交工具来直接将有害提交到服务器上。服务器端原则是:只要是用户提交的数据并且显示时不做 HTML 转义的,都必须做 XSS 过滤。

Q2:XSS 攻击纷繁多样,HTMLPurifier 方案是白名单过滤的方式,个人认知里最合理的 XSS 过滤方案。在知悉 XSS 攻击的各种方式后,只要的白名单里只允许简单的标签,一般防守级别都比较高。

附:

@LiCxi 本课程作为第二个实战课程,重点在应用的构建和 Laravel 的使用,不过你说的也是一个不错的建议,后面会考虑优化加入更多的知识点。感谢建议 :rose:

5年前 评论

当上所说,我补充几点。题主所要求的应该算理论知识吧。其课程来说,主要在于实践性,实践出成效举一反三。

当你未接触某一样东西的时候,例如直接向你阐述服务器容器,你肯定会一脸懵。必须经过一段时间的反复实践,代码量的增加,错误问题的不断解决,才能深入慢慢的靠自我理解提高。其实,网上很多相关方面的详解,但是,没有实践过的东西,即使再清晰明朗也理解不了。

还有,一个教程的初衷,必然需要选择一个侧重点,重应用必轻理论,重理论必轻实践,如若两者相辅相成,必然价格昂贵,同时学习者需保持很专注的学习状态才能完成吸收。

你现在所提的问题,应该是初学时候的思考,写多了代码你就不会问这种问题了

5年前 评论

编辑器过滤的只是前端的提交. 换句话说黑客不用你的前端页面,自己写个前端就可是绕过编辑器的过滤了

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!