首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Web安全开发规范手册V1.0

在应用外部边界或内部每个组件或功能边界,都将其当做潜在恶意输入来校验 白名单 不可信数据可以设定白名单校验,应接受所有和白名单匹配数据,阻止其他数据 黑名单 不可信数据包含不良输入字符时,如空字节...:数据类型如字符.数字、日期特征;数据范國;数据长度 防范SQL注入 不可信数据进入后端数据库操作前,建议使用正角参数化查询来处理,避免出现SQL注入 文件校验 不可信数据为解压缩文件时,如果文件位于服务目录外或文件大小超过限制...禁止错误回显 禁止系统开启 Debug模式或异常时返回包含敏感信息提示,建议使用自定义错误信息模板异常信息应存放在日志中用于安全审计 2.4 XSS跨站 说明 检查项 输入校验 对输入数据进行过滤和转义...,包含但不限于"9%0&+V"危险特殊字符 输出编码 输入数据输出到不同场景中进行不同形式编码,如输出到HTML标签则进行HTML编码输出到URL则进行URL编码,输出到JS Script...验证码校验 禁止在响应返回验证码,验证码校验应在服务端进行 3.4 密码管理 说明 检查项 密码设置 密码设置时,应该满足8位及以上长度,含大小写字母、数字及特殊字符要求。

