资讯专栏INFORMATION COLUMN

XSS组件

xingqiba / 563人阅读

摘要:公司用到的防止攻击的组件代码空过滤过度方案过滤字符串中的过滤节点属性中的过滤

公司用到的防止xss攻击的组件代码

</>复制代码

  1. function $xss(str,type){
  2. //空过滤
  3. if(!str){
  4. return str===0 ? "0" : "";
  5. }
  6. switch(type){
  7. case "none": //过度方案
  8. return str+"";
  9. break;
  10. case "html": //过滤html字符串中的XSS
  11. return str.replace(/[&""<>/-x00-x09x0b-x0cx1fx80-xff]/g, function(r){
  12. return "&#" + r.charCodeAt(0) + ";"
  13. }).replace(/ /g, " ").replace(/
  14. /g, "
    ").replace(/
  15. /g,"
    ").replace(/
  16. /g,"
    ");
  17. break;
  18. case "htmlEp": //过滤DOM节点属性中的XSS
  19. return str.replace(/[&""<>/-x00-x1fx80-xff]/g, function(r){
  20. return "&#" + r.charCodeAt(0) + ";"
  21. });
  22. break;
  23. case "url": //过滤url
  24. return escape(str).replace(/+/g, "%2B");
  25. break;
  26. case "miniUrl":
  27. return str.replace(/%/g, "%25");
  28. break;
  29. case "script":
  30. return str.replace(/[""]/g, function(r){
  31. return "" + r;
  32. }).replace(/%/g, "x25").replace(/
  33. /g, "
  34. ").replace(/
  35. /g, "
  36. ").replace(/x01/g, "x01");
  37. break;
  38. case "reg":
  39. return str.replace(/[^$*+?{}.()[]]/g, function(a){
  40. return "" + a;
  41. });
  42. break;
  43. default:
  44. return escape(str).replace(/[&""<>/-x00-x09x0b-x0cx1fx80-xff]/g, function(r){
  45. return "&#" + r.charCodeAt(0) + ";"
  46. }).replace(/ /g, " ").replace(/
  47. /g, "
    ").replace(/
  48. /g,"
    ").replace(/
  49. /g,"
    ");
  50. break;
  51. }
  52. }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/82186.html

相关文章

  • 前端面试题(五)(安全、性能优化)

    摘要:可能造成危害利用已通过认证的用户权限更新设定信息等利用已通过认证的用户权限购买商品利用已通过的用户权限在留言板上发表言论。二说说你说了解的前端性能优化方面减少请求合并文件精灵减少查询查询完成之前浏览器不能从这个主机下载任何任何文件。 一、说说你所知道的web安全及防护措施 常用攻击手段:SQL注入、XSS(Cross Site Script),跨站脚本攻击、CSRF(Cross Sit...

    tuomao 评论0 收藏0
  • 前端面试题(五)(安全、性能优化)

    摘要:可能造成危害利用已通过认证的用户权限更新设定信息等利用已通过认证的用户权限购买商品利用已通过的用户权限在留言板上发表言论。二说说你说了解的前端性能优化方面减少请求合并文件精灵减少查询查询完成之前浏览器不能从这个主机下载任何任何文件。 一、说说你所知道的web安全及防护措施 常用攻击手段:SQL注入、XSS(Cross Site Script),跨站脚本攻击、CSRF(Cross Sit...

    aaron 评论0 收藏0
  • vue总结系列--数据驱动和响应式

    摘要:由于是需要兼容的后台系统,该项目并不能使用到等技术,因此我在上的经验大都是使用原生的编写的,可以看见一个组件分为两部分视图部分,和数据部分。 在公司里帮项目组里开发后台系统的前端项目也有一段时间了。 vue这种数据驱动,组件化的框架和react很像,从一开始的快速上手基本的开发,到后来开始自定义组件,对element UI的组件二次封装以满足项目需求,期间也是踩了不少坑。由于将来很长一...

    AbnerMing 评论0 收藏0
  • XSS分析及预防

    摘要:分析及预防,又称跨站脚本,的重点不在于跨站点,而是在于脚本的执行。在这里需要强调一点的是,默认会禁止代码块的执行禁止内联事件处理函数禁止内联样式禁止和。 XSS分析及预防 XSS(Cross Site Scripting),又称跨站脚本,XSS的重点不在于跨站点,而是在于脚本的执行。在WEB前端应用日益发展的今天,XSS漏洞尤其容易被开发人员忽视,最终可能造成对个人信息的泄漏。如今,...

    smartlion 评论0 收藏0

发表评论

0条评论

xingqiba

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<