有没有办法过滤IIS提供的页面中的某些内容?

时间:2010-03-19 02:44:29

标签: asp.net iis ssl filtering

这是我第一次在这里发帖,所以请记住这一点......

我会尽量缩短并正确定义问题。我们在IIS(Windows Server 2003)上运行ASP.NET 2应用程序(电子商务包)。主站点的页面使用普通HTTP(无SSL),但整个结账过程和购物车页面使用SSL(HTTPS)。现在,问题是该网站的标题位于模板文件中,并且在其内部它有一个纯HTML'img'标记,调用图像,其中“http://”部分硬编码到其中...此标题绝对出现在每一页(包括https页面)上,由于其不安全的图像标签,在结帐过程的每个阶段都会在IE中弹出一个警告框...

现在,问题是:无法以任何方式触及实时应用程序(不能对模板进行任何更改(因此只需将“http://”更改为“//”不是一个选项),IIS不能重新启动,无法重新启动网站/应用程序池)。世界上有什么方法(可能是IIS的插件或某个地方的设置)我可以在服务之前过滤页面以替换'< img src =“http://example.com/image.jpg” >”与'< img src =“// example.com/image.jpg">'在最终的HTML?可能通过正则表达式或什么?

感谢所有人提前。

2 个答案:

答案 0 :(得分:0)

只是一个猜测,但你可以在IIS中添加页脚并尝试使用JavaScript或jQuery或页脚中的某些内容...

http://www.microsoft.com/technet/prodtechnol/WindowsServer2003/Library/IIS/e27f918e-89a9-45a8-8604-2ad2ded09d64.mspx?mfr=true

问题是我很确定你已经提出了下载违规图像的请求。

您可以在CSS中禁用图像的显示,然后使用jQuery(例如)将与http://匹配的img标记替换为具有https://或/image.jpg等的标记。

请参阅:api.jquery.com/find /

在浏览器获取HTML之前彻底更换HTML,你需要一个HTTP处理程序(.NET)......这在这里看起来像疯了一样。

我有点困惑你如何对国际空间站进行所有这些修改,或者在加载时编辑模板的内容,但你不能只是去编辑模板! :)

答案 1 :(得分:0)

如果您的Web场前有F5 BigIP(http://www.f5.com/products/big-ip/),则可以非常轻松地重写请求和响应以解决问题。但它不便宜!