代码之家  ›  专栏  ›  技术社区  ›  Jay

是否在使用Web服务器插件到达浏览器之前从Web服务器修改HTML repsonse?

  •  0
  • Jay  · 技术社区  · 15 年前

    这个问题和题目一样简单。我有一个webapp(我不知道它是建立在什么技术上的,也不知道它运行在什么appserver上)。但是,我知道这个webapp正由apache服务器/i is服务器/ibm http服务器提供服务。现在,我想在Web服务器端有一个插件/模块/插件,它将解析/截断/剪切/重新生成HTTP响应(基于请求的URL模式),并根据不同的参数(用户在Intranet中的LDAP权限/用户在Internet上的地理位置,如果在Internet上)屏蔽(加密/无序移动/替换)此响应中的一组字段。t等)并将更改后的响应发送回用户。

    那么,是否有一个简单的答案来创建这样的插件/模块/插件?当您想在不修改Web应用程序代码的情况下隐藏Web应用程序中的敏感信息时,这种在Web服务器上创建额外软件的方法有多可行?有什么工具可以帮助您为Apache实现这一点吗?

    最后,这真的是一个疯狂的尝试吗?!

    2 回复  |  直到 13 年前
        1
  •  1
  •   Oded    15 年前

    每个Web服务器都有自己的方式来实现这一点。

    没有适用于WebServer的通用插件体系结构。

    在IIS中,您将编写一个 HTTP Handler HTTP Module 或者可能是 ISAPI Filter . 您还可以使用 Response 被暴露的对象 HttpContext .

    使用Apache,有不同的模块可以满足您的需要( mod_headers 例如。

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

    您所要求的是大多数Web应用程序所必需的,所以要么是内置的,要么非常简单。

        2
  •  1
  •   Jeremy Stein    15 年前

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

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

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