Java开发手册-第四章 安全规约
研读阿里巴巴Java开发手册,第四章安全规约在我们工程中的实现。
[强制]隶属于用户个人的页面或者功能必须进行权限控制校验
说明:防止没有做水平权限就可随意访问,修改,删除别人的数据,比如查看他人的私信内容、修改他们的订单。
- 获取登录信息的memberId校验(更新用户地址)
用户敏感数据禁止直接展示,必须对展示数据进行脱敏。
memberAddress.getMemberRecipientPhone().substring(3, 7), "****")
用户输入的SQL参数严格使用参数绑定或者METADATA字段值限定,防止SQL注入,禁止字符串拼接访问SQL数据库
//TODO 暂时没有实例
用户请求传入的任何参数必须做有效性验证。
说明: 忽略参数校验可能导致如下情况:
- page size过大导致内存溢出
- 恶意order by导致数据库慢查询
- 任意重定向
- SQL注入
- 反序列化注入
- 正则输入源串拒绝服务ReDos
//todo 没有案例
禁止向Html页面输出未经安全过了或未正确转义的用户数据
表单,ajax提交必须执行CSRF安全过滤
CSRF:cross-site request forgery 跨站请求伪造。
如果对表单的输入没有防护,攻击者会做一个完全跟网站的下一个页面相同的页面,获取用户的信息。csrf防护跟xss防护通常一起使用。
XSS 防范是后端 RD (研发人员)的责任,后端 RD 应该在所有用户提交数据的接口,对敏感字符进行转义,才能进行下一步操作。
关键词:转义
美团xss攻击案例