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

相關文章
相關標籤/搜索