淺讀php核心配置

2021-08-17 20:15:24 字數 1572 閱讀 9239

php配置檔案指令很多,這裡就對一些會影響php指令碼安全的核心配置進行簡要學習與記錄。

>狀態為on時,會將使用者提交的引數註冊成為全域性變數並初始化值為引數對應的值。

>php版本小於4.2.3時設定為php_ini_all。

>在php 5.4.0移除了該選項。

設定為on且php版本小於5.4.0時,測試如下:

>狀態為on時,可直接包含遠端檔案,當存在include($var)且$var可控的情況下,通過$var可執行php**。

>在php 5.2.0後預設為off,範圍是php_ini_all。

設定為on時,測試如下:(教訓:每次修改配置後要重啟一次服務)

>狀態為on時,會自動在get,post,cookie變數中的單引號,雙引號,反斜槓,空字元(null)的前面加上反斜槓。

>在php 5中不會過濾$_server變數。

>在php 5.4中被取消。

>php版本小於4.2.3,配置範圍是php_ini_all。

>php版本大於4.2.3,配置範圍是php_ini_perdir。

測試如下:

>資料庫或檔案中獲取的資料對單引號,雙引號,反斜槓,空字元(null)的前面加上反斜槓。

>在php 5.4中被取消,配置範圍是php_ini_all。

測試如下:

ini_set 為乙個配置選項設定值

>轉義空字元和把單引號變成雙引號。

>作用物件與magic_quotes_gpc作用物件一致。

>設定為on時,會覆蓋magic_quotes_gpc的配置,能無視magic_quotes_gpc的on。

>在php 5.4中被取消,配置範圍是php_ini_all。

測試如下:

>安全模式是php內嵌的一種安全機制,配置範圍是php_ini_system,在php 5.4中被取消。

>>1)所有檔案操作函式會受到限制(unlink() file() include())。

>>1)通過函式popen() system() exec()等函式執行命令或程式時會提示錯誤。

>目錄訪問限制,將訪問僅限制在指定的目錄內,用斜線結束路徑名,因為限制實際上針對的是目錄名的字首。

>在版本小於5.2.3時,配置範圍時php_ini_system,大於5.2.3時是php_ini_all。

>要禁止一些危險函式時,應把dl()函式也新增刀禁止列表。

>配置禁用函式時以逗號分割。

>配置範圍:php.ini only。

>display_errors顯示php指令碼內部錯誤,生產環境中建議關閉。

>error_reporting配置錯誤顯示級別。

>配置範圍:php_ini_all。

讀《PHP7 核心剖析》

自己的書,在書上做筆記了。一本不錯的書,寫的算是詳細了。書中簡要介紹了各種功能的 c 語言實現的方法名稱。一,php 基礎架構 二,sapi 3 種執行 php 的方式。三,資料型別 四,記憶體管理 執行緒安全 五,php 編譯與執行 六,函式 七,物件導向 類的自動載入,255頁 autoload...

Php讀配置檔案

馬永佔,myz,mayongzhan php讀配置檔案 馬永佔,myz,mayongzhan 要讀的格式 php.ini this is demo by 馬永佔 myz global i 1j 2 k 3 self a 11 b 22 c 33 讀的方法 name test4.php date mo...

PHP核心配置詳解

在不同的環境下執行的結果會大有不同,可能因為乙個配置問題,導致乙個非常高危的漏洞 在不同的php版本中配置指令也有不一樣的地方,新的版本可能會增加或者刪除部分指令,改變指令預設設定或者固定設定指令,因此在 審計的過程中必須要非常熟悉php各個版本中配置檔案的核心指令才能更高效挖掘更多的漏洞。regi...