**请参考产品安全检查表。**
> **输入和输出:**
>> **检查是否做了HTML代码的过滤**
可能出现的问题:如果有人输入恶意的HTML代码,会导致窃取cookie, 产生恶意登录表单,和破坏网站。
>
>>**检查变量做数据库操作之前是否做了`escape`**
可能出现的问题:如果一个要写入查询语句的字符串变量包含了某些特殊的字符,比如引号(',")或者分号(;) 可能造成执行了预期之外的操作。
<br/>建议采用的方法:使用`mysql_escape_string()`或实现类似功能的函数。
>
>>**检查输入数值的合法性**
可能出现的问题:异常的数值会造成问题。如果对输入的数值不做检查会造成不合法的或者错误的数据存入UDB、存入其它的数据库或者导致意料之外的程序操作发生。
> **举例:**如果程序以用户输入的参数值做为文件名,进行文件操作,恶意输入系统文件名会造成系统损毁。
>> **核实对cookie的使用以及对用户数据的处理**
可能出现的问题:不正确的cookie使用可能造成用户数据泄漏。
>
>> **访问控制**
对内部使用的产品或者供合作方使用的产品,要考虑增加访问控制。
>
>> **logs**
确保用户的保密信息没有记在log中(例如:用户的密码);
确保对关键的用户操作保存了完整的用户访问记录。
>
>> **https**
对敏感数据的传输要采用https。
- 1、编写目的
- 2、整体要求
- 3、安全规范
- 3.1、包含文件
- 3.1.1、命名规则
- 3.1.2、存放规则
- 3.2、安全规则
- 3.3、一些针对PHP的规则
- 3.4、其它处理规则
- 3.4.1、输入参数处理
- 3.4.2、操作大HTML文本
- 4、编码规范
- 4.1、命名规范
- 4.1.1、变量命名
- 4.1.2、类命名
- 4.1.3、方法或函数
- 4.1.4、缩写词
- 4.1.5、数据库表名
- 4.1.6、数据库字段
- 4.2、书写规则
- 4.2.1、代码缩进
- 4.2.2、大括号{}书写规则
- 4.2.3、小括号()和函数、关键词等
- 4.2.4、=符号书写
- 4.2.5、if else swith for while等书写
- 4.2.6、类的构造函数
- 4.2.7、语句断行
- 4.2.8、数字
- 4.2.9、判断
- 4.2.10、避免嵌入赋值
- 4.2.11、错误返回检测规则
- 4.3、程序注释
- 4.3.1、程序头注释块
- 4.3.2、类的注释
- 4.3.3、函数和方法的注释
- 4.3.4、变量或者语句注释
- 4.4、其它规范
- 4.4.1、PHP代码标记
- 4.4.2、程序文件名、目录名
- 4.4.3、PHP项目通常的文件目录结构
- 4.4.4、PHP和HTML代码的分离问题
- 4.4.5、PHP项目开发中的程序逻辑结构
- 5、特定环境下PHP编码特殊规范
- 5.1、变量定义
- 5.2、引用的使用
- 5.3、变量的输入输出