2010-02-05 61 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編寫自定義模塊。

如果一切都失敗了,你總是可以將整個服務器包裝在一個反向代理中。所有請求都會經過您的代理,這會讓您有機會修改請求和響應。