官术网_书友最值得收藏!

3.3 php.ini配置

很多PHP的安全問題及安全保障取決于php.ini配置。下面介紹有關安全的配置,了解和掌握安全的配置可以避免很多漏洞的產生及信息的泄露。

1.PHP安全模式

PHP安全模式是內嵌的安全機制,提供了一個基本的安全共享環境,默認情況下是沒有啟用安全模式的。打開安全模式的指令是safe_mode=on,當打開安全模式時會限制一些可用的功能。

2.安全模式下限制目錄執行

在安全模式打開的情況下,如果想限制指定目錄執行功能,可以通過指令safe_mode_exec_dir=/usr/local/bin來設置,例如:

3.安全模式下使用共享文件

在安全模式打開的情況下,如果需要使用共享文件,可以通過safe_mode_include_dir=/usr/local/include/php來包含想要使用的文件,例如:

4.限制腳本訪問目錄

如果想讓PHP腳本限制只能訪問指定的目錄,可以使用指令open_basedir=/usr/local/www來設置,例如:

5.危險函數限制

某些函數不需要用到且會影響到安全性,需要禁止使用,可以通過指令disable_funct-ions=system,passthru來禁止,例如:

也可以通過指令disable_functions=chdir,chroot,dir,copy,mkdir,rmdir來禁止對文件/目錄的操作。

6.注冊全局變量

注冊全局變量是在PHP 4.2版本開始支持的,默認值為Off,直到PHP 5.4版本才被刪除。如果將GET、POST提交的參數自動注冊為全局變量,則能夠直接訪問其對應變量,這樣對程序來說是非常不安全的。應該將PHP配置文件的指令register_globals設置為Off,即register_globals=Off。

7.magic_quotes_gpc

magic_quotes_gpc(魔術引)在開啟的狀態下,其作用是將get/post/cookie等傳輸的數據進行轉義處理,對單引號(')、雙引號('')、反斜線(\)與NULL(NULL字符)等字符都會加上反斜線,來減小數據庫被注入的風險。需要將魔術引關閉,關閉命令為magic_quotes_gpc=off。

8.錯誤信息控制

在一些語法錯誤或其他情況下回顯報錯信息,可能會有敏感信息出現,如網站絕對路徑、SQL語句、源碼信息等,這樣會給攻擊者可乘之機,所以一般在程序上線后會通過指令display_errors=Off來關閉錯誤提示,例如:

在錯誤信息關閉后,一般通過錯誤日志記錄錯誤信息。使用指令log_errors=On將日志開啟,使用error_log=/usr/local/apache2/logs/php_error.log來指定日志記錄位置。日志記錄文件要有寫的權限,例如:

主站蜘蛛池模板: 扎兰屯市| 定兴县| 会泽县| 故城县| 汶川县| 麻江县| 肇庆市| 三亚市| 沂南县| 淳安县| 鹤峰县| 蒲江县| 安远县| 莒南县| 建德市| 衡水市| 伊宁县| 南木林县| 陈巴尔虎旗| 陕西省| 堆龙德庆县| 临澧县| 栖霞市| 故城县| 县级市| 仙桃市| 宣武区| 马龙县| 多伦县| 昭平县| 盖州市| 长宁县| 桦川县| 南华县| 当雄县| 大埔区| 科尔| 廊坊市| 视频| 黎川县| 安庆市|