W3Cschool
恭喜您成為首批注冊用戶
獲得88經驗值獎勵
很多 PHP 程序所存在的重大弱點并不是 PHP 語言本身的問題,而是編程者的安全意識不高而導致的。因此,必須時時注意每一段代碼可能存在的問題,去發(fā)現非正確數據提交時可能造成的影響。
示例 #1 危險的變量用法
<?php
// 從用戶目錄中刪除一個文件,或者……能刪除更多的東西?
unlink ($evil_var);
// 記錄用戶的登陸,或者……能否在 /etc/passwd 添加數據?
fwrite ($fp, $evil_var);
// 執(zhí)行一些普通的命令,或者……可以執(zhí)行 rm -rf * ?
system ($evil_var);
exec ($evil_var);
?>
必須時常留意你的代碼,以確保每一個從客戶端提交的變量都經過適當的檢查,然后問自己以下一些問題:
在寫代碼的時候問自己這些問題,否則以后可能要為了增加安全性而重寫代碼了。注意了這些問題的話,也許還不完全能保證系統(tǒng)的安全,但是至少可以提高安全性。
還可以考慮關閉 register_globals,magic_quotes 或者其它使編程更方便但會使某個變量的合法性,來源和其值被搞亂的設置。在使用 PHP 開發(fā)時,可以使用 error_reporting(E_ALL) 模式幫助檢查變量使用前是否有被檢查或被初始化,這樣就可以防止某些非正常的數據的撓亂了。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯系方式:
更多建議: