前端开发安全规范
一、敏感信息加密
描述:
- 对用户提交的参数进行截获
- web端本地的数据存储,如H5d localStroage、sessionStroage
预防方案
- 对用户登录的密码进行加密后传输
- 将http升级为https
- 本地存储只能用于非关键信息的存储,比较重要的用户信息在存储时
按照base64进行编码后存储,避免在浏览器客户端直接看到明文信息。
对于关键重要信息,禁止采用客户端本地存储技术进行存储。
二、系统提示信息
描述
- 攻击者根据返回的提示信息会猜测到系统中存在的登陆用户名,然会对密码进行暴力破解。
- 前端将后端的推展信息展示到页面上,会暴露sql、java代码语句等关键信息
预防方案
- 对网站登陆页面的判断回显信息做到模糊化提示,避免出现例如:用户不存在、密码错误等准确性提示,因统一使用:用户名或密码错误
- 后台不允许直接将java运行时Exception堆栈信息返回给前台,而应采用自定义异常机制返回。使用自定义异常继承相关的异常来抛出处理后的异常信息可以隐藏底层的异常,这样更安全,异常信息也更加的直观。
- 前端如果接受到后端的堆栈信息,必须将异常堆栈信息与业务信息字段区分,禁止直接将底层Exception堆栈信息显示给用户。
三、部署代码的安全性
描述
- 在客户端浏览器能够直接看到html与JavaScript代码,通过浏览器的调试
机制可对客户端