在编辑器已经帮我们过滤的情况下,仍需要这样的三方工具么?
Q1:既然类似的编辑器已经帮我们转义的内容,为何现在的安全措施仍旧不够?
Q2:这样的三方过滤工具是一种经得起考验的常规防xss的方法么?
ps:我发觉,第二本教程的知识点的密度开始逐渐下降了,尤其是这几章,几乎都是照着写一遍代码,加入一个新的三方库,结束git commit.
我个人还是希望能多有些私货。
@Nickel @LiCxi
Q1:这里是在有编辑器的情况下演示的,但是,一个网站很多地方是没有编辑器的(例如一些简单的输入框)。并且,即使前端有 XSS 过滤,后端也是绝对要做的,不法用户可以通过 POSTMan(L03 会学到)等表单提交工具来直接将有害提交到服务器上。服务器端原则是:只要是用户提交的数据并且显示时不做 HTML 转义的,都必须做 XSS 过滤。
Q2:XSS 攻击纷繁多样,HTMLPurifier 方案是白名单过滤的方式,个人认知里最合理的 XSS 过滤方案。在知悉 XSS 攻击的各种方式后,只要的白名单里只允许简单的标签,一般防守级别都比较高。
附:
@LiCxi 本课程作为第二个实战课程,重点在应用的构建和 Laravel 的使用,不过你说的也是一个不错的建议,后面会考虑优化加入更多的知识点。感谢建议 :rose: