- 簡(jiǎn)體
- 簡(jiǎn)體中文 English
[北京網(wǎng)站制作]PHP安全配置詳解
PHP安全配置詳解
【 安全模式 】
PHP的安全模式提供一個(gè)基本安全的共享環(huán)境,在一個(gè)有多個(gè)用戶帳戶存在的PHP開(kāi)放的Web服務(wù)器上。當(dāng)一個(gè)Web服務(wù)器上運(yùn)行的PHP打開(kāi)了安全模式,那么一些函數(shù)將被完全的禁止,并且會(huì)限制一些可用的功能。
[ 使用安全模式來(lái)強(qiáng)制限制 ]
在安全模式下,一些嘗試訪問(wèn)文件系統(tǒng)的函數(shù)功能將被限制。運(yùn)行Web服務(wù)器用戶ID,如果想要操作某個(gè)文件,則必須擁有該文件讀取或者寫(xiě)入的訪問(wèn)權(quán)限,實(shí)現(xiàn)這個(gè)限制功能對(duì)于PHP來(lái)說(shuō)是沒(méi)有問(wèn)題的。
在 安全模式開(kāi)啟的時(shí)候,嘗試讀取或者寫(xiě)入一個(gè)本地文件的時(shí)候,PHP將檢查當(dāng)前訪問(wèn)用戶是否是該目標(biāo)文件的所有者。如果不是所有者,則該操作會(huì)被禁止。(寫(xiě) 入權(quán)限:在較低級(jí)別的文件訪問(wèn)權(quán)限下,可能會(huì)允許讀取或者寫(xiě)入系統(tǒng)操作系統(tǒng)的文件,通過(guò)PHP的安全模式實(shí)現(xiàn)了防止你操作另外一個(gè)用戶文件的操作。當(dāng)然, 一個(gè)Web服務(wù)器可能能夠訪問(wèn)一個(gè)具有全局寫(xiě)入權(quán)限的任意文件。)
當(dāng)安全模式打開(kāi)的時(shí)候,以下函數(shù)列表的功能將會(huì)受到限制:
chdir , move_uploaded_file, chgrp, parse_ini_file, chown, rmdir, copy, rename, fopen, require, highlight_file, show_source, include, symlink, link, touch, mkdir, unlink
同樣的,一些PHP擴(kuò)展中的函數(shù)也將會(huì)受到影響。(加載模塊:在安全模式下dl函數(shù)將被禁止,如果要加載擴(kuò)展的話,只能修改php.ini中的擴(kuò)展選項(xiàng),在PHP啟動(dòng)的時(shí)候加載)
在PHP安全模式打開(kāi)的時(shí)候,需要執(zhí)行操作系統(tǒng)程序的時(shí)候,必須是在safe_mode_exec_dir選項(xiàng)指定目錄的程序,否則執(zhí)行將失敗。即使允許執(zhí)行,那么也會(huì)自動(dòng)的傳遞給escapeshellcmd函數(shù)進(jìn)行過(guò)濾。
以下執(zhí)行命令的函數(shù)列表將會(huì)受到影響:
exec, shell_exec, passthru, system, popen
另外,背部標(biāo)記操作符(`)也將被關(guān)閉。
當(dāng)運(yùn)行在安全模式下,雖然不會(huì)引起錯(cuò)誤,但是 putenv 函數(shù)將無(wú)效。同樣的,其他一些嘗試改變PHP環(huán)境變量的函數(shù)set_time_limit, set_include_path 也將被忽略。
[ 打開(kāi)安全模式 ]
打開(kāi)或者關(guān)閉PHP的安全模式是利用php.ini中的safe_mode選項(xiàng)。如果要激活安全模式給當(dāng)前所有共享Web服務(wù)器的用戶,只要設(shè)置配置選項(xiàng)為:safe_mode = On當(dāng)函數(shù)在訪問(wèn)文件系統(tǒng)的時(shí)候?qū)⑦M(jìn)行文件所有者的檢查。缺省情況下,會(huì)檢查該文件所有者的用戶ID,當(dāng)你能夠修改文件所有者的組ID(GID)為 safe_mode_gid 選項(xiàng)所指定的。如 果你有一個(gè)共享庫(kù)文件在你的系統(tǒng)上,當(dāng)你碰到需要include或require的時(shí)候,那么你可以使用 safe_mode_include_dir 選項(xiàng)來(lái)設(shè)置你的路徑,保證你的代碼正常工作。(包含路徑: 如果你想要使用 safe_mode_include_dir 選項(xiàng)包含更多的包含路徑,那么你可以象 include_path 選項(xiàng)一樣,在Unix/Linux系統(tǒng)下使用冒號(hào)進(jìn)行分割,在Windows下使用分號(hào)進(jìn)行分割)比如你想要在安全模式下包含 /usr/local/include/php 下的文件,那么你可以設(shè)置選項(xiàng)為:safe_mode_include_dir = /usr/local/include/php如果你的包含的文件是需要執(zhí)行的,那么你可以設(shè)置 safe_mode_exec_dir 選項(xiàng)。比如你需要 /usr/local/php-bin 路徑下的文件是可以執(zhí)行的,那么可以設(shè)置選項(xiàng)為:safe_mode_exec_dir = /usr/local/php-bin(可執(zhí)行:如果你執(zhí)行的程序在 /usr/bin 目錄下,那么你可以把這些的二進(jìn)制文件,連接到你指定選項(xiàng)下能夠執(zhí)行的路徑)如果你想設(shè)置某些環(huán)境變量,那么可以使用 safe_mode_allowed_env_vars 選項(xiàng)。這個(gè)選項(xiàng)的值是一個(gè)環(huán)境變量的前綴,缺省是允許 PHP_ 開(kāi)頭的環(huán)境變量,如果你想要改變,可以設(shè)置該選項(xiàng)的值,多個(gè)環(huán)境變量前綴之間使用逗號(hào)進(jìn)行分割。比如下面允許時(shí)區(qū)的環(huán)境變量 TZ ,那么修改該選項(xiàng)的值為:safe_mode_allowed_env_vars = PHP_,TZ【 其他的安全特征 】除了安全模式以外,PHP還提供了許多其他許多特征來(lái)保證PHP的安全。
[ 隱藏PHP ]
你能夠在php.ini里使用 expose_php 選項(xiàng)來(lái)防止Web服務(wù)器泄露PHP的報(bào)告信息。如下:expose_php = On利用整個(gè)設(shè)置,你能夠阻礙一些來(lái)自自動(dòng)腳本針對(duì)Web服務(wù)器的攻擊。通常情況下,HTTP的頭信息里面包含了如下信息:Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.16
OpenSSL/0.9.7c在 expose_php 選項(xiàng)打開(kāi)以后,PHP的版本信息將不包含在上面的頭信息里。當(dāng)然,用戶訪問(wèn)網(wǎng)站的時(shí)候同樣能夠看到 .php 的文件擴(kuò)展名。如果你想整個(gè)的使用不同的文件擴(kuò)展名,你需要在 httpd.conf 中找到如下這行:AddType application/x-httpd .php你就可以修改 .php 為任何你喜歡的文件擴(kuò)展名。你能夠指定任意多個(gè)的文件擴(kuò)展名,中間使用空格進(jìn)行分割。如果你想在服務(wù)器端使用PHP來(lái)解析 .html 和 .htm 文件的時(shí)候,那么你設(shè)置選項(xiàng)如下:AddType application/x-httpd .html .htm(解析HTML:配置你的Web服務(wù)器使用PHP去解析所有的HTML文件,但是如果非服務(wù)器端代碼也需要PHP去解析,會(huì)影響服務(wù)器的性能。靜態(tài)頁(yè)面你可以使用不同的擴(kuò)展名,這樣能夠消除對(duì)PHP腳本引擎的依賴,增強(qiáng)性能。)
[ 文件系統(tǒng)安全 ]
安全模式限制了腳本所有者只能訪問(wèn)屬于自己的文件,但是你可以使用 open_basedir 選現(xiàn)來(lái)指定一個(gè)你必須訪問(wèn)的目錄。如果你指定了一個(gè)目錄,PHP將拒絕訪問(wèn)除了該目錄和該目錄子目錄的其他目錄。open_basedir 選項(xiàng)能夠工作在安全模式之外。限制文件系統(tǒng)只能訪問(wèn) /tmp 目錄,那么設(shè)置選項(xiàng)為:open_basedir = /tmp[ 函數(shù)訪問(wèn)控制 ]你能夠在 disable_functions 選項(xiàng)中使用逗號(hào)分割來(lái)設(shè)定函數(shù)名,那么這些函數(shù)將在PHP腳本中被關(guān)閉。這個(gè)設(shè)置能夠工作在安全模式之外。disable_functions = dl當(dāng)然,同樣的你能夠使用 disable_classes 選項(xiàng)來(lái)關(guān)閉對(duì)一些類的訪問(wèn)。
標(biāo)簽:北京網(wǎng)站制作 高端網(wǎng)站建設(shè)
建站流程
-
網(wǎng)站需求
-
網(wǎng)站策劃方案
-
頁(yè)面設(shè)計(jì)風(fēng)格
-
確認(rèn)交付使用
-
資料錄入優(yōu)化
-
程序設(shè)計(jì)開(kāi)發(fā)
-
后續(xù)跟蹤服務(wù)
-
聯(lián)系電話
010-60259772
熱門標(biāo)簽
- 網(wǎng)站建設(shè)
- 食品網(wǎng)站建設(shè)
- 微信小程序開(kāi)發(fā)
- 小程序開(kāi)發(fā)
- 無(wú)錫網(wǎng)站建設(shè)
- 研究所網(wǎng)站建設(shè)
- 沈陽(yáng)網(wǎng)站建設(shè)
- 廊坊網(wǎng)站建設(shè)
- 鄭州網(wǎng)站建設(shè)
- 婚紗攝影網(wǎng)站建設(shè)
- 手機(jī)端網(wǎng)站建設(shè)
- 高校網(wǎng)站制作
- 天津網(wǎng)站建設(shè)
- 教育網(wǎng)站建設(shè)
- 品牌網(wǎng)站建設(shè)
- 政府網(wǎng)站建設(shè)
- 北京網(wǎng)站建設(shè)
- 網(wǎng)站設(shè)計(jì)
- 網(wǎng)站制作
最新文章
推薦新聞
更多行業(yè)-
SEO網(wǎng)站優(yōu)化之關(guān)鍵詞研究的五大步驟
SEO網(wǎng)站優(yōu)化之關(guān)鍵詞研究的五大步驟在SEO優(yōu)化網(wǎng)站排名的時(shí)候,關(guān)鍵詞...
2011-11-30 -
網(wǎng)站制作之初就應(yīng)該為SEO打下基礎(chǔ)
第一條:SEO網(wǎng)站優(yōu)化最重要的是網(wǎng)站內(nèi)容要準(zhǔn)確定位客戶,這一點(diǎn)是網(wǎng)站制...
2012-08-14 -
網(wǎng)站制作價(jià)格差距大的原因分析
近期,通過(guò)跟客戶溝通關(guān)于網(wǎng)站制作價(jià)格這方面的事項(xiàng),發(fā)現(xiàn)網(wǎng)站建設(shè)價(jià)格的相...
2012-08-11 -
網(wǎng)站設(shè)計(jì)建設(shè)需要注意哪些地方?
現(xiàn)在很多企業(yè)只靠自己的產(chǎn)品在網(wǎng)上展示自己的情況,比如app、小程序、微...
2022-04-11 -
Google Analytics的流量報(bào)告
北京網(wǎng)站建設(shè)公司尚品中國(guó):訪問(wèn)者路徑分析一直都是Google Anal...
2012-03-20 -
網(wǎng)站建設(shè)細(xì)節(jié)不能忽略,做網(wǎng)站前這些必須要了解
許多企業(yè)在建設(shè)營(yíng)銷網(wǎng)站時(shí)并不重視要點(diǎn):他們都知道建設(shè)網(wǎng)站的主要目的是為...
2020-03-18
預(yù)約專業(yè)咨詢顧問(wèn)溝通!
免責(zé)聲明
非常感謝您訪問(wèn)我們的網(wǎng)站。在您使用本網(wǎng)站之前,請(qǐng)您仔細(xì)閱讀本聲明的所有條款。
1、本站部分內(nèi)容來(lái)源自網(wǎng)絡(luò),涉及到的部分文章和圖片版權(quán)屬于原作者,本站轉(zhuǎn)載僅供大家學(xué)習(xí)和交流,切勿用于任何商業(yè)活動(dòng)。
2、本站不承擔(dān)用戶因使用這些資源對(duì)自己和他人造成任何形式的損失或傷害。
3、本聲明未涉及的問(wèn)題參見(jiàn)國(guó)家有關(guān)法律法規(guī),當(dāng)本聲明與國(guó)家法律法規(guī)沖突時(shí),以國(guó)家法律法規(guī)為準(zhǔn)。
4、如果侵害了您的合法權(quán)益,請(qǐng)您及時(shí)與我們,我們會(huì)在第一時(shí)間刪除相關(guān)內(nèi)容!
聯(lián)系方式:010-60259772
電子郵件:394588593@qq.com