这是我第一次在这里发布,因此请记住这一点...

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

现在的问题是:无法以任何方式触摸实时应用程序(无法对模板进行任何更改(因此,不能简单地将“ http://”更改为“ //”),无法重新启动IIS,并且网站/应用程序池无法重新启动)。世界上有什么办法(也许是IIS的插件或某个设置)可以在将页面用于替换'在最终的HTML中带有“ ”?可能通过正则表达式之类的东西?

预先感谢大家。

最佳答案

只是一个猜测,但是您可以在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)...在这里似乎有点疯狂。

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

07-28 01:42
查看更多