《說說php safe_mode》要點(diǎn):
本文介紹了說說php safe_mode,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP平安模式就是以平安模式運(yùn)行php,safe_mode是在php.ini中設(shè)置,默認(rèn)是關(guān)閉的.
; Safe Mode; http://php.net/safe-modesafe_mode=Off
php的平安模式提供一個基本平安的共享環(huán)境,在一個有多個用戶帳戶存在的php開放的web服務(wù)器上.
當(dāng)一個web服務(wù)器上運(yùn)行的php打開了平安模式,那么一些函數(shù)將被完全的禁止,并且會限制一些可用的功能.在平安模式下,一些嘗試訪問文件系統(tǒng)的函數(shù)功能將被限制.
當(dāng)平安模式打開時,以下函數(shù)列表的功能將會受到限制:
chdir, move_uploaded_file, chgrp, parse_ini_file, chown, rmdir, copy, rename, fopen, require, highlight_file, show_source, include, symlink, link, touch, mkdir, unlink
同樣的,一些php擴(kuò)展中的函數(shù)也將會受到影響.(加載模塊:在平安模式下dl函數(shù)將被禁止,如果要加載擴(kuò)展的話,只能修改php.ini中的擴(kuò)展選項,在php啟動的時候加載)
safe_mode特性在5.3后不推薦使用,在5.4中刪除.
打開或者關(guān)閉php的平安模式,在php.ini文件中配置safe_mode選項:
safe_mode=On(使用平安模式)safe_mode=Off(關(guān)閉平安模式)
相關(guān)設(shè)置
1. 用戶組平安
safe_mode_gid = off
2. 平安模式下執(zhí)行程序主目錄
safe_mode_exec_dir = D:/usr/www
3. 平安模式下包含文件
safe_mode_include_dir = D:/usr/www/include/
4. 關(guān)閉危險函數(shù)
disable_functions = system,passthru,exec,shell_exec,popen,phpinfo
5. 關(guān)閉PHP版本信息在http頭的泄漏
expose_php = Off
6. 關(guān)閉注冊全局變量
register_globals = Off
7. 打開magic_quotes_gpc來防止SQL注入
magic_quotes_gpc = On
8. 錯誤信息控制:默認(rèn)關(guān)閉
display_errors = Off
如果要顯示錯誤信息,一定要設(shè)置顯示錯誤的級別,比如只顯示警告以上的信息:
`error_reporting = E_WARNING & E_ERROR
9. 錯誤日志:如果關(guān)閉錯誤消息,那么就要記錄錯誤日志
log_errors = On
同時也要設(shè)置錯誤日志存放的目錄,建議根apache的日志存在一起:
error_log = D:/usr/local/apache2/logs/php_error.log
10. 控制php腳本能訪問的目錄
open_basedir = D:/usr/www
注意:open_basedir并不是safe_mode的一個子功能,PHP官網(wǎng)中明確表示:
Limit the files that can be opened by PHP to the specified directory-tree, including the file itself. This directive is NOT affected by whether Safe Mode is turned On or Off.
即:將 PHP 所能打開的文件限制在指定的目錄樹,包括文件本身.本指令不受平安模式打開或者關(guān)閉的影響.
維易PHP培訓(xùn)學(xué)院每天發(fā)布《說說php safe_mode》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/14278.html