4.安全规约

4.安全规约

1.Cross Site Scripting(跨站脚本攻击)

介绍:
- 将 html js 代码注入到浏览器上,docuemnt.cookie 窃取用户cookie,获取用户隐私信息进一步非法操作
方案:
- 设置Cookie 为 HttpOnly
- 过滤特殊字符(过滤器)

2.Cross Site Request Forgery(跨站请求伪造)

介绍:
- 欺骗用户使用浏览器访问已经认证过的网站执行一些操作:发邮件、发消息、转账、购买商品等
方案:
- 检查 Referer,要求请求来源的地址在同一个域名或者来自信任的域名
- 添加校验 Token,例如服务器生成随机数添加在表单中,要求客户端回传这个随机数进行校验
- 输入验证码,对于敏感操作,要求用户输入验证码,提示用户正在进行的敏感操作

3.SQL注入

介绍:
- 服务器上运行通过拼接完成的非法SQL
方案:
- 使用参数话查询,Java 中的 PrepareStatement 是预编译 SQL 语句,由于没有拼接过程,可以防止 SQL 注入,同理还有 MyBatis 的 #{},不要使用可拼接的 ${}

4.隶属于用户个人的数据或功能,必须进行权限校验

5.用户敏感数据禁止直接展示,需要对数据进行脱敏展示

如用户手机号中间4位进行脱敏展示,189****2050

6.用户请求入参必须做校验

- page size 过大,导致 oom
- 恶意 order by 导致慢查询
- 缓存击穿

7.使用平台资源,需要对使用次数、频率进行限制

如短信验证码(烂刷短信验证码资源,且会骚扰用户)等

8.发帖、评论、即时消息等场景,对文本进行涉黄、涉恐等违禁词过滤

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值