簡體   English   中英

PHP中的ASP.NET HttpModules的等價物

[英]Equivalent of ASP.NET HttpModules in PHP

什么是PHP中的ASP.NET HttpModules?

如果有任何我可以如何為特定應用程序(不是全局)包含它們,換句話說,什么是web.config的等價物

示例:如果服務器返回HTTP 500錯誤,無論運行的代碼如何,我都需要記錄請求和標頭。

在ASP.NET中,我會有一個HTTP模塊,我可以在發送到客戶端之前獲取響應代碼和其他詳細信息。 我也可以處理Begin Request。

我需要PHP中類似的東西

不幸的是,PHP更像是ASP,因為“應用程序”是一個松散的概念,文件並不緊密相關,所以你所做的任何事都可能必須在Web服務器級別

假設你在linux / apache服務器上。 一種方法是使用.htaccess,這些可以在目錄(即應用程序級別)進行修改,並具有強大的功能。

一個例子是網址重寫:

http://roshanbh.com.np/2008/02/hide-php-url-rewriting-htaccess.html

官方Apache Docs: http//httpd.apache.org/docs/1.3/mod/mod_rewrite.html

您可以查看Apache的ModSecurity: http//www.modsecurity.org/

它允許您根據您定義的規則記錄完整的POST和標題數據。 ModSecurity配置非常強大,但也非常復雜。

HTTP流量記錄

Web服務器通常具有良好的功能,可以以對市場分析有用的形式記錄流量,但不會將日志記錄流量縮短到Web應用程序。 特別是,大多數人無法記錄請求正文。 你的對手知道這一點,這就是為什么大多數攻擊現在通過POST請求執行,使你的系統失明。 ModSecurity使完整的HTTP事務日志記錄成為可能,允許記錄完整的請求和響應。 它的記錄功能還允許精確決定記錄的確切內容和時間,確保只記錄相關數據。 由於某些請求和/或響應可能包含某些字段中的敏感數據,因此可以將ModSecurity配置為在將這些字段寫入審核日志之前屏蔽這些字段。

暫無
暫無

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

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