我们asp.net网站上的一个登录页面使用https,而我们几乎所有的其他页面都不使用https。在此登录页面上,IE8用户会收到“您是否只想查看安全交付的网页内容?”消息。许多用户习惯于按“是”,这会破坏我们的登录页面。我知道问题源于ScriptManager生成的WebResource.axd和ScriptResource.axd脚本标记。
我已经尝试了引用ScriptResource.axd/WebResource.axd的每种方法--但是无论我做什么,我都得到了相同的IE8警告--一些例子:
<script src='https://www.mysite.org/ScriptResource.axd?123' type="text/javascript"></script>
<script src=' /ScriptResource.axd?123' type="text/javascript"></script>
<script src=' //www.mysite.org/ScriptResource.axd?123' type="text/javascript"></script>
<script src=' ../ScriptResource.axd?123' type="text/javascript"></script>下面是一个simple page with no axd script (no IE8 prompt)和another page with the same markup and a single axd script (produces the IE8 prompt)的示例。
我认为在iis中对axd文件可能有一些奇怪的重定向-我甚至尝试过在global.asax中保护urls的response.redirecting axd请求。Application_BeginRequest,但不起作用。
有没有人知道一种方法来包含脚本管理器生成的ScriptResource.axd/WebResource.axd脚本,而不会触发“你想只查看安全交付的网页内容吗?”IE8消息?谢谢!
发布于 2010-08-04 01:02:13
从流量来看,有些东西正在将ScriptResource.axd的https请求重定向到http等效项。我不知道有任何特定于ScriptResourceHandler的设置可以做到这一点,但我知道我们一直通过https使用MS AJAX脚本,没有任何问题。我会尝试暂时删除任何Application_BeginRequest处理程序,看看它是否会继续重定向。
发布于 2010-07-28 04:53:42
您还必须从SSL加密的服务器上交付脚本。通过HTTPS。这是因为某些脚本来自非SSL通道。
发布于 2010-08-03 22:31:56
使用Fiddler2嗅探请求,这可能会让您更深入地了解从浏览器到服务器来回传递的内容。
看看你的登录页面的页面加载情况,所有的*.axd文件都是通过SSL调用的。
还要查看您的cookies是否在登录页面上写入/读取任何cookies。这肯定会在两个IE8 (以及我机器上的FF 3.67 )中导致弹出消息。
这是我能给出的关于去哪里找的最好的建议。
希望能有所帮助。
https://stackoverflow.com/questions/3347872
复制相似问题