【问题标题】:Asp.Net page throwing error when loaded inside iFrame在 iFrame 中加载时,Asp.Net 页面抛出错误
【发布时间】:2016-09-07 22:30:06
【问题描述】:

我的 Asp.Net 网站单独运行良好。我们现在正在使用 HTTP GET 和 POST 方法将该网站加载到第三方网站的 iFrame 中。在大多数系统中,网页在 IE 的 iFrame 内正确加载。但是有些系统,首先我的网站在 iframe 中正确加载,然后在 IE 中的 iFrame 中加载页面时抛出“尝试访问此页面时发生错误”错误。错误消息显示在 iFrame 中,父网站继续正确运行。

我已经调试了 asp.net/C# 代码,看起来所有页面加载代码都正确执行并且没有异常但突然抛出错误。

我已经比较了两个系统中的 IE 设置,试图在两个系统中保持相同的设置,但没有运气。

此问题的原因可能是什么?如果有可能捕获父网站错误?我无权访问父网站代码。任何帮助都会很棒。

【问题讨论】:

标签: javascript c# asp.net iframe


【解决方案1】:

经过一番折腾,我终于能够检测到实际的错误。

我做了什么 在 IE 中使用 Tools->F12 Developer Tools 或在 IE 中按 F12。然后使用“网络”选项卡来跟踪导致问题的最后一页/链接是什么。发现是我的网站导致了错误。现在是时候找出实际错误了。

我在 Web.Config 文件中找到了

<system.web>
<customErrors defaultRedirect="Error.htm" mode="RemoteOnly"/>

这导致重定向到显示通用自定义错误消息的“Error.htm”。所以我将上面的 customErrors 元素替换为如下

<customErrors mode="Off"/>    

参考:Web.config Custom Errors mode Conflict

现在我收到了实际错误。错误是:

从客户端检测到具有潜在危险的 Request.Form 值 (ConfigurationRequest="http://go.microsoft.com/fwlink/?LinkID=212874。

异常详细信息:System.Web.HttpRequestValidationException:从客户端检测到潜在危险的 Request.Form 值(ConfigurationRequest="

现在我需要找出这个问题发生的原因和根本原因。让我们看看我能找到什么。但它肯定这个问题是由来自 3rd 方网站的 HTTP GET (Request.Form) 调用引起的

然后我找到A potentially dangerous Request.Form value was detected from the client

我添加了&lt;httpRuntime requestValidationMode="2.0"/&gt; 对.Net4.0 运行时有效

(如果 .Net 运行时为 2.0,则添加 &lt;pages validateRequest="false"&gt; ) 到 web.config 它开始工作了。

但是还有一些错误。有些系统 IE 没有保存会话和配置文件变量。当我使用会话和配置文件变量时,这会在页面加载时导致几个问题。

我找到Session Variables not saved when page is in an iFrame

并添加 IIS 中的 P3P 标头:

名称 = p3p Value = CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"

它在 iFrame 中开始工作的文件。呼!!!

【讨论】:

    猜你喜欢
    • 2011-03-21
    • 1970-01-01
    • 2022-11-23
    • 2015-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-17
    • 1970-01-01
    相关资源
    最近更新 更多