《阿里巴巴Java开发手册(正式版)》--安全规约
1.【强制】隶属于用户个人的页面或者功能必须进行权限控制校验。
说明:防止没有做水平权限校验就可随意访问、操作别人的数据,比如查看、修改别人的订单。
2.【强制】用户敏感数据禁止直接展示,必须对展示数据脱敏。
说明:查看个人手机号码会显示成:158****9119,隐藏中间 4位,防止隐私泄露。
3.【强制】用户输入的 SQL参数严格使用参数绑定或者 METADATA字段值限定,防止 SQL注入,禁止字符串拼接 SQL访问数据库。
4.【强制】用户请求传入的任何参数必须做有效性验证。
说明:忽略参数校验可能导致:
- page size过大导致内存溢出
- 恶意 order by导致数据库慢查询
- 任意重定向
- SQL注入
- 反序列化注入
- 正则输入源串拒绝服务 ReDoS
说明:Java 代码用正则来验证客户端的输入,有些正则写法验证普通用户输入没有问题,但是如果攻击人员使用的是特殊构造的字符串来验证,有可能导致死循环的效果。
5.【强制】禁止向 HTML页面输出未经安全过滤或未正确转义的用户数据。
6.【强制】表单、AJAX提交必须执行 CSRF安全过滤。
说明:CSRF(Cross-site request forgery)跨站请求伪造是一类常见编程漏洞。对于存在CSRF漏洞的应用/网站,攻击者可以事先构造好 URL,只要受害者用户一访问,后台便在用户不知情情况下对数据库中用户参数进行相应修改。
7.【强制】在使用平台资源,譬如短信、邮件、电话、下单、支付,必须实现正确的防重放限制,如数量限制、疲劳度控制、验证码校验,避免被滥刷、资损。
说明:如注册时发送验证码到手机,如果没有限制次数和频率,那么可以利用此功能骚扰到其它用户,并造成短信平台资源浪费。
8.【推荐】发贴、评论、发送即时消息等用户生成内容的场景必须实现防刷、文本内容违禁词过滤等风控策略。
本文整理自:《阿里巴巴Java开发手册(正式版)》
整理本文的目的是方便自己阅读,标注等,如有侵权,立马删除。
作者:jiankunking 出处:http://blog.csdn.net/jiankunking
《阿里巴巴Java开发手册(正式版)》--安全规约相关推荐
- 阿里巴巴Java开发手册(正式版)
---------引自网络 目录 一. 编程规约............................................................................ ...
- 一份我们团队Java开发的开发规范,参考了阿里巴巴Java开发手册终极版v1.3.0
编程规约 For variable name, always use English with lowerCamelCase. space in comment: bad example: Sugge ...
- 阿里巴巴Java开发手册(嵩山版)v1.7.0 及各个历史版本 百度云直接带走 不需要其他操作
阿里巴巴Java开发手册(嵩山版)v1.7.0 阿里巴巴Java开发手册(泰山版)v1.6.0 阿里巴巴Java开发手册(华山版)v1.5.0 阿里巴巴Java开发手册(详尽版)v1.4.0 阿里巴巴 ...
- 《阿里巴巴Java开发手册(终极版)》
今天<阿里巴巴Java开发手册(终极版)>出炉-- 1.新版本历程 10月份阿里会出炉针对开发规范开发的IDE插件,值得期待! 2.新版本下载地址: https://pan.baidu.c ...
- 阿里巴巴Java开发手册终极版网页版v1.3.0
前言 一 .编程规约 ( 一 ) 命名风格 ( 二 ) 常量定义 ( 三 ) 代码格式 ( 四 ) OOP规约 ( 五 ) 集合处理 ( 六 ) 并发处理 ( 七 ) 控制语句 ( 八 ) 注释规约 ...
- 它来了:阿里巴巴Java开发手册泰山版解读
点击上方蓝色"程序猿DD",选择"设为星标" 回复"资源"获取独家整理的学习资料! 来源 | 公众号「阿飞的博客」 <Java开发手册 ...
- 阿里巴巴java开发手册-泰山版 下载
最近,阿里的<Java开发手册>又更新了,这个版本历经一年的修炼,取名:<Java开发手册(泰山版)>正式出道.正所谓无规矩不成方圆,在程序员的世界里,也存在很多规范,阿里出版 ...
- 阿里巴巴Java开发手册详尽版和华山版下载
更新日志: -------------- 2019.06.19日更新 -------------- 1.新增21条新规约.比如,switch的空指针问题.浮点数的比较.无泛型限制引起的类型混乱.加锁与 ...
- 阿里巴巴java开发手册(公开版)
一 . 编程规约 (一) 命名规约 [强制]所有编程相关命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束. 反例: _name / __name / $Object / name_ / ...
- 回顾阿里巴巴Java开发手册中分层领域模型规约之DO,DTO,BO,AO,VO,POJO
一 DO DO即Data Object:与数据库表结构一一对应,通过DAO层向上传输数据源对象. 二 DTO DTO即Data Transfer Object:数据传输对象,Service层向外传输的 ...
最新文章
- 郑州大学北校区oracle考试题,2019郑州大学软件学院oracle期末考试试题及答案(一)...
- 视频导切台控制说明:RGBLink MiniPro初步测试
- SQL server 2000建立远程连接(局域网)
- python中os.system.获取输出信息_python中os.system()的返回值
- python中文开发环境_Python开发环境配置
- 安卓APP_ Fragment(3)—— Fragment的生命周期
- 移动端设备判断,ios,android,判断设备,安卓
- 为啥不用ActiveRecord
- ECharts使用—折线图动态加载
- android pickerview 多行,Android PickerView 自定义条件选择器 联动
- html 怎么转换,html怎么转换成word?
- 全国计算机三级网络技术题库南开,计算机三级网络技术上机题库《南开100题》最新版...
- 网易2012校园招聘笔试题目
- 机器学习实战之信用卡诈骗(二)
- Windows 10展开速度升级!智慧桌面在科技和资安双重优势
- Procmon 结果列代码及其含义Detail 列使用的文件属性代码
- php 生成纯黑白图片,使用CSS将彩色图片转换为黑白图片
- python数据分析-matplotlib可视化
- MySQL中order by 结果不准确的问题及解决
- 『2021语言与智能技术竞赛』-多技能对话任务基线系统 Fork 325 喜欢 7