2009-02-20 75 views
5

PHP中的ASP.NET HttpModules的等价物是什么?PHP中的ASP.NET HttpModules的等价物

如果有任何我怎么能包括他们针对特定的应用程序(而不是全局),换言之是什么web.config中相当于

例子:我需要登录请求和头,如果服务器正在返回一个HTTP 500错误,而不考虑运行的代码。

在ASP.NET中,我将有一个HTTP模块,可以在发送给客户端之前获取响应代码和其他详细信息。我也可以处理开始请求。

我需要在PHP类似

回答

3

不幸的是PHP更像是ASP在这个意义上,“应用程序”是一个松散的概念,文件不紧密相关的,所以任何你做将可能不得不在网络服务器级别

假设您在Linux/apache服务器上。一种方法是使用.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 Re Writing与Routing类似。我正在寻找的是一种在处理进入目录中的PHP页面之前执行我的代码的方法。 – Ramesh 2009-02-20 19:12:50

+0

gotcha - 我假设你使用HTTP模块重写URL(一个常见任务),你可以使用它。htaccess文件修改了我的答案。 – brendan 2009-02-20 19:16:13

0

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

这将允许您登录完整的POST和标题数据取决于您定义的规则。 ModSecurity配置非常强大,但也非常复杂。

HTTP流量日志

的Web服务器通常 设备齐全,流量日志的形式 有用的营销分析,但 功亏一篑日志流量网络应用 。特别是,大多数是 不能记录请求 机构。你的对手知道这个, ,这就是为什么大多数攻击现在通过POST请求执行 , 使你的系统失明。 ModSecurity使完整的HTTP 事务记录成为可能,允许 完成请求并响应为 记录。它的日志记录工具 允许细粒度的决定为 关于记录的内容和 ,确保仅记录相关数据 。由于某些请求 和/或响应可能包含某些字段中的敏感 数据,ModSecurity 可以配置为在将这些字段写入审计 日志之前掩盖这些字段 。