国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

php安全模式

2016-05-31 10:28:16 11714

通過(guò)php.ini的配置文件進(jìn)行開(kāi)啟和關(guān)閉

php安全模式:safe_mode=on|off
啟用safe_mode指令將對(duì)在共享環(huán)境中使用PHP時(shí)可能有危險(xiǎn)的語(yǔ)言特性有所限制??梢詫afe_mode是指為布爾值on來(lái)啟用,或者設(shè)置為 off禁用。它會(huì)比較執(zhí)行腳本UID(用戶ID)和腳本嘗試訪問(wèn)的文件的UID,以此作為限制機(jī)制的基礎(chǔ)。如果UID相同,則執(zhí)行腳本;否則,腳本失敗。
具體地,當(dāng)啟用安全模式時(shí),一些限制將生效。
1、所有輸入輸出函數(shù)(例如fopen()、file()和require())的適用會(huì)受到限制,只能用于與調(diào)用這些函數(shù)的腳本有相同擁有者的文件。例如,假定啟用了安全模式,如果Mary擁有的腳本調(diào)用fopen(),嘗試打開(kāi)由Jonhn擁有的一?文件,則將失敗。但是,如果Mary不僅擁有調(diào)用 fopen()的腳本,還擁有fopen()所調(diào)用的文件,就會(huì)成功。
2、如果試圖通過(guò)函數(shù)popen()、system()或exec()等執(zhí)行腳本,只有當(dāng)腳本位于safe_mode_exec_dir配置指令指定的目錄才可能。
3、HTTP驗(yàn)證得到進(jìn)一步加強(qiáng),因?yàn)轵?yàn)證腳本用于者的UID劃入驗(yàn)證領(lǐng)域范圍內(nèi)。此外,當(dāng)啟用安全模式時(shí),不會(huì)設(shè)置PHP_AUTH。
4、如果適用MySQL數(shù)據(jù)庫(kù)服務(wù)器,鏈接MySQL服務(wù)器所用的用戶名必須與調(diào)用mysql_connect()的文件擁有者用戶名相同。
安全模式和禁用的函數(shù)
下面是啟用safe_mode指令時(shí)受影響的函數(shù)、變量及配置指令的完整列表:
apache_request_headers() backticks()和反引號(hào)操作符 chdir()
chgrp()     chmode()    chown()
copy()     dbase_open()    dbmopen()
dl()     exec()     filepro()
filepro_retrieve()   filepro_rowcount()   fopen()
header()    highlight_file()   ifx_*
ingres_*    link()     mail()
max_execution_time()   mkdir()     move_uploaded_file()
mysql_*     parse_ini_file()   passthru()
pg_lo_import()    popen()     posix_mkfifo()
putenv()    rename()    zmdir()
set_time_limit()   shell_exec()    show_source()
symlink()    system()    touch()

以下是一些和安全模式相關(guān)的配置選項(xiàng)
safe_mode_gid=on|off
次指令會(huì)修改安全模式的行為,即從執(zhí)行前驗(yàn)證UID改為驗(yàn)證組ID。例如,如果Mary和John處于相同的用戶組,則Mary的腳本可以對(duì)John的文件調(diào)用fopen()。
safe_mode_include_dir=string
可以使用指令safe_mode_include_dir指示多個(gè)路徑,啟用安全模式時(shí)在這些路徑中將忽略安全模式。例如,你可以使用此函數(shù)指定一個(gè)包含不同模板的目錄,致謝模板可能會(huì)繼成到一些用戶網(wǎng)站??梢灾付ǘ鄠€(gè)目錄,在基于UNIX的系統(tǒng)各目錄用冒號(hào)分隔,在Windows中用分號(hào)分隔。
注意,如果指定某個(gè)路徑但未包含最后的斜線,則該路徑下的所有目錄都會(huì)忽略安全模式設(shè)置。例如,如果設(shè)置次指令為/home /configuration,表示/home/configuration/templates/和/home/configureation /passwords都排除在安全模式限制之外。因此,如果只是要排除一個(gè)目錄或一組目錄不受安全模式設(shè)置的限制,要確保每個(gè)目錄都包括最后的斜線。
safe_mode_env_vars=string
當(dāng)啟用安全模式時(shí),可以只用次指令允許執(zhí)行用戶的腳本修改某些環(huán)境變量??梢栽试S修改多個(gè)變量,每個(gè)變量之間用逗號(hào)分隔。
safe_mode_exec_dir=string
次指令指定一些目錄,其中的系統(tǒng)程序可以通過(guò)諸如system()、exec()或passthru()等函數(shù)執(zhí)行。為此必須啟用安全模式。此指令有一個(gè)奇怪的地方,在所有操作系統(tǒng)中(包括Windows),都必須使用斜線(/)作為目錄的分隔符。
safe_mode_protected_env_vars=string
此指令保護(hù)某些環(huán)境變量不能被putenv()函數(shù)修改。默認(rèn)情況下,變量LD_LIBRARY_PATH是受保護(hù)的,因?yàn)槿绻谶\(yùn)行時(shí)修改這個(gè)變量可能導(dǎo)致不可預(yù)知的結(jié)果。關(guān)于此環(huán)境變量的更多信息,請(qǐng)參考搜索引擎或Linux手冊(cè)。注意,本屆中聲明的所有便來(lái)弄個(gè)都覆蓋 safe_mode_allowed_env_vars指令中聲明的變量。

 

另外,由于啟用了安全模式后,由于會(huì)對(duì)比文件的擁有者和文件的執(zhí)行者是否是一個(gè)人,所以會(huì)減慢執(zhí)行效率。


提交成功!非常感謝您的反饋,我們會(huì)繼續(xù)努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題: