2012-03-05 7 views
0

これはまさにこの機能がうまく機能していて、別のサイトで作業している頃まで奇妙なものです。ローカルページを指しているIframeが空でアクセスできない

私は、ユーザーがasp.netを使用して、実際のページ自体を提出しなくても、ページのダウンロードを開始できるようにするためにはiframeを使用しています:

<iframe id="ifrDownload" name="ifrDownload" scrolling="no" frameborder="0" marginwidth="0" marginheight="0" style="display: none;" src="Download.aspx"></iframe> 

しかし、最近私は悪名高いを取得し、ダウンロードをしようとしたときに " iframeにアクセスする際にアクセス許可が拒否されました。明らかにローカルファイルは親と同じドメインにありますが、なぜそれが起こっているのか分かりませんが、奇妙なことは起こっていると確信していますFirebugのページを調べます。

問題なく動作するサイトは、次のように表示されます。 IFRAME検査:

<iframe id="ifrDownload" scrolling="no" frameborder="0" src="Download.aspx" style="display: none;" marginheight="0" marginwidth="0"> 

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<title> </title> 
</head> 
<body> 
<form id="downloadForm" action="Download.aspx" method="post" name="downloadForm"> 
<div> 
<input id="__VIEWSTATE" type="hidden" value="/wEPDwULLTExNjE3Nzc3MzlkZMnbcG6xJn5Jp/GA7fqNd/QyKuTC" name="__VIEWSTATE"> 
</div> 
<div> 
<input id="__EVENTVALIDATION" type="hidden" value="/wEWBgLTi7KCAQLnqqEBAuXC+6cLAoPKgZYKAvWdu+YGApj5qL4FFEFbauoxzxy+93iYHGZSO7dPLso=" name="__EVENTVALIDATION"> 
</div> 

<div> 
<input id="downloadButton" type="submit" style="display: none;" value="Confirm Download" name="downloadButton"> 
<input id="attachmentIdField" type="hidden" name="attachmentIdField"> 
<input id="tableFieldId" type="hidden" name="tableFieldId"> 
<input id="filenameField" type="hidden" name="filenameField"> 
<input id="whichField" type="hidden" name="whichField"> 
</div> 

</form> 
</body> 
</html> 
</iframe> 

しかし、非作業現場は、単に示しています

<iframe id="ifrDownload" scrolling="no" frameborder="0" src="Download.aspx" style="display: none;" marginheight="0" marginwidth="0" name="ifrDownload"> 
<html> 
<head></head> 
<body></body> 
</html> 
</iframe> 

Download.aspxファイルはかなり同じ両方のサイトのためであるとの親ページと同じディレクトリにあります両方とも、私は間違いなくiframeが動作する方法を壊しているどこかにコードを置いてしまったとしか思えません。

提案がありますか?私はHTMLを結び付けて、すべてうまく見えます。

答えて

0

大丈夫です。私は、Global.asaxファイルに次のように見つかりました

void Application_BeginRequest(object sender, EventArgs e) { 
    HttpContext.Current.Response.AddHeader("X-Frame-Options", "DENY"); 
} 

すべてのクロスフレームオプションが効果的にすべてのaspxページへのリンクのiframeではなく、HTMLページを無効にどの無効。

このコードを削除すると、クロスサイトスクリプティングを停止しているように見えますが、この問題は修正されています。

関連する問題