色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

PHP特點(diǎn)之安全模式1——保安措施和安全模式

瀏覽:5日期:2022-09-15 14:13:49

PHP 的安全模式是為了試圖解決共享服務(wù)器(shared-server)安全問(wèn)題而設(shè)立的。在結(jié)構(gòu)上,試圖在 PHP 層上解決這個(gè)問(wèn)題是不合理的,但修改 web 服務(wù)器層和操作系統(tǒng)層顯得非常不現(xiàn)實(shí)。因此許多人,特別是 ISP,目前使用安全模式。

以下是php.ini中關(guān)于安全模式的設(shè)置:

safe_mode? ? ?boolean

是否啟用 PHP 的安全模式。

safe_mode_gid? ??boolean

默認(rèn)情況下,安全模式在打開(kāi)文件時(shí)會(huì)做 UID 比較檢查。如果想將其放寬到 GID 比較,則打開(kāi) safe_mode_gid。是否在文件訪問(wèn)時(shí)使用?UID(FALSE)或者?GID(TRUE)來(lái)做檢查。

safe_mode_include_dir? ? ?string

當(dāng)從此目錄及其子目錄(目錄必須在?include_path?中或者用完整路徑來(lái)包含)包含文件時(shí)越過(guò)?UID/GID?檢查。

從 PHP 4.2.0 開(kāi)始,本指令可以接受和?include_path?指令類似的風(fēng)格用冒號(hào)(Windows 中是分號(hào))隔開(kāi)的路徑,而不只是一個(gè)目錄。?指定的限制實(shí)際上是一個(gè)前綴,而非一個(gè)目錄名。這也就是說(shuō)“safe_mode_include_dir = /dir/incl”將允許訪問(wèn)“/dir/include”和“/dir/incls”,如果它們存在的話。如果希望將訪問(wèn)控制在一個(gè)指定的目錄,那么請(qǐng)?jiān)诮Y(jié)尾加上一個(gè)斜線,例如:“safe_mode_include_dir = /dir/incl/”。?如果本指令的值為空,在 PHP 4.2.3 中以及 PHP 4.3.3 起具有不同?UID/GID?的文件將不能被包含。在較早版本中,所有文件都能被包含。

safe_mode_exec_dir? ? ?string

如果 PHP 使用了安全模式,?system()?和其它程序執(zhí)行函數(shù)將拒絕啟動(dòng)不在此目錄中的程序。必須使用?/?作為目錄分隔符,包括 Windows 中。

safe_mode_allowed_env_vars? ? ?string

設(shè)置某些環(huán)境變量可能是潛在的安全缺口。本指令包含有一個(gè)逗號(hào)分隔的前綴列表。在安全模式下,用戶只能改變那些名字具有在這里提供的前綴的環(huán)境變量。默認(rèn)情況下,用戶只能設(shè)置以 PHP_ 開(kāi)頭的環(huán)境變量(例如 PHP_FOO = BAR)。

注意:

如果本指令為空,PHP 將使用戶可以修改任何環(huán)境變量!

safe_mode_protected_env_vars?string

本指令包含有一個(gè)逗號(hào)分隔的環(huán)境變量的列表,最終用戶不能用?putenv()?來(lái)改變這些環(huán)境變量。甚至在 safe_mode_allowed_env_vars 中設(shè)置了允許修改時(shí)也不能改變這些變量。

當(dāng)?safe_mode?設(shè)置為 on,PHP 將通過(guò)文件函數(shù)或其目錄檢查當(dāng)前腳本的擁有者是否和將被操作的文件的擁有者相匹配。例如:

-rw-rw-r-- 1 rasmus rasmus 33 Jul 1 19:20 script.php-rw-r--r-- 1 root root 1116 May 26 18:01 /etc/passwd

運(yùn)行?script.php

<?phpreadfile(’/etc/passwd’);?>

如果安全模式被激活,則將會(huì)導(dǎo)致以下錯(cuò)誤:

Warning: SAFE MODE Restriction in effect. The script whose uid is 500 is notallowed to access /etc/passwd owned by uid 0 in /docroot/script.php on line 2

同時(shí),或許會(huì)存在這樣的環(huán)境,在該環(huán)境下,寬松的?GID?檢查已經(jīng)足夠,但嚴(yán)格的?UID?檢查反而是不適合的。可以用?safe_mode_gid選項(xiàng)來(lái)控制這種檢查。如果設(shè)置為?On?則進(jìn)行寬松的?GID?檢查;設(shè)置為?Off(默認(rèn)值)則進(jìn)行?UID?檢查。

除了?safe_mode?以外,如果設(shè)置了?open_basedir?選項(xiàng),則所有的文件操作將被限制在指定的目錄下。例如:

<Directory /docroot> php_admin_value open_basedir /docroot</Directory>

如果在設(shè)置了?open_basedir?選項(xiàng)后運(yùn)行同樣的?script.php,則其結(jié)果會(huì)是:

Warning: open_basedir restriction in effect. File is in wrong directory in/docroot/script.php on line 2

也可以單獨(dú)地屏蔽某些函數(shù)。請(qǐng)注意?disable_functions?選項(xiàng)不能在?php.ini?文件外部使用,也就是說(shuō)無(wú)法在?httpd.conf?文件的按不同虛擬主機(jī)或不同目錄的方式來(lái)屏蔽函數(shù)。如果將如下內(nèi)容加入到?php.ini?文件:

disable_functions readfile,system

則會(huì)得到如下的輸出:

Warning: readfile() has been disabled for security reasons in/docroot/script.php on line 2警告當(dāng)然,這些 PHP 限制不適用于可執(zhí)行文件。

標(biāo)簽: PHP
相關(guān)文章:
主站蜘蛛池模板: 色在线看| 免费一级欧美大片视频在线 | 欧美亚洲免费 | 国产精品欧美韩国日本久久 | 久草在在线 | 国产精品久久久久久吹潮 | 九一国产 | 亚洲精品一区二区在线播放 | 黄色香蕉视频 | 国产成人精品区在线观看 | 天天干亚洲 | 久草国产在线视频 | 日本一级毛片视频无遮挡免费 | 在线a亚洲视频播放在线观看 | 国产成人18黄网站免费 | 亚洲欧美日本在线观看 | 国产在线精品一区二区中文 | 伊人久久网站 | 丝袜毛片 | 色www亚洲| 国产精品久久久久久久久久久久 | 亚洲人成片在线观看 | 国产大陆精品另类xxxx | 台湾精品视频在线观看 | 欧美成人看片黄a免费看 | 久久久久久色 | 久久爰www免费人成 久久曰视频 | 国产成人黄网在线免 | 香蕉久久夜色精品国产 | 欧美一级淫片a免费播放口aaa | 久草手机在线 | 国产末成年女噜噜片 | 欧美日本亚洲国产一区二区 | 91色久| 久久久久视频精品网 | 亚洲国产系列久久精品99人人 | 在线观看视频中文字幕 | 一级一级 a爱片免费视频 | 精品综合久久久久久蜜月 | 一级片在线观看 | 亚洲成人播放 |