《阿里巴巴开发手册》读书笔记-安全规约

安全规约

安全规约

  • 隶属于用户个人的页面或者功能必须进行权限控制校验
    • 防止没有做水平校验接可以随意访问,修改,删除别人的数据
      • 查看私信内容
      • 修改私人订单
  • 用户敏感数据禁止直接展示,必须对展示数据进行脱敏处理
    • 比如手机号隐藏中间4位,防止隐私泄露
  • 用户输入的SQL参数严格使用参数绑定或者MATADATA字段限定,防止SQL注入,禁止字符串拼接SQL访问数据库
  • 用户传入的任何参数必须做有效性验证:
    • 忽略参数校验会导致:
      • page size过大导致内存溢出
      • 恶意order by导致数据库慢查询
      • 任意重定向
      • SQL注入
      • 反序列化注入
      • 正则输入源串拒绝服务ReDos
    • Java代码使用正则来验证客户端的输入:
      • 有些正则普通用户输入没有问题
      • 如果攻击人员使用的是特殊构造的字符串来验证,有可能导致死循环的结果
  • 禁止向HTML页面输出未经安全过滤或未正确转义的用户数据
  • 表单,Ajax提交必须执行CSRF安全验证
  • CSRF(Cross-site request forgery)跨站请求伪造是常见的安全漏洞
    • 对于存在CSRF漏洞的网站或者应用,攻击者可以事先构造好URL,只要受害者用户一访问,后台便在用户不知情的情况下对数据库中的用户参数进行修改
  • 在使用平台资源,比如短信,邮件,电话,下单,支付,必须实现防重放的机制,例如数量限制,疲劳度控制,验证码校验,避免被滥刷而导致资源损耗
    • 比如注册时发送验证码到手机,如果没有限制次数和频率,那么就可以利用此功能骚扰其它用户,导致短信平台资源浪费
  • 发帖,评论,发送即时消息等用户生成内容的场景必须实现防刷,文本内容违禁词过滤等风控策略
发布了127 篇原创文章 · 获赞 109 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/JewaveOxford/article/details/104672324