PHP代碼審計-配置文件

配置文件

php.ini : 對於服務器模塊版本的PHP,僅在web服務器啓動時讀取一次,對於CGI和CLI版本,每次調用都會讀取。
        CGI :「公共網關接口」(Common Gateway Interface),HTTP服務器與你的或其它機器上的程序進行「交談」的一種工具,
        其程序須運行在網絡服務器上。以CGI方式運行時,webserver將用戶請求  以消息的方式轉交給PHP獨立進程, 
        PHP與web服務之間無從屬關係。純粹調用--返回結果的形式通信。而模塊方式,則是將PHP作爲web-server的子進程控制,二者有從屬關係  
        最明顯的例子就是在CGI模式下,若是修改了PHP.INI的配置文件,不用重啓web服務即可生效,而模塊模式下則須要重啓web服務。


        CLI :「 命令行界面」(Command Line Interface),可在用戶提示符下鍵入可執行指令的界面。CLI則是命令行接口,用於在操做系統  
        命令行模式下執行PHP,好比能夠直接在win的cmd或Linux的shell模式下直接輸入 php a.php 來獲得結果。它與CGI模式最大的不一樣的  
        地方在於既不會輸出HTTP頭信息(CGI模式除了輸出用戶能看到的結果外,還會輸出用戶不能直接看到的HTTP 頭信息),拋出的信息也直接以  
        文本方式而不以  HTML方式給出,好比新建一個 test.php,寫入內容 <?php phpinfo();?>在瀏覽器中能夠看到以HTML表格描述的信息,
        而在命令行輸入 phptest.php則會直接看到純文本的輸出。
        
        
.user.ini:自PHP5.3開始。PHP支持基於每一個目錄的.htaccess風格的INI文件,此類文件僅被CGI/FastCGI SAPI處理。此功能是PECL的htaccess擴展做廢。若是使用Apache,則用.htaccess文件有一樣效果。能夠再httpd.conf中覆蓋php.ini的值。
複製代碼

配置命令

directive = value
    啓用全局變量: register_globals=off
            啓動爲ON,php會講$_POST,$_GET,$_COOKLE,$_ENV,$SESSION數組中的$key=>$value直接註冊爲變量,好比$_POST['USEname'] 則會註冊爲$USEname。 
            新版本廢棄,安全問題:變量之間互相覆蓋,引發沒必要要的麻煩。
    
    
    短標籤:short_open_tag=on
            容許用縮寫的方式寫php ,這個設置主要是決定是否容許使用PHP代碼開始標誌的縮寫形式(<??>)。若是禁用了,必須使用PHP代碼開始的標誌的完整形式(<?php ?>)
            也影響到縮寫形式<?= 這個和<?echo 等價 所以避免文件上傳分析特徵<?php ?>被繞過關閉此函數
    安全模式:safe_mode=off
            被移除。5.4.0,以前版本可使用
            
    禁用類/函數
        disable_classes=,disable_functions=,disable_functions=opendir,readdir,scandir,fopen,unlink
            禁用某些類,進制某些函數,接受逗號分隔函數名列表做爲參數。只能再php.ini配置
            
    上傳文件 :file_uploads=on
    上傳文件大小:upload_max_filesize=8m
    文件上傳臨時目錄:upload_tmp_dir=
    用戶訪問目錄限制:open_basedir=.:/tmp/   
            設置此選項能夠控制php腳本只能訪問只能目錄,這樣避免訪問不該被訪問的目錄,必定程度限制了phps  
            hell危害。咱們通常能夠設置只能訪問網站目錄(php腳本文件所在目錄和/tmp/目錄),表示容許訪問  目錄。
            防止php木馬跨站運行。
    錯誤信息控制:display_error=on 
            是否將錯誤信息做爲輸出的一部分,站點發布後應該關閉這項功能,以避免暴露信息。調試的時候打開
    設置錯誤報告級別:error_reporting=E_ALL
            這個設置將錯誤級別設置爲最高,能夠顯示全部問題。方便查錯。
    錯誤日誌:error_log=
                    錯誤日誌的位置。不定義寫到web服務器的錯誤日誌中去
              log_errors=on
                    將錯誤日誌輸出到文件而不是前端。
              log_errors_max_length=1024
                    錯誤日誌關聯信息的最大長度。設爲0表示無限長度
    魔術引號:magic_quotes_gpc=on
              magic_quotes_runtime=off
                    爲GPC(GET/POST/Cookie)操做設置magic_quotes狀態。當magic_quotes爲on,全部的'"\和null被一個反斜槓自動轉義"
    是否容許打開遠程文件:allow_url_fopen=on
    
    是否容許包含遠程文件:allow_url_include=off複製代碼
相關文章
相關標籤/搜索