PHP必须遵循的安全规范

 

1、 使用PHP变量之前,必须对PHP变量进行初始化

因为PHP使用变量时无须初始化,这就使得没有经验的程序员写出不安全的代码,特别是PHP的register_globals设置为On时,因此从 PHP » 4.2.0 版开始配置文件中 PHP 指令 register_globals 的默认值从 on 改为 off 了 
如下面这段代码:

<?php
// 当用户合法的时候,赋值 $authorized = true
if (authenticated_user()) {
$authorized = true;
}

// 由于并没有事先把 $authorized 初始化为 false,
// 当 register_globals 打开时,可能通过GET auth.php?authorized=1 来定义该变量值
// 所以任何人都可以绕过身份验证
if ($authorized) {
include "/highly/sensitive/data.php";
}
?>

实际上这里包含了第二条建议:

2、关闭PHP的register_globals,设置为Off,如果你的PHP版本 » 4.2.0,则默认是Off

posted @ 2015-11-12 11:12  胡小扯  阅读(254)  评论(0)    收藏  举报