这是我第一次在这里发帖,所以请记住这一点......
我会尽量缩短并正确定义问题。我们在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?可能通过正则表达式或什么?
感谢所有人提前。
答案 0 :(得分:0)
只是一个猜测,但你可以在IIS中添加页脚并尝试使用JavaScript或jQuery或页脚中的某些内容...
问题是我很确定你已经提出了下载违规图像的请求。
您可以在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/),则可以非常轻松地重写请求和响应以解决问题。但它不便宜!