PHP safe_mode開啟對(duì)于PHP系統(tǒng)函數(shù)有什么影響
safe_mode是提供一個(gè)基本安全的共享環(huán)境。
在一個(gè)多用戶共享的phpweb服務(wù)器上,當(dāng)這臺(tái)服務(wù)器開啟了safe_mode模式,有以下函數(shù)將會(huì)受到影響。
首先,以下嘗試訪問(wèn)文件系統(tǒng)的函數(shù)將會(huì)被限制,運(yùn)行服務(wù)器的用戶id,如果想要嘗試操作某個(gè)文件,必須要用戶該文件的讀取或者寫入的訪問(wèn)權(quán)限。
因此,在safe_mode打開的情況下,下列函數(shù)將會(huì)收到限制:
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ù)也會(huì)受到限制,不能在程序里面直接加載擴(kuò)展,只能到php.ini里加載,而且php如果需要執(zhí)行操作系統(tǒng)的程序時(shí),必須在safe_mode_exec_dir中指定程序的路徑,否則執(zhí)行將失敗。
此外還有
exec, shell_exec, pasathru, system, popen等函數(shù)會(huì)收到限制同樣的,一些php擴(kuò)展中的函數(shù)也將會(huì)受到影響。(加載模塊:在安全模式下dl函數(shù)將被禁止,如果要加載擴(kuò)展的話,只能修改php.ini中的擴(kuò)展選項(xiàng),在php啟動(dòng)的時(shí)候加載)。
在php安全模式打開的時(shí)候,需要執(zhí)行系統(tǒng)程序的時(shí)候,必須是在safe_mode_exec_dir選項(xiàng)指定目錄的程序,否則執(zhí)行將失敗。即使允許執(zhí)行,那么也會(huì)自動(dòng)的傳遞給escapeshellcmd函數(shù)進(jìn)行過(guò)濾。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. Laravel操作session和cookie的教程詳解2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. XML入門的常見問(wèn)題(一)4. css進(jìn)階學(xué)習(xí) 選擇符5. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法6. PHP字符串前后字符或空格刪除方法介紹7. jsp實(shí)現(xiàn)登錄界面8. 解析原生JS getComputedStyle9. 淺談SpringMVC jsp前臺(tái)獲取參數(shù)的方式 EL表達(dá)式10. Echarts通過(guò)dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖
