今天不知道怎么突然想起来前端的安全性问题,之前遇到过这样的笔试题,了解过,但是感觉没明白,又忘记了,所以今天来做一个总结。
- SQL注入:通过把SQL命令插入到Web表单提交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.防护措施:前端页面要校验用户的输入数据,后端不要使用动态SQL语句,不要直接存放机密数据。(严格说,sql注入属于后端的安全问题)
- XXS跨站脚本分析:攻击者将恶意脚本插入到网页中,网页会将这些恶意脚本当正常脚本来执行。所有可输入的地方没有处理输入的数据,就可能存在xxs漏洞。为了防护应该尽可能完善过滤体系。
- iframe风险 iframe中的内容是由第三方来提供的,默认情况下他们不受我们的控制,他们可以在iframe中运行JavaScirpt脚本、Flash插件、弹出对话框等等,这可能会破坏前端用户体验。如果iframe中的域名因为过期而被恶意攻击者抢注,或者第三方被黑客攻破,iframe中的内容被替换掉了,从而利用用户浏览器中的安全漏洞下载安装木马、恶意勒索软件,这样就会有很大的安全隐患了。
- CSRF 跨站请求伪造:CSRF攻击过程的受害者用户登录网站A,输入个人信息,在本地保存服务器生成的cookie。然后在A网站点击由攻击者构建一条恶意链接跳转到B网站,然后B网站携带着的用户cookie信息去访问B网站.让A网站造成是用户自己访问的假相,从而来进行一些列的操作,常见的就是转账.
emm~ 大概暂时就这些了,当然还有别的安全问题,但是我好像不太能理解,粗略的浏览了一下,然后以后弄明白点了再补充吧
补充:前端安全性问题之跨域
所谓的跨域,是为了避免前端安全性问题而做的同源策略引发的问题。
同域名、同端口、同协议视为同一个域,一个域内的脚本仅仅具有本域内的权限,可以理解为本域脚本只能读写本域内的资源,而无法访问其它域的资源。
否则,就是跨域。
在同源策略的限制下允许部分不遵循同源策略访问的方式就是跨域
这里是一篇我认为总结的很好的博客
这是个跟我差不多情况的博主写的博客~
常见的跨域方式有:
- jsonp Jsonp(JSON with Padding)是json的一种”使用模式”,可以让网页从别的域名(网站)那获取资料,即跨域读取数据。因为通过script标签引入的js是不受同源策略的限制的。JSONP易于实现,但是也会存在一些安全隐患,如果第三方的脚本随意地执行,那么它就可以篡改页面内容,截获敏感数据。但是在受信任的双方传递数据,JSONP是非常合适的选择。可以看出来JSONP跨域一般用于获取其他域的数据。
- ifarme iframe跨域的原理跟script跨域一样,但是我们要注意的是标签自身功能的差异性,具体差异如下:
script单纯就是引入的作用,但是iframe标签还有一个作用是显示的作用可以把远程加载的HTML代码显示出来,也就是script无法引入HTML代码文件script标签只能够从远程获取数据,无法操作远程文件执行。但是iframe可以这样 - document.domain
- window.name
- cookie
- postMessage
还是不太明白~