标签:
因为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";
}
?>
实际上这里包含了第二条建议:
标签:
原文地址:http://www.cnblogs.com/hlf2014jesse/p/4958373.html