PHP必须遵循的安全规范

 

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

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

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

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

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

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

相关文章
相关标签/搜索