2010-02-05 53 views
0

问题和标题一样简单。我有一个web应用程序(我不知道它构建在哪个技术上,或者它运行在哪个应用程序服务器上)。但是,我确实知道这个webapp由Apache服务器/ IIS服务器/ IBM Http服务器提供服务。现在,我希望在Web服务器端有一个插件/模块/附加组件,它可以解析/截断/剪切/ regex http响应(基于请求的url模式)和掩码(加密/随机播放/替代)基于不同参数(用户在Intranet /用户的地理位置(如果在互联网上)的LDAP许可等)中的一组字段,并将修改后的响应发回给用户。在使用web服务器插件到达浏览器之前,从web服务器修改html repsonse?

那么,有没有一个简单的答案来创建这样的插件/模块/附加组件?当您想要在webapp中屏蔽敏感信息而无需修改web-app代码时,在web服务器上创建额外软件的方法有多可行?有什么工具可以帮助你为Apache做到这一点吗?

最后,这只是一个非常疯狂的尝试?!

+0

修改Web应用程序是最容易的。你在谈论一个特定的应用程序?也许我们可以帮助你弄清楚它使用的是什么容器。 – 2010-02-05 18:25:46

+0

@Jeremy:这是我们正在收集需求的数据屏蔽产品/解决方案背后的概念。产品必须动态地屏蔽生成的html响应中的值,而不管应用程序服务器如何。 – Jay 2010-02-05 23:18:06

回答

1

每个网络服务器都有自己的做法。

Web服务器没有通用的插件体系结构。

在IIS中,您将编写一个HTTP HandlerHTTP Module或可能的ISAPI Filter。您还可以使用HttpContext公开的Response对象直接与http响应进行交互。

使用apache,有不同的模块可以做你想做的(例如mod_headers)。

我对WebSphere一无所知,但我确定它也有类似的机制。

你所要求的是大多数网络应用程序所要求的,所以要么是内置的,要么很容易做到。

+0

@Oded这些不同的模块是什么? – Jay 2010-02-05 12:10:34

+0

我知道没有通用插件,但是,如果我想了解哪些插件可用于每个市场上流行的网络服务器。 – Jay 2010-02-05 12:11:40

+0

@Jay - 更新了一些具体的答案 – Oded 2010-02-05 12:27:12

1

最简单的方法是使用Web应用程序容器添加插件。例如,如果它是Tomcat,则可以添加过滤器或阀门。

如果您想要插入到Web服务器,您需要使用正在使用的任何Web服务器的API编写自定义模块。

如果一切都失败了,你总是可以将整个服务器包装在一个反向代理中。所有请求都会经过您的代理,这会让您有机会修改请求和响应。