关于前端安全防范做了一些总结,供参考交流

防范措施 具体措施 类型 备注 实施方法
使用https        
http响应头设置 x-frame-options禁止页面被加载进iframe http劫持   Response.AddHeader("X-Frame-Options", "Deny");
DENY:浏览器拒绝当前页面加载任何Frame页面
SAMEORIGIN:frame页面的地址只能为同源域名下的页面
ALLOW-FROM:origin为允许frame加载的页面地址
x-xss-protection 检测到跨站点脚本后阻止加载页面 xss   header中开启X-XSS-Protection: 1
X-Content-Security-Policy内容安全策略(CSP) 是一个额外的安全
层,可选项很多,用来设置允许的的资源来源以及对脚本执行环境的控
综合策略
综合策略   https://blog.csdn.net/li_wen_jin/article/details/88353763
strict-transport-security限制浏览器只能https访问资源 https降级   http重定向https
https://www.cnblogs.com/luckcs/articles/6944535.html
X-Content-Type-Options:明确禁止浏览器去推断响应类型错 误内容推断(js伪装成就jpg图片)   header("X-Content-Type-Options:nosniff");
输入校验        
vue过滤转义 使用innerHTML,document.write的时候,如果数据是用户输入的,那么需要对关键字符都进行过滤与转义
字符串类型的数据,需要针对<、>、/、’、”、&五个字符进行实体化转义
XSS、url跳转漏洞   value = value.replace(/[`~*~!@#$%^&*()_\-+=<>?:"{}|,./;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘’,。、]/g, '').replace(/\s/g, "");
https://www.cnblogs.com/leeyongbard/p/9958302.html
避免使用eval, new Function 避免使用eval, new Function等执行字符串的方法, 除非确定字XSS

避免eval, new Function
xss    
前端避免存储敏感数据   本地存储数据泄露  
cookie配置 http only为true, 表示这个cookie不允许通过JS来读写 xss    
XSSsecure为true, 表示这个cookie仅在https环境下才能使用      
token过期机制   token过期从新获取token https://www.jianshu.com/p/58f05bf13b7d
检测http referer同域名   csrf 后端验证同源
文件上传白名单   文件上传漏洞 前后端均校验
关键请求使用验证码或token机制 csrf,数据重放 关键接口使用
ifarme配置sandbox iframe配置sandboxHTML 5中, iframe的sandbox的安全属性, 遵循“最小权限”原http劫持

http劫持 不使用iframe
第三方依赖检测工具 第三方依赖检测工具比如NSP(Node Security Platform)  不安全的第三方依赖 确认snoar是否可检测前端依赖
浏览器sri功能 每个资源文件都可以有一个SRI值, 就像下面这样。它由两部分组
成, 减号(-) 左侧是生成SRI值用到的哈希算法名, 右侧是经过
Base 64编码后的该资源文件的Hash值。

浏览器在处理这个script元素的时候, 就会检查对应的JS脚本文件
的完整性, 看其是否和script元素中integrity属性指定的SRI值一
致,如果不匹配,浏览器则会中止对这个JS脚本的处理。
静态资源完整性校验  

你可能感兴趣的:(关于前端安全防范做了一些总结,供参考交流)