1 / 22
文档名称:

PHP 开发规范.docx

格式:docx   大小:100KB   页数:22页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

PHP 开发规范.docx

上传人:碎碎念的折木 2022/6/13 文件大小:100 KB

下载得到文件列表

PHP 开发规范.docx

相关文档

文档介绍

文档介绍:精品文档
.
精品文档
.
目录
1、编写目的 4
2、整体要求 5
避免因为配置问题而泄露设置信息。
、安全规则
请参考产品安全检查表。输入和输出:
检查是否做了 HTML 代码的过滤
可能出现的问题:如果有人输入恶意的 HTML 代码,会导致窃取 cookie, 产生恶意登录表单,和破坏网站。
escape
检查变量做数据库操作之前是否做了
可能出现的问题:如果一个要写入查询语句的字符串变量包含了某些特殊的字符,比如引号(',")或者分号(;) 可能造成执行了预期之外的操作。
精品文档
.
mysql_escape_string()
建议采用的方法:使用
检查输入数值的合法性
或实现类似功能的函数。
精品文档
.
可能出现的问题:异常的数值会造成问题。如果对输入的数值不做检查会造成不合法的或者错误的数据存入 UDB、存入其它的数据库或者导致意料之外的程序操作发生。
举例:如果程序以用户输入的参数值做为文件名,进行文件操作,恶意输入系统文件名会造成系统损毁。
核实对 cookie 的使用以及对用户数据的处理
可能出现的问题:不正确的 cookie 使用可能造成用户数据泄漏。
访问控制
对内部使用的产品或者供合作方使用的产品,要考虑增加访问控制。
logs
确保用户的保密信息没有记在 log 中(例如:用户的密码); 确保对关键的用户操作保存了完整的用户访问记录。
https
对敏感数据的传输要采用 https。
精品文档
.
、一些针对 PHP 的规则
register_globals = off ;
error_reporting = E_ALL
设置
error
设置 ,并且要修正所有的 和
warning
;
将实际的操作放在被引用的文件中。把引用文件放到不可以被直接浏览的目
录下。
register_globals 已自 PHP 起废弃并将自 PHP 起移除。
、其它处理规则
其它处理规则
、输入参数处理
$a = ' Let’s go ' ;
$sql = "Insert into tmp(col) values('$a')";
页面接到参数需要 SQL 操作,这时候需要做转义,尤其需要注意“'”。如:
这种情况出现错误的不确定性。
、操作大 HTML 文本
很多时候需要存放一大段 HTML 文本供页面使用,象用户定制页头页脚
等。
需要剔除脚本标记,避免执行恶意 php 代码。
HTML
转换“<”“>”号,保证代码完整 文本。
精品文档
.
4、编码规范
对代码文件及代码进行规范化。
、命名规范
制定统一的命名规范对于项目开发来说非常重要,不但可以养成程序员一个良好的开发****惯,还能增加程序的可读性、可移植性和可重用性,还能很好的提高项目开发的效率。
、变量命名
**变量命名分为普通变量、静态变量、局部变量、全局变量、Session 变量等方面的命名规则。
普通变量
普通变量命名遵循以下规则:
所有字母都使用小写;
_
对于一个变量使用多个单词的,使用 作为每个词的间隔。
$base_dir
$red_rose_price
例如: 、 等。
静态变量
精品文档
.
静态变量命名遵循以下规则:
s_
静态变量使用小写的

开头;
精品文档
.
静态变量所有字母都使用小写;
精品文档
.
例子:
多个单词组成的变量名使用
$s_base_dir
$s_red_rose_prise

作为每个词的间隔。
_
等。
精品文档
.
局部变量
局部变量命名遵循以下规则:
所有字母使用小写;
_
变量使用 开头;
_
多个单词组成的局部变量名使用 作为每个词间的间隔。
精品文档
.
精品文档
.
$_base_dir
例子: 、
全局变量
G_
全局变量应该带前缀如:
等。
$_red_rose_price
且所有字母大写,知道一个变量的作用域是非常重要的。例
精品文档
.
global $G_LOG_LEVEL; global $G_LOG_PATH;
精品文档
.
全局常量
全局变量命名遵循以下规则:
所有字母使用大写; b.