PHP的Safe_mode 打開后哪些地方受限

Safe_mode是唯一PHP_INI_SYSTEM屬性,必須通過php.ini或httpd.conf來設(shè)置。要啟用Safe_mode,只需修改php.ini: safe_mode = On 或者修改httpd.conf,定義目錄:
Options FollowSymLinks php_admin_value safe_mode 1

被安全模式限制或屏蔽的函數(shù)
函數(shù)名 限制
dbmopen() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
dbase_open() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
filepro() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
filepro_rowcount() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
filepro_retrieve() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
ifx_* sql_safe_mode 限制, (!= safe mode)
ingres_* sql_safe_mode 限制, (!= safe mode)
mysql_* sql_safe_mode 限制, (!= safe mode)
pg_loimport() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
posix_mkfifo() 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
putenv() 遵循 ini 設(shè)置的 safe_mode_protected_env_vars 和 safe_mode_allowed_env_vars 選項(xiàng)。請參考 putenv() 函數(shù)的有關(guān)文檔。
move_uploaded_file() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
chdir() 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
dl() 當(dāng) PHP 運(yùn)行在 安全模式 時(shí),不能使用此函數(shù)。
backtick operator 當(dāng) PHP 運(yùn)行在 安全模式 時(shí),不能使用此函數(shù)。
shell_exec()(在功能上和 backticks 函數(shù)相同) 當(dāng) PHP 運(yùn)行在 安全模式 時(shí),不能使用此函數(shù)。
exec() 只能在 safe_mode_exec_dir 設(shè)置的目錄下進(jìn)行執(zhí)行操作?;谀承┰?,目前不能在可執(zhí)行對象的路徑中使用 ..。escapeshellcmd() 將被作用于此函數(shù)的參數(shù)上。
system() 只能在 safe_mode_exec_dir 設(shè)置的目錄下進(jìn)行執(zhí)行操作?;谀承┰颍壳安荒茉诳蓤?zhí)行對象的路徑中使用 ..。escapeshellcmd() 將被作用于此函數(shù)的參數(shù)上。
passthru() 只能在 safe_mode_exec_dir 設(shè)置的目錄下進(jìn)行執(zhí)行操作。基于某些原因,目前不能在可執(zhí)行對象的路徑中使用 ..。escapeshellcmd() 將被作用于此函數(shù)的參數(shù)上。
popen() 只能在 safe_mode_exec_dir 設(shè)置的目錄下進(jìn)行執(zhí)行操作。基于某些原因,目前不能在可執(zhí)行對象的路徑中使用 ..。escapeshellcmd() 將被作用于此函數(shù)的參數(shù)上。
fopen() 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
mkdir() 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
rmdir() 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
rename() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
unlink() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
copy() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 (on source and target)
chgrp() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
chown() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
chmod() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 另外,不能設(shè)置 SUID、SGID 和 sticky bits
touch() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。
symlink() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 (注意:僅測試 target)
link() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 (注意:僅測試 target)
apache_request_headers() 在安全模式下,以“authorization”(區(qū)分大小寫)開頭的標(biāo)頭將不會(huì)被返回。
header() 在安全模式下,如果設(shè)置了 WWW-Authenticate,當(dāng)前腳本的 uid 將被添加到該標(biāo)頭的 realm 部分。
PHP_AUTH 變量 在安全模式下,變量 PHP_AUTH_USER、PHP_AUTH_PW 和 PHP_AUTH_TYPE 在 $_SERVER 中不可用。但無論如何,您仍然可以使用 REMOTE_USER 來獲取用戶名稱(USER)。(注意:僅 PHP 4.3.0 以后有效)
highlight_file(), show_source() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 (注意,僅在 4.2.1 版本后有效)
parse_ini_file() 檢查被操作的文件或目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 檢查被操作的目錄是否與被執(zhí)行的腳本有相同的 UID(所有者)。 (注意,僅在 4.2.1 版本后有效)
set_time_limit() 在安全模式下不起作用。
max_execution_time 在安全模式下不起作用。
mail() 在安全模式下,第五個(gè)參數(shù)被屏蔽。(注意,僅自 PHP 4.2.3 起受影響)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • php.ini設(shè)置,上傳大文件: post_max_size = 128Mupload_max_filesize ...
    bycall閱讀 7,005評論 3 64
  • Ubuntu的發(fā)音 Ubuntu,源于非洲祖魯人和科薩人的語言,發(fā)作 oo-boon-too 的音。了解發(fā)音是有意...
    螢火蟲de夢閱讀 100,685評論 9 468
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 13,246評論 2 33
  • 1.給一個(gè)變量賦值為123,但是輸出該變量的值總是為其他數(shù)字,請問這是什么問題? PHP 解釋器會(huì)把以開始的數(shù)字當(dāng)...
    化城閱讀 743評論 0 1
  • 煢煢孑立無影隨行 漫無目的行走在街角 遇涮涮火鍋駐足 酣暢淋漓之時(shí) 一只小狗趴在對面 用一雙無辜乞憐的眼神 注視著...
    Gzichun閱讀 123評論 0 0

友情鏈接更多精彩內(nèi)容