1.5K41
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【转】全面的告诉你项目的安全性控制需要考虑方面

    在应用外部边界或内部每个组件或功能边界,都将其当做潜在恶意输入来校验 白名单 不可信数据可以设定白名单校验,应接受所有和白名单匹配数据,阻止其他数据 黑名单 不可信数据包含不良输入字符时,如空字节...:数据类型如字符.数字、日期特征;数据范國;数据长度 防范SQL注入 不可信数据进入后端数据库操作前,建议使用正角参数化查询来处理,避免出现SQL注入 文件校验 不可信数据为解压缩文件时,如果文件位于服务目录外或文件大小超过限制...禁止错误回显 禁止系统开启 Debug模式或异常时返回包含敏感信息提示,建议使用自定义错误信息模板异常信息应存放在日志中用于安全审计 2.4 XSS跨站 说明 检查项 输入校验 对输入数据进行过滤和转义...,包含但不限于"9%0&+V"危险特殊字符 输出编码 输入数据输出到不同场景中进行不同形式编码,如输出到HTML标签则进行HTML编码输出到URL则进行URL编码,输出到JS Script...验证码校验 禁止在响应返回验证码,验证码校验应在服务端进行 3.4 密码管理 说明 检查项 密码设置 密码设置时,应该满足8位及以上长度,含大小写字母、数字及特殊字符要求。

    1.3K30

    Web安全开发规范手册V1.0

    在应用外部边界或内部每个组件或功能边界,都将其当做潜在恶意输入来校验 白名单 不可信数据可以设定白名单校验,应接受所有和白名单匹配数据,阻止其他数据 黑名单 不可信数据包含不良输入字符时,...:数据类型如字符.数字、日期特征;数据范國;数据长度 防范SQL注入 不可信数据进入后端数据库操作前,建议使用正角参数化查询来处理,避免出现SQL注入 文件校验 不可信数据为解压缩文件时,如果文件位于服务目录外或文件大小超过限制...验证码校验 禁止在响应返回验证码,验证码校验应在服务端进行 密码管理 密码设置 密码设置时,应该满足8位及以上长度,含大小写字母、数字及特殊字符要求。...禁止错误回显 禁止系统开启 Debug模式或异常时返回包含敏感信息提示,建议使用自定义错误信息模板异常信息应存放在日志中用于安全审计 XSS注入 输入校验 对输入数据进行过滤和转义,包含但不限于\..."9%0&+\V"危险特殊字符 输出编码 输入数据输出到不同场景中进行不同形式编码,如输出到HTML标签则进行HTML编码输出到URL则进行URL编码,输出到JS Script编码

    2.6K00

    MySQL开发规范与使用技巧总结

    4.库名、表名、字段名禁止使用MySQL保留字。 当库名、表名、字段名属性含有保留字时,SQL语句必须用反引号引用属性名称,这将使得SQL语句书写、SHELL脚本变量转义变得⾮非常复杂。...5.禁止使用分区表。 分区表对分区键有严格要求;分区表在表变大后,执⾏DDL、SHARDING、单表恢复都变得更加困难。因此禁止使用分区表,建议业务端手动SHARDING。...2.禁止在数据库存储明文密码。 采用加密字符串存储密码,保证密码不可解密,同时采用随机字符串加盐保证密码安全。 3.表必须有主键,推荐使用UNSIGNED自增列作为主键。...覆盖索引则可以在⼀一个索引获取所有需要数据,因此效率较高。...21.不要在MySQL数据库存放业务逻辑。 数据库是有状态服务,变更复杂而且速度慢,如果把业务逻辑放到数据库,将会限制业务快速发展。

    63431

    MySQL开发规范.pdf

    禁止项: 1、 禁止使用 select * 查询 当查询所有字段(select *)会导致下列问题 1. 增加网络带宽消耗 2....5、SQL 禁止出现 now()、rand()、sysdate()、current_user()不确定结果 函数。...如果有表情符号需求,可以使用 utf8mb4 2、表必须有主键,推荐使用 UNSIGNED 自增列作为主键 表没有主键,INNODB 会默认设置隐藏主键列;没有主键表在定位数据行时效率会非常低而且降低基于复制效率...5、建议不要使用子查询 对于子查询,mysql 会对子查询结果返回给外部表,对外部表进行全表扫描 6、建议将大字段、访问频率低字段拆分到单独存储,分离冷热数据 当我们存在类似于 TEXT...7、建议用 in() /union 替换 or,注意 in 个数(个数多少依照具体情况而定) 8、建议尽量不使用 mysql 存储过程、触发器、函数(依照具体情况而定) 容易将业务逻辑和 DB 耦合在一起

    73910

    58到家MySQL军规升级版

    4字节例如表情符号时,使用禁止使用存储过程,视图,触发器,Event 解读: (1)对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情,不要交到数据库层 (2)调试,排错,迁移都比较困难,...扩展性较差 禁止在数据库存储大文件,例如照片,可以将大文件存储在对象存储系统,数据库存储路径 禁止在线上环境做数据库压力测试 测试,开发,线上数据库环境必须隔离 二、命名规范 库名,表名,列名必须用小写...,如果是row模式主从架构,从库会挂住 禁止使用外键,如果要保证完整性,应由应用程式实现 解读:外键使得表之间相互耦合,影响update/deleteSQL性能,有可能造成死锁,高并发情况下容易成为数据库瓶颈...根据业务区分使用char/varchar 解读: (1)字段长度固定,或者长度近似的业务场景,适合使用char,能够减少碎片,查询性能高 (2)字段长度相差较大,或者更新较少业务场景,适合使用varchar...理解组合索引最左前缀原则,避免重复建设索引,如果建立了(a,b,c),相当于建立了(a), (a,b), (a,b,c) 六、SQL规范 禁止使用select *,获取必要字段 解读: (1)select

    1.3K150

    mysql标准规范

    是utf8超集,有存储4字节例如表情符号时,使用禁止使用存储过程,视图,触发器,Event 解读: (1)对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情,不要交到数据库层 (2...)调试,排错,迁移都比较困难,扩展性较差 禁止在数据库存储大文件,例如照片,可以将大文件存储在对象存储系统,数据库存储路径 禁止在线上环境做数据库压力测试 测试,开发,线上数据库环境必须隔离...外键使得表之间相互耦合,影响update/deleteSQL性能,有可能造成死锁,高并发情况下容易成为数据库瓶颈 建议将大字段,访问频度低字段拆分到单独存储,分离冷热数据 四、列设计规范...4个字节,存储年使用YEAR,存储日期使用DATE,存储时间使用datetime 必须把字段定义为NOT NULL设默认值 解读: (1)NULL使用索引,索引统计,值都更加复杂,MySQL...理解组合索引最左前缀原则,避免重复建设索引,如果建立了(a,b,c),相当于建立了(a), (a,b), (a,b,c) 六、SQL规范 禁止使用select *,获取必要字段 解读: (1

    35320

    Mysql 军规升级版

    是utf8超集,有存储4字节例如表情符号时,使用禁止使用存储过程,视图,触发器,Event 解读: (1) 对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情,不要交到数据库层...(2) 调试,排错,迁移都比较困难,扩展性较差 禁止在数据库存储大文件,例如照片,可以将大文件存储在对象存储系统,数据库存储路径 禁止在线上环境做数据库压力测试 测试,开发,线上数据库环境必须隔离...,影响update/deleteSQL性能,有可能造成死锁,高并发情况下容易成为数据库瓶颈 建议将大字段,访问频度低字段拆分到单独存储,分离冷热数据 解读:具体参考《如何实施数据库垂直拆分...前者占用5个字节,后者占用4个字节,存储年使用YEAR,存储日期使用DATE,存储时间使用datetime 必须把字段定义为NOT NULL设默认值 解读: (1)NULL使用索引,索引统计...理解组合索引最左前缀原则,避免重复建设索引,如果建立了(a,b,c),相当于建立了(a), (a,b), (a,b,c) 六、SQL规范 禁止使用 select *,获取必要字段 解读: (

    61630

    【转载】58到家MySQL军规升级版

    ,汉字3字节,英文1字节 (2)utf8mb4是utf8超集,有存储4字节例如表情符号时,使用禁止使用存储过程,视图,触发器,Event 解读: (1)对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情...,不要交到数据库层 (2)调试,排错,迁移都比较困难,扩展性较差 禁止在数据库存储大文件,例如照片,可以将大文件存储在对象存储系统,数据库存储路径 禁止在线上环境做数据库压力测试 测试,开发,线上数据库环境必须隔离...SQL性能,有可能造成死锁,高并发情况下容易成为数据库瓶颈 建议将大字段,访问频度低字段拆分到单独存储,分离冷热数据 解读:具体参加《如何实施数据库垂直拆分》 四、列设计规范 根据业务区分使用...存储日期使用DATE,存储时间使用datetime 必须把字段定义为NOT NULL设默认值 解读: (1)NULL使用索引,索引统计,值都更加复杂,MySQL更难优化 (2)NULL需要更多存储空间...理解组合索引最左前缀原则,避免重复建设索引,如果建立了(a,b,c),相当于建立了(a), (a,b), (a,b,c) 六、SQL规范 禁止使用select *,获取必要字段 解读: (1)select

    52030

    [eslint配置和rule规则解释

    借助 ESLint,可将 静态代码分析 和 问题代码协助修复 集成到 编码、提交 和 打包 过程,及早发现协助修复代码: 有语法错误部分 不符合约定样式准则部分 不符合约定最佳实践部分...在项目开发获得如下收益: 在执行代码之前发现修复语法错误,减少调试耗时和潜在 bug 保证项目的编码风格统一,提高可维护性 督促团队成员在编码时遵守约定最佳实践,提高代码质量 配置 配置文件包含相对路径和...这种配置对配置文件所在目录及其子目录树所有文件有效。 配置文件格式 JavaScript - use .eslintrc.js 文件导出一个包含配置信息对象。...当指定基础配置时,rules 参数指定规则可按如下几种方式进行扩展: 启用基础配置没有规则 继承基础配置规则,改变其错误级别,但不改变其附加选项: 基础配置: "eqeqeq": ["error...": 2,//严格模式规定限制标识符不能作为声明时变量名使用 "no-spaced-func": 2,//函数调用时 函数名与()之间不能有空格 "no-sparse-arrays": 2,//禁止稀疏数组

    2.9K40

    Mysql命名规范

    超集,有存储 4 字节例如表情符号时,使用它 复制代码 禁止使用存储过程,视图,触发器,Event 说明: 1)对数据库性能影响较大,互联网业务,能让站点层和服务层干的事情,不要交到数据库层 2...表名、字段名必须使用小写字母或数字,禁止出现数字开头,禁止两个下划线中间 出现数字。 说明:MySQL 在 Windows 下不区分大小写,但在 Linux 下默认是区分大小写。.../delete SQL 性能,有可能造成死锁,高并发情况下容易成为数据库瓶颈 建议将大字段,访问频度低字段拆分到单独存储,分离冷热数据 单表行数超过 500 万或者单表容量超过 2GB...正例:商品类目名称使用频率高,字段长度短,名称基本一成不变,可在相关联冗余存储类目名称,避免关联查询。...复制代码 SQL 语句 禁止使用 select *,获取必要字段 说明: 1)`select` 会增加 cpu/io/内存/带宽消耗 2)指定字段能有效利用索引覆盖 3)指定字段查询,在表结构变更时

    7.9K21

    MySQL数据库设计规范

    innodb 支持事务、级锁,有更好数据恢复能力、更好并发性能,同时对多核、大内存、SSD硬件支持更好,支持数据热备份。因此 innodb 比 myisam 有明显优势。...分区表对分区键有严格要求,分区表在表变大后,执行DDL、SHARDING、单表恢复都变困难。因此禁止使用分区表,建议业务端手动SHARDING。 规范五,减少或避免使用临时表。...表没有主键,innodb 会默认设置隐藏主键列,没有主键表在定位数据时候非常困难,也会降低基于复制效率。 规范八,将大字段、访问频率低字段拆分到单独存储,分离冷热数据。...规范二十二,相同含义字段在不同表使用相同名称,数据类型及长度必须保持一致。...多列主键会导致其他索引体积膨胀,占用更多空间,降低性能。 如果查询都是基于主键字段,且只有 1个及以下辅助索引,则限制可放宽。

    2.3K20

    【笔记】Mysql 数据库操作规范

    [FAQ-5-04] 选择区分度⼤列建立索引。组合索引,区分度⼤字段放在最前。 对字符串使用前缀索引,前缀索引长度不超过 8 个字符。 不对过⻓ VARCHAR 字段建⽴索引。...SELECT 获取必要字段,禁⽌使用 SELECT *。[FAQ-6-05] SQL 避免出现 now()、rand()、sysdate()、current_user() 不确定结果函数。...c)EMOJ 表情符号存储需求,只能使用 UTF8MB4 字符集。 d) 不同字符集字段关联时无法使用索引。 【FAQ-3-01】 禁⽌使⽤分区表。...分区表对分区键有严格要求;分区表在表变大后,执⾏ DDL、SHARDING、单表恢复都变得更加困难。因此禁止使⽤分区表,建议业务端手动 SHARDING。...数据库是有状态服务,变更复杂而且速度慢,如果把业务逻辑放到数据库,将会限制业务快速发展。建议把业务逻辑提前,放到前端或中间逻辑层,⽽把数据库作为存储层,实现逻辑与存储分离。

    1.4K20

    SQL命令 TOP

    SELECT语句TOP子句将返回行数限制为int中指定行数。 如果没有指定TOP子句,则默认显示满足SELECT条件所有。...如果指定了TOP子句,则显示行数或行数要么为int,要么为满足查询谓词要求所有(以较小为准)。 如果指定ALL, SELECT将返回表满足查询谓词要求所有。...在这种情况下,能希望发出一个TOP子句,该子句int值大于总数。 可能希望限制返回行数指定它们顺序,而不改变默认SELECT优化。...如果不同值比TOP值少,则返回具有不同值。 当仅引用标量函数时,返回一。...在非游标嵌入式SQL,TOP 0查询不返回任何设置SQLCODE=100;带有TOP 1(或任何其他TOP int值)非游标嵌入式SQL查询返回一设置SQLCODE=0。

    1.7K20

    数据库设计规范

    命名规范 1.1 库名、表名、字段名禁止使用MySQL保留字。 1.2 库名、表名、字段名使用常用英语而不要使用编码,需见名知意,命名与业务、产品线相关联。...如果遇到EMOJ表情符号存储需求,可申请使用UTF8MB4字符集 2.3 所有表都要添加注释,除主键外字段都需要添加注释 类status型需指明主要值含义,如’0-离线,1-在线’ 2.4...2.9 尽量存储单一实体类型数据 2.10 数据库不允许存储明文密码 所有的密码、scret key和SSH key类似的保密信息,必须经过非对称加密,再保存到数据库。...另外尽可能把text/blob拆到另一个表 BLOB可以看成varbinary扩展版本,内容以二进制字符串存储,无字符集,区分大小写,有一种经常提但不场景:不要在数据库里存储图片。...覆盖索引则可以在一个索引获取所有需要数据列,从而避免回表进行二次查找,节省I/O因此效率较高。

    1.3K20

    各种关闭eslint方法总结

    [// 此项是用来配置vue.js风格,就是说写代码时候要规范写,如果你使用vs-code我觉得应该可以避免出错 "plugin:vue/essential", "@vue...": 0,//node不能使用__dirname或__filename做路径拼接 "no-plusplus": 0,//禁止使用++,-- "no-process-env": 0,//禁止使用process.env...": 2,//严格模式规定限制标识符不能作为声明时变量名使用 "no-spaced-func": 2,//函数调用时 函数名与()之间不能有空格 "no-sparse-arrays": 2,//禁止稀疏数组...": false, "afterColon": true }],//对象字面量冒号前后空格 "lines-around-comment": 0,//行前/后备注 "max-depth": [0,...cli关闭eslint 找到.eslintrc.js文件,直接删除里边全部内容就可以了,但不要删除这个文件,否则会报错Error: No ESLint configuration found.

    15.1K21

    MySQL命名、设计及使用规范--------来自标点符《MySQL命名、设计及使用规范》

    尽可能不使用TEXT、BLOB类型 禁止在数据库中使用VARBINARY、BLOB存储图片、文件。建议使用其他方式存储(TFS/SFS),MySQL保存指针信息。...8、如无备注,所有字段都设置NOT NULL,设置默认值; 9、禁止在数据库存储明文密码 10、如无备注,所有的布尔值字段,如is_hot、is_deleted,都必须设置一个默认值,设为0; 11...整体最大长度是65,532字节)。 同CHAR对比,VARCHAR值保存时保存需要字符数,另加一个字节来记录长度(如果列声明长度超过255,则使用两个字节)。VARCHAR值保存时不进行填充。...2、对字符串使用前缀索引,前缀索引长度不超过8个字符,建议优先考虑前缀索引,必要时可添加伪列建立索引。...7、 尽量不使用外键 外键用来保护参照完整性,可在业务端实现 对父表和子表操作会相互影响,降低可用性 INNODB本身对online DDL限制 MYSQL 索引限制 MYISAM 存储引擎索引长度总和不能超过

    5.7K20
    领券