簡體   English   中英

檢測是否使用PHP安裝了Mod_Security?

[英]Detect if Mod_Security Is Installed With PHP?

是否有任何簡單的方法來檢測是否僅使用PHP安裝和啟用了mod_security? 理想情況下,不執行任何exec()終端類型命令。

有些人建議使用apache_get_modules(),但這個特定的Web主機不允許它顯示。 其他用戶也提到了這一點: http//www.devcomments.com/apache_get_modules-solution-to130703.htm

嘗試使用apache_get_modules函數獲取已加載模塊的數組。 如果該模塊被加載,但沒有列在那里,你可能想嘗試phpinfo具有phpinfo(INFO_MODULES)代替:

ob_start();
phpinfo(INFO_MODULES);
$contents = ob_get_clean();
$moduleAvailable = strpos($contents, 'mod_security') !== false;

你可以創建一個test.php文件並使用..

<?php phpinfo(); ?>

看看apache2handler,然后看看:加載的模塊..這樣的東西......

http://gyazo.com/bcba303469f23671f7213e1478788cbd.png

-麥克風

抓住稻草在這里。

嘗試讓您的腳本向自己發送請求(通過file_get_contents或cURL擴展名),這將觸發mod_security。 如果它返回403(或任何mod_security的默認響應),這應該是足夠的信息讓你繼續...

您可以搜索get_loaded_extensions()函數並使用array_intersect(),如果找不到任何匹配項,則返回數組中的匹配值,否則返回空數組。

$modSecurity = !empty(array_intersect(array_map('strtolower', get_loaded_extensions()), array('mod_security', 'mod security'))) ? true : false;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM