现在的前端开发团队都用什么技术解决XSS

djalejandro
  • 371

解决XSS攻击,有前端后端诸多方案,似乎和公司的结构有关,没有一个专门固定的职位去解决这个问题。但就前端开发来说,实际开发中解决XSS攻击常用的工具有哪些?有没有成熟且广泛使用的技术。如何评价CSP技术在前端开发中的贡献?

回复
阅读 5.7k
6 个回答
✓ 已被采纳

前端防xss分两类, 1是提交数据的时候, 2是渲染数据的时候

1.提交数据, 即post表单, 或者ajax提交数据的时候, 对用户输入的内容进行过滤, 当前由于是前端操作, 随便找个懂点的都可以通过模拟请求绕过, 但是做还是要做

2.渲染数据, 这个是重点, 哪怕提交数据时, 被绕过(后端也没有处理), 渲染时予以过滤, 也能达到效果, 这里一般指ajax+template, 或者各种mvvm框架, 对于是用户提供的内容, 能用text方法的, 一律用text方法, 一定要用html方法的, 则进行数据过滤

github上开源的xss过滤规则: http://jsxss.com/zh/index.html

xss必须由后端解决。
前端无论什么操作都会被绕过。

前端的代码可以通俗的理解为发送给浏览器的代码,也就是说在用户端是可以修改的,你前端写的再完善,他都是可以直接修改的,所以重点在于后端.
CSP技术实质上就是做一个白名单,在发送到各个用户的浏览器中时,不在白名单中的代码不会被执行,进行用户端解决.举例:我们这里有5个人,有个黑客偷偷的混到里面,然后我们过被打包快递到家时,门口(浏览器)拿个花名册检查一遍,发现我们中出了一个的叛徒,就不让他进去...
然而,这个技术我从来就没有在项目中用过...所以,不对该技术做出评价,你可以试着用用看,用完告诉我效果如何.(^__^)

PS:为什么我没有用这个技术,是因为浏览器兼容性的问题,天知道会出现什么莫名其妙的兼容问题,还是服务器端靠谱.#滑稽

以PHP为例,简单粗暴可以用内置函数htmlspecialchars,需要一些过滤规则可以用第三方库HTMLPurifier.

你知道吗?

宣传栏