全國服務熱線:
0791-88196636

杭州代碼建站:web開發PHP安全配置詳細解讀

 二維碼 91268
發表時間:2020-12-15 10:43作者:南昌莫非網絡科技公司來源:杭州代碼建站網址:http://lwdongzao.com

杭州代碼建站:web開發PHP安全配置詳細解讀。

PHP勿庸置疑是非常強大的服務器端腳本語言,但是強大的功能總是伴隨著重大的危險,在這章里,你將學習到使用PHP的安全模式來阻止一些PHP潛在的危險因素。

安全模式

PHP的安全模式提供一個基本安全的共享環境,在一個有多個用戶帳戶存在的PHP開放的Web服務器上。當一個Web服務器上運行的PHP打開了安全模式,那么一些函數將被完全的禁止,并且會限制一些可用的功能。

使用安全模式來強制限制

在安全模式下,一些嘗試訪問文件系統的函數功能將被限制。運行Web服務器用戶ID,如果想要操作某個文件,則必須擁有該文件讀取或者寫入的訪問權限,實現這個限制功能對于PHP來說是沒有問題的。

在安全模式開啟的時候,嘗試讀取或者寫入一個本地文件的時候,PHP將檢查當前訪問用戶是否是該目標文件的所有者。如果不是所有者,則該操作會被禁止。(寫 入權限:在較低級別的文件訪問權限下,可能會允許讀取或者寫入系統操作系統的文件,通過PHP的安全模式實現了防止你操作另外一個用戶文件的操作。當然, 一個Web服務器可能能夠訪問一個具有全局寫入權限的任意文件。)

當安全模式打開的時候,以下函數列表的功能將會受到限制:

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擴展中的函數也將會受到影響。(加載模塊:在安全模式下dl函數將被禁止,如果要加載擴展的話,只能修改php.ini中的擴展選項,在PHP啟動的時候加載)

在PHP安全模式打開的時候,需要執行操作系統程序的時候,必須是在safe_mode_exec_dir選項指定目錄的程序,否則執行將失敗。即使允許執行,那么也會自動的傳遞給escapeshellcmd函數進行過濾。

以下執行命令的函數列表將會受到影響:

exec, shell_exec, passthru, system, popen

