0

这个问题就像标题一样简单。我有一个 webapp(我不知道它是基于什么技术构建的,也不知道它运行在什么应用服务器上)。但是,我知道这个 webapp 由 Apache 服务器/IIS 服务器/IBM Http 服务器提供服务。现在,我想在网络服务器端有一个插件/模块/附加组件,它将解析/截断/剪切/正则表达式 http 响应(基于请求的 url 的模式)和掩码(加密/洗牌/替代)此响应中的一组字段基于不同的参数(用户在 Intranet 中的 LDAP 权限/用户在 Internet 上的地理位置等),并将更改后的响应发送回用户。

那么,创建此类插件/模块/附加组件是否有一个简单的答案?当您想在不修改 Web 应用代码的情况下屏蔽 Web 应用中的敏感信息时,这种在 Web 服务器上创建额外软件的方法有多可行?是否有任何工具可以帮助您为 Apache 执行此操作?

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

4

2 回答 2

1

每个网络服务器都有自己的方式。

网络服务器没有通用的插件架构。

在 IIS 中,您将编写一个HTTP 处理程序或HTTP 模块,或者可能是一个ISAPI 过滤器您还可以使用HttpContext公开的Response对象直接与 http 响应进行交互。

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

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

大多数 Web 应用程序都需要您所要求的内容,因此要么是内置的,要么很容易做到。

于 2010-02-05T12:05:04.650 回答
1

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

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

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

于 2010-02-05T18:24:58.557 回答