web安全问题的理解
同源策略以及cookie安全策略
[同源策略以及cookie安全策略](http://blog.csdn.net/turkeyzhou/article/details/8818173)
密码安全
- 前端使用md5加密,后端出处理的后果:一旦数据库泄露,并知道是前端进行hash,都不用知道md5对应的原文,直接修改客户端向服务器发送请求,密码为数据库中的md5就可以直接登陆。
不管前端是否加密了密码,都不能以此为假设,让后端设计的安全等级下降,否则就会有严重的安全问题。实际上,前端进行密码加密,可以看做帮助用户多进行了一次原文的转换,不管用了什么加密算法,算出来的结果都是密码原文,你该如何保护用户的原始密码,就该如何保护此处的加密结果,因为对你的登录系统来说,它们都是密码原文。
- 前端加密会带来什么问题。有些人会认为前端进行了加密,可以降低后台的安全性需求,这种错误的观念会造成系统的安全漏洞。实际上,你不能对前端做任何的假设,所有跟安全相关的技术,都必须应用在后台上。
- 前端进行加密会造成页面需要js脚本才能运行,那么假设你的系统需要兼容不能运行js的客户端,就必须再设计一个使用原文的登录接口。
- 前端是不是加密,所有安全机制都必须照常应用,所以为系统增加这样的复杂性是完全没必要的,即使传输明文密码,只要正确使用了HTTPS连接和服务器端安全的哈希算法,密码系统都可以是很安全的。
总结:前端加密对密码安全几乎没有任何的降低,安全还是的后端做。看似可以防止明文传输; 但是安全是常识问题,可稍微增加一点门槛,(我的理解是安全是相对的,只要解密所需成本远远大于解密后的利益)
加密算法:md5,sha1,base64(google的库crypto-js)
有效期token+加密后的密文密码 // TODO
验证码 // TODO
HTTPS // TODO
https加密是用的随机密钥的desc加密的.每次通信密钥是不一样的.截取密文是没有意义的.
- js不可读化处理 这是一个问答 压缩(compression)、混淆(obfuscation) 和加密(encryption)。
xss
之前很多项目都是使用了这个库对用户输入的内容进行过滤,以避免遭受XSS攻击的模块 js-xss
CSRF
威胁
通讯劫持
// TODO
数据库泄露
// TODO
内部查询
// TODO