另外,背部標記操作符(`)也將被關閉。

當運行在安全模式下,雖然不會引起錯誤,但是 putenv 函數將無效。同樣的,其他一些嘗試改變PHP環境變量的函數set_time_limit, set_include_path 也將被忽略。

打開安全模式

打開或者關閉PHP的安全模式是利用php.ini中的safe_mode選項。如果要激活安全模式給當前所有共享Web服務器的用戶,只要設置配置選項為:safe_mode = On當函數在訪問文件系統的時候將進行文件所有者的檢查。缺省情況下,會檢查該文件所有者的用戶ID,當你能夠修改文件所有者的組ID(GID)為 safe_mode_gid 選項所指定的。如 果你有一個共享庫文件在你的系統上,當你碰到需要include或require的時候,那么你可以使用 safe_mode_include_dir 選項來設置你的路徑,保證你的代碼正常工作。(包含路徑: 如果你想要使用 safe_mode_include_dir 選項包含更多的包含路徑,那么你可以象 include_path 選項一樣,在Unix/Linux系統下使用冒號進行分割,在Windows下使用分號進行分割)比如你想要在安全模式下包含 /usr/local/include/php 下的文件,那么你可以設置選項為:safe_mode_include_dir = /usr/local/include/php如果你的包含的文件是需要執行的,那么你可以設置 safe_mode_exec_dir 選項。比如你需要 /usr/local/php-bin 路徑下的文件是可以執行的,那么可以設置選項為:safe_mode_exec_dir = /usr/local/php-bin(可執行:如果你執行的程序在 /usr/bin 目錄下,那么你可以把這些的二進制文件,連接到你指定選項下能夠執行的路徑)如果你想設置某些環境變量,那么可以使用 safe_mode_allowed_env_vars 選項。這個選項的值是一個環境變量的前綴,缺省是允許 PHP_ 開頭的環境變量,如果你想要改變,可以設置該選項的值,多個環境變量前綴之間使用逗號進行分割。比如下面允許時區的環境變量 TZ ,那么修改該選項的值為:safe_mode_allowed_env_vars = PHP_,TZ【 其他的安全特征 】除了安全模式以外,PHP還提供了許多其他許多特征來保證PHP的安全。

隱藏PHP

你能夠在php.ini里使用 expose_php 選項來防止Web服務器泄露PHP的報告信息。如下:expose_php = On利用整個設置,你能夠阻礙一些來自自動腳本針對Web服務器的攻擊。通常情況下,HTTP的頭信息里面包含了如下信息:Server: Apache/1.3.33 (Unix) PHP/5.0.3 mod_ssl/2.8.16

OpenSSL/0.9.7c在 expose_php 選項打開以后,PHP的版本信息將不包含在上面的頭信息里。當然,用戶訪問網站的時候同樣能夠看到 .php 的文件擴展名。如果你想整個的使用不同的文件擴展名,你需要在 httpd.conf 中找到如下這行:AddType application/x-httpd .php你就可以修改 .php 為任何你喜歡的文件擴展名。你能夠指定任意多個的文件擴展名,中間使用空格進行分割。如果你想在服務器端使用PHP來解析 .html 和 .htm 文件的時候,那么你設置選項如下:AddType application/x-httpd .html .htm(解析HTML:配置你的Web服務器使用PHP去解析所有的HTML文件,但是如果非服務器端代碼也需要PHP去解析,會影響服務器的性能。靜態頁面你可以使用不同的擴展名,這樣能夠消除對PHP腳本引擎的依賴,增強性能。)

文件系統安全

安全模式限制了腳本所有者只能訪問屬于自己的文件,但是你可以使用 open_basedir 選現來指定一個你必須訪問的目錄。如果你指定了一個目錄,PHP將拒絕訪問除了該目錄和該目錄子目錄的其他目錄。open_basedir 選項能夠工作在安全模式之外。限制文件系統只能訪問 /tmp 目錄,那么設置選項為:open_basedir = /tmp[ 函數訪問控制 ]你能夠在 disable_functions 選項中使用逗號分割來設定函數名,那么這些函數將在PHP腳本中被關閉。這個設置能夠工作在安全模式之外。disable_functions = dl當然,同樣的你能夠使用 disable_classes 選項來關閉對一些類的訪問。


企業新聞
關于南昌莫非網絡科技公司2022年元旦放假安排通知.元旦:1月1日(星期六)至1月3號(星期一)放假,共計三天(無調休),1月4日(星期二)上班。
關于南昌莫非網絡科技公司2021年國慶節放假安排通知。根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年國慶放假的有關事項安排如下。
南昌莫非網絡科技公司2021年中秋節放假通知.一、假期從:2021年09月19日到2021年09月21日結束,假期共3天(9月18日正常上班,9月26日正常休息)。二、如有緊急情況,請各位同仁及時配合相關部門主管人員把事情處理妥善。做好防火、防盜工作并督促各部門關好辦公區域的門、窗等。
根據《國務院辦公廳關于2021年部分節假日安排的通知》(國辦發明電〔2020〕27號),結合我單位工作實際情況,現就2021年端午節放假的有關事項安排如下:一、放假時間:2021年6月12日(星期六)至2021年6月14日(星期一),共放假3天。
南昌莫非網絡科技公司2021年五一勞動節放假通知.現就2021年五一勞動節放假的有關事項安排如下:一、放假時間,2021年5月1日(星期六)至2020年5月5日(星期三),共放假5天。4月25日(星期日)上班,5月6日(星期四)正常上班。
南昌莫非網絡科技公司2021年清明節放假通知.2021年4月3日(星期六)-2021年4月5日(星期一)放假,共3天。4月6日(星期二)正常上班。放假期間,各項業務照常運行,售后問題您可以直接相關負責人提交服務單,技術人員將在12小時之內處理。
關于南昌莫非網絡科技公司2021年春節放假安排通知.一、春節放假時間:2021年2月5日(農歷臘月二十四)至2021年2月18日(農歷正月初七)放假,共13天,2月19日(星期五)開始上班,2月21日星期日(農歷正月初十)恢復正常上班。由于疫情,假期時間可能會有所變化,具體以通知為準。
關于南昌莫非網絡科技公司2021年01月01日元旦放假通知。一、放假時間:2021年1月1日(星期五)至2021年1月3日(星期日)放假,共3天;2021年1月4日(星期一)正常上班。公司放假期間如有相關業務及服務事宜敬請撥打我司24小時服務熱線:0791-8819-6636或咨詢客服QQ:2401077293,可隨時與我司進行聯系。
南昌莫非網絡科技公司2020年中秋節+國慶節放假通知。根據《國務院辦公廳關于2020年部分節假日安排的通知》,為了讓大家度過一個充實、平安的假期,現把2020年中秋國慶放假時間及溫馨提示通知如下!
南昌莫非網絡科技公司2020年五一放假通知.在過去的歲月里,南昌莫非網絡科技公司與新老客戶一直保持著愉快的合作,這離不開大家的鼎立支持和幫助。在未來的日子里還需要更多朋友們的支持與幫助,希望你們能始終如一的支持南昌莫非網絡科技,并提出您寶貴的意見及建議。
南昌莫非網絡科技公司2020年春節寒假放假安排通知。南昌莫非網絡科技公司提前祝全國合作伙伴新春快樂、闔家幸福!預祝全體員工春節快樂!
南昌莫非網絡科技公司2020年元旦節放假安排通知.元旦將至,南昌莫非網絡科技公司預祝全體員工元旦快樂!現將2020年元旦節放假安排通告如下:一、放假時間:2020年1月1日,共1天。
網站建設行業方案
網站維護知識
網站制作常見問題
SEO網站優化教程
踏上云端,轉型升級融入互聯網時代,現在就聯系我們吧!
——      我們時刻為你提供更多優質互聯網技術服務      ——
姓名:
*
聯系方式:
*
咨詢項目:
內容:
*
在線留言
關于我們:南昌莫非文化傳媒有限公司(簡稱:莫非傳媒)專注于網站建設,網站SEO優化,小程序制作。提供全方位用戶體驗規劃,品牌形象設計服務。為每一位企業客戶的成長、騰飛助力!        網站建設、網站設計、網站制作、網站開發,就選網站建設公司-南昌莫非傳媒!
掃一掃微信便捷交流
|
|
|
|
|
|
|
|
|
|
|
|
|
地址:江西省南昌市西湖區洪城路6號國貿廣場A座巨豪峰
業務咨詢  :  
272482065
售后服務 :
2401077293
服務熱線:
0791-88196636
______________________________________________________________________________________________________________________________________________________________________________________________________