安全只要关注的是私密性和可靠性,前者是指不被非法获取和利用,后者是指不丢失不损坏,以及不被串改。
简介
web安全
- 代码层面
- 架构层面,设计的安全
- 运维层面
安全问题
- 用户身份被盗用
- 密码泄露
- 用户资料被盗取
- 网站数据库泄露
- 其他
重要性
- 直面用户,挑战严峻
- 生命线
- 威胁口碑
测试环境
nodejs
前端攻击都有哪些形式,我该如何防范
1 XSS攻击
XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。
如果你将自己的用户名设定为这种执行脚本的方式,再让别人去访问你的连接的话,就可以达到在他人web环境中,执行自己脚本的效果了。我们还可以使用ajax,将其他用户在当前域名下的cookie获取并发送到自己的服务器上。这样就可以获取他人信息了。
最简单的办法防治办法,还是将前端输出数据都进行转义最为稳妥。
jQuery的append,img标签的使用,innerHTML赋值一个img标签
在URL的这个参数中,加入js代码,这样便又会被执行
阻止黑客通过js访问到cookie中的用户敏感信息。那么请使用cookie的HttpOnly属性,加上了这个属性的cookie字段,js是无法进行读写的
2 CSRF攻击
其实就是网站中的一些提交行为,被黑客利用,网站的
3 网络劫持攻击
我们的网站不是直接就访问到我们的服务器上的,中间会经过很多层代理,如果在某一个环节,数据被中间代理层的劫持者所截获,他们就能获取到使用你网站的用户的密码等保密数据。比如,我们的用户经常会在各种饭馆里面,连一些奇奇怪怪的wifi
如果你的网站还没有进行https加密的化,则在表单提交部分,最好进行非对称加密–即客户端加密,只有服务端能解开。这样中间的劫持者便无法获取加密内容的真实信息了。
###4 控制台注入代码
诱骗用户去往控制台里面粘贴东西
5 钓鱼
6 WebView被运营商劫持、注入问题
CSP可以有效的拦截页面中的非白名单资源,而且兼容性较好。在美团移动版的使用中,能够阻止大部分的页面内容注入。
HTTPS可以防止页面被劫持或者注入
7 给裸接口加一道防护,避免恶意盗刷和爬取
我们平时开发要注意些什么?
- 开发时要提防用户产生的内容,要对用户输入的信息进行层层检测
- 要注意对用户的输出内容进行过滤(进行转义等)
- 重要的内容记得要加密传输(无论是利用https也好,自己加密也好)
- get请求与post请求,要严格遵守规范,不要混用,不要将一些危险的提交使用jsonp完成。
- 对于URL上携带的信息,要谨慎使用。