当前位置: 首页 > news >正文

阿里巴巴 Java 开发手册--学习(三)

安全规约

         1、用户输入的 SQL 参数严格使用参数绑定或者 METADATA 字段值限定,防止 SQL 注入,禁止字符串拼接 SQL 访问数据    库

    2、用户请求传入的任何参数必须做有效性验证。

    3、表单、 AJAX 提交必须执行 CSRF 安全过滤。

    4、在使用平台资源,譬如短信、邮件、电话、下单、支付,必须实现正确的防重放限制,如数量限制、疲劳度控制、验证    码校验,避免被滥刷、资损。

MySQL数据库

    mysql数据库之建表规约

         1、表达是与否概念的字段,必须使用 is _ xxx 的方式命名,数据类型是 unsigned tinyint(1 表示是0表示否) 

    2、表名、字段名必须使用小写字母或数字 , 禁止出现数字开头,禁止两个下划线中间只出现数字。

    3、小数类型为 decimal ,禁止使用 float 和 double 。 float 和 double 在存储的时候,存在精度损失的问题,很可    能在值的比较时,得到不正确的结果。如果存储的数据范围超过 decimal 的范围,建议将数据拆成整数和小数分开存    储。

    4、单表行数超过 500 万行或者单表容量超过 2 GB ,才推荐进行分库分表。

mysql数据库之索引规约

         1、业务上具有唯一特性的字段,即使是多个字段的组合,也必须建成唯一索引。

    2、超过三个表禁止 join 。需要 join 的字段,数据类型必须绝对一致 ; 多表关联查询时,保证被关联的字段需要有索    引。

    3、建组合索引的时候,区分度最高的在最左边。

mysql数据库之sql语句

         1、不要使用 count( 列名 ) 或 count( 常量 ) 来替代 count( * ) , count( * ) 是 SQL 92 定义的标准统计行数的    语法,跟数据库无关,跟 NULL 和非 NULL 无关。

    2、使用 ISNULL() 来判断是否为 NULL 值。 NULL 与任何值的直接比较都为 NULL。

    3、禁止使用存储过程,存储过程难以调试和扩展,更没有移植性。

mysql数据库之ORM映射

         1、在表查询中,一律不要使用 * 作为查询的字段列表,需要哪些字段必须明确写明。

    2、sql. xml 配置参数使用:#{},# param # 不要使用${} 此种方式容易出现 SQL 注入。



相关文章:

  • 阿里巴巴 Java 开发手册--学习(四)
  • Selenium入门之元素的基本定位以及操作
  • 阿里规约插件的安装和使用
  • Tomcat结构及处理请求过程
  • Spark Rdd coalesce()方法和repartition()方法
  • 基于Oracle的SQL优化--学习(一)
  • 基于Oracle的SQL优化--学习(二)
  • MySQL案例-show fileds from 提示无权限
  • B+树的数据结构理解
  • 基于Oracle的SQL优化--学习(三)
  • 打 spice 的 deb 格式安装包的时遇到的问题和解决方法
  • 基于Oracle的SQL优化--学习(四)
  • 基于Oracle的SQL优化--学习(五)
  • 基于Oracle的SQL优化--学习(六)
  • (转载)hibernate缓存
  • 【译】JS基础算法脚本:字符串结尾
  • 分享的文章《人生如棋》
  • 【刷算法】求1+2+3+...+n
  • Android单元测试 - 几个重要问题
  • canvas 高仿 Apple Watch 表盘
  • css的样式优先级
  • Java Agent 学习笔记
  • JDK 6和JDK 7中的substring()方法
  • js中forEach回调同异步问题
  • Just for fun——迅速写完快速排序
  • Python利用正则抓取网页内容保存到本地
  • Python中eval与exec的使用及区别
  • QQ浏览器x5内核的兼容性问题
  • Twitter赢在开放,三年创造奇迹
  • WebSocket使用
  • Web标准制定过程
  • 阿里研究院入选中国企业智库系统影响力榜
  • 马上搞懂 GeoJSON
  • 巧用 TypeScript (一)
  • 如何打造100亿SDK累计覆盖量的大数据系统
  • python最赚钱的4个方向,你最心动的是哪个?
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • 如何正确理解,内页权重高于首页?
  • 移动端高清、多屏适配方案
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #[Composer学习笔记]Part1:安装composer并通过composer创建一个项目
  • #define
  • #pragma pack(1)
  • #QT项目实战(天气预报)
  • #微信小程序:微信小程序常见的配置传值
  • $forceUpdate()函数
  • (12)Hive调优——count distinct去重优化
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (规划)24届春招和25届暑假实习路线准备规划
  • (数据结构)顺序表的定义
  • .cn根服务器被攻击之后
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET 反射 Reflect
  • .net 前台table如何加一列下拉框_如何用Word编辑参考文献