网站安全处理记录
1.xss攻击之一
通过在浏览器注入js脚本,获取cookie的信息,跳转页面的方式获取信息;
通常是通过在留言板注入脚本,有人点击时就把cookie信息暴露了。
防范方法:
1.cookie值禁用js获取。 举个例子,登录的token信息,需要在服务端设置到cookie,并设置httponly属性;然后服务端在获取token信息时,也直接从cookie读取。前端无需处理token信息;
2.通过对token进行加ip方式生成,校验时同时校验ip信息,也可以有效防止这种类型token外泄的攻击;
2.暴力尝试密码(忘记密码请求发信邮件,用户注册,信用卡支付等接口同理)
防范方式:限制ip尝试次数
3.密码等隐私数据加密
a.信息传输加密,RSA+DES/AES 前端 用RSA公钥加密随机生成的(DES/AES key) 和用 该(DES/AES key) 加密输入信息的数据 传给后端,后端用RSA 私钥解密(DES/AES key),再用该key去解密输入的信息数据;
b.用户密码加盐加密,可以用MD5对用户相关信息加密后再用SHA加密一次,两次加密都可以加盐;
4.SQL注入
EF框架就很好用,除此之外可以通过基础过滤和二次过滤的方式,加上用户权限判断过滤程度,基本可以满足;
5.接口权限
通过给不同用户分配角色组,再给角色组配置各个api权限的方式控制接口权限(含是否匿名访问权限);
6.返回异常捕捉
在接口返回处添加异常过滤:业务异常信息正常返回,系统异常信息全部捕捉记入日志,并返回“System Error”文字;
7.IP白名单和黑名单
对于异常行为的用户ip进行黑白名单过滤
8.跳转来源检查
对于某些接口,需要检查referer是不是从信赖网站跳转