2009-02-20 21 views
5

PHPのASP.NET HttpModulesに相当するものは何ですか?PHPのASP.NET HttpModulesに相当する

いずれかが、私はweb.configファイルの同等であるものを別の言葉で、その特定のアプリケーション(ないグローバル)のためにそれらを含めることができる方法がある場合

例:私があれば、リクエストとヘッダをログに記録する必要がありますサーバーは実行されているコードに関係なくHTTP 500エラーを返しています。

ASP.NETでは、クライアントに送信する前に、レスポンスコードやその他の詳細を取得できるHTTPモジュールが必要です。私はBegin Requestも処理できます。

は、私はPHPで同様のものが必要

答えて

3

残念ながら、PHP、ASPは、「アプリケーション」は緩い概念があるという意味で、ファイルはしっかりと関連していない以上のようなものですので、あなたが何がそうでなければならないであろうウェブサーバーレベル

あなたはLinux/Apacheサーバーにいると仮定します。 1つのアプローチは.htaccessを使用することです。これらはディレクトリ(つまりアプリケーションレベル)で変更でき、強力な機能を持つことができます。

一つの例は、URLの再書き込みのためである:

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

公式Apacheのドキュメント:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html

+0

@brendan - 私はURL RewriteがRoutingと似ていると理解しています。私が探しているのは、処理がディレクトリにあるPHPページに行く前に、自分のコードを実行させる方法です。 – Ramesh

+0

gotcha - HTTPモジュールを使ってURLを書き直したとします。htaccessファイルが私の答えを変更しました。 – brendan

+0

@brendan - 質問に例を追加しました。私はhtaccessが私を助けるかどうか分からない。ありがとうございます – Ramesh

0

あなたはApache用のModSecurityを見ることができます:http://www.modsecurity.org/それはあなたがログインすることができます

定義したルールに応じて、完全なPOSTおよびヘッダーデータ ModSecurity設定は非常に強力ですが、非常に複雑です。

Webサーバーのログ

HTTPトラフィックは通常 ウェブ アプリケーションに分析し、マーケティングのための 有用な形態でトラフィックをログに記録しますが、 秋短いログトラフィックに整っています。特に、大部分は、 の要求をログに記録できない です。あなたの敵はこれを知っています。 これは、ほとんどの攻撃が がPOST要求によって実行され、 システムがブラインドになっている理由です。 ModSecurityは完全なHTTP トランザクションログを可能にし、 の完全な要求と応答を に記録します。そのログ機能も は、正確に何が記録されているかについて細かい決定が行われ、 が記録されている場合は となります。 要求や応答の一部に、特定のフィールドの機密データ が含まれている可能性があるため、 のフィールドをマスクするようにModSecurity を設定して、監査 ログに書き込むことができます。

+0

@Julien - リンクありがとう。しかしそれは一例です。私が望むのは、ディレクトリに入ってくるすべてのリクエストのBeginRequestとEndRequestを処理する方法です。 – Ramesh

関連する問題