参考:https://blog.csdn.net/fengyinchao/article/details/50775121 或 https://my.oschina.net/zhangstephen/blog/645011#OSC_h3_1
常见前端安全问题:
1、XSS攻击 (跨站脚本攻击):https://blog.csdn.net/liningaa/article/details/79512649?utm_source=blogxgwz5 (包括解决方案) 或 https://www.cnblogs.com/anic/archive/2012/07/12/2588812.html(图解xss攻击)
概念:往Web页面里注入恶意Script代码,用户浏览这些网页时,就会 执行其中的恶意代码,可对用户进行盗取cookie信息、会话劫持等各种攻击。
XSS实现的方式有:https://blog.csdn.net/wuyoudeyuer/article/details/104988940
a、反射型XSS:一般是 动态网页技术(如:jsp、php等) 才会出现的 xss攻击。【需要服务器 程序 配合】
说明:发出请求时,XSS代码出现在URL中,作为输入提交到服务器端,服务器端解析后响应,XSS代码随响应内容一起传回给浏览器,最后浏览器解析执行XSS代码。这个过程像一次反射,故叫反射型XSS。
b、存储型XSS:动态网页技术 上出现的可能比较大;前后端分离项目中,接口返回脚本字符串的话,前端基本不会使用evel()这种函数特意去执行的。【需要 服务器的存储功能 配合】
说明:存储型XSS和反射型XSS的差别仅在于,提交的代码会存储在服务器端(数据库,内存,文件系统等),下次请求目标页面时不用再提交XSS代码
解决:对于外部 的内容,不要随意 以 DOM 形式 插入 到DOM 中。对于要 以 DOM 插入 的内容,一定要 校验 内容是否合法。
c、DOM XSS:js中没有使用evel函数,要注入可执行的js脚本。只能通过DOM加载脚本才可以实现。如script、img 等标签【完全是客户端的事情】
说明:DOM XSS的代码并不需要服务器参与,触发XSS靠的是浏览器端的DOM解析,完全是客户端的事情。
解决:对于外部 的内容,不要随意 以 DOM 形式 插入 到DOM 中。对于要 以 DOM 插入 的内容,一定要 校验 内容是否合法。
2、CSRF攻击(跨站请求伪造):参考链接同上
问:cookie是不能跨域访问的,为什么会有csrf攻击 ?
答:https://blog.csdn.net/oqqaKun1/article/details/83507522 (解释起来,就是cookie在浏览器中并没有严格的跨域)
1、免费wifi站点盗取用户信息 : https://www.cnblogs.com/jiaopaner/archive/2016/10/18/5975391.html
2、post请求不是为了安全而设计的,只是相对get请求,隐藏了些敏感信息 : https://www.cnblogs.com/ouzi/archive/2012/10/16/2726778.html
3、数据脱敏 : https://blog.csdn.net/huyuyang6688/article/details/77689459 (数据脱敏一般都是后端处理的)
4、数据脱敏和数据加密的区别 : https://blog.csdn.net/kkx1988/article/details/80050355