這篇文章主要介紹了PHP safe_mode開啟對于PHP系統(tǒng)函數(shù)有什么影響,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
safe_mode是提供一個(gè)基本安全的共享環(huán)境。
在一個(gè)多用戶共享的phpweb服務(wù)器上,當(dāng)這臺服務(wù)器開啟了safe_mode模式,有以下函數(shù)將會受到影響。
首先,以下嘗試訪問文件系統(tǒng)的函數(shù)將會被限制,運(yùn)行服務(wù)器的用戶id,如果想要嘗試操作某個(gè)文件,必須要用戶該文件的讀取或者寫入的訪問權(quán)限。
因此,在safe_mode打開的情況下,下列函數(shù)將會收到限制:
ckdir,
move_uploaded_file,
chgrp,
parse_ini_file,
chown,rmdir,
copy,
rename,
fopen,
require,
highlight_file,
show_source,
include,
symlink,
link,
touch,
mkdir,
unlink
以上都是跟操作文件系統(tǒng)有關(guān)的函數(shù)。
除此之外,一些php擴(kuò)展的函數(shù)也會受到限制,不能在程序里面直接加載擴(kuò)展,只能到php.ini里加載,而且php如果需要執(zhí)行操作系統(tǒng)的程序時(shí),必須在safe_mode_exec_dir中指定程序的路徑,否則執(zhí)行將失敗。
此外還有
exec,
shell_exec,
pasathru,
system,
popen等函數(shù)會收到限制
同樣的,一些php擴(kuò)展中的函數(shù)也將會受到影響。(加載模塊:在安全模式下dl函數(shù)將被禁止,如果要加載擴(kuò)展的話,只能修改php.ini中的擴(kuò)展選項(xiàng),在php啟動的時(shí)候加載)。
在php安全模式打開的時(shí)候,需要執(zhí)行系統(tǒng)程序的時(shí)候,必須是在safe_mode_exec_dir選項(xiàng)指定目錄的程序,否則執(zhí)行將失敗。即使允許執(zhí)行,那么也會自動的傳遞給escapeshellcmd函數(shù)進(jìn)行過濾。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
來源:腳本之家
鏈接:https://www.jb51.net/article/199367.htm
申請創(chuàng)業(yè)報(bào)道,分享創(chuàng)業(yè)好點(diǎn)子。點(diǎn)擊此處,共同探討創(chuàng)業(yè)新機(jī)遇!