別の会社のSharePointサーバーが提供するレポートをiframeで表示する必要があるWebページを開発しています。彼らはこれで大丈夫です。
Iframeでレンダリングしようとしているページは、X-Frame-Options:SAMEORIGINを提供しています。これにより、ブラウザ(少なくともIE8)はフレーム内のコンテンツのレンダリングを拒否します。
まず、これは彼らが制御できるものですか、それともSharePointがデフォルトで行うものですか?私は彼らにこれをオフにするように頼むならば、彼らはそれをすることさえできますか?
第二に、このhttpヘッダーを無視してフレームをレンダリングするようにブラウザーに指示することができますか?
2番目の会社がIFrameでコンテンツにアクセスすることに満足している場合、制限を解除する必要があります-IIS config。
それを回避するためにできることは何もありません。また、機能するものはすべてセキュリティ修正プログラムですぐに修正されるはずです。ソースコンテンツヘッダーがフレームで許可されていない場合、ブラウザにフレームをレンダリングするように指示することはできません。これにより、セッションハイジャックが容易になります。
コンテンツがGETのみの場合、データをポストバックしないので、ページサーバー側にアクセスしてヘッダーなしでコンテンツをプロキシできますが、ポストバックは無効になります。
2019年更新:あなたcanバイパスX-Frame-Options
の<iframe>
using X-Frame-Bypass Webコンポーネント。複数のCORSプロキシを使用してIFrame要素を拡張し、最新のFirefoxおよびChromeでテストされました。
次のように使用できます。
(オプション)Safariの場合、 組み込み拡張ポリフィルを使用したカスタム要素 を含めます。
<script src="https://unpkg.com/@ungap/custom-elements-builtin"></script>
X-Frame-Bypass JSモジュールを含めます。
<script type="module" src="x-frame-bypass.js"></script>
X-Frame-Bypassカスタム要素を挿入します。
<iframe is="x-frame-bypass" src="https://example.org/"></iframe>
X-Frame-Optionsヘッダーは、ブラウザーレベルで適用されるセキュリティ機能です。
ユーザーベース(企業アプリのIT部門)を制御できる場合は、greasemonkeyスクリプト(可能な場合)全員にグリースモンキーを展開し、b)共有方法でスクリプトを展開します)...
または、結果をプロキシできます。サーバー上にエンドポイントを作成し、そのエンドポイントにターゲットエンドポイントへの接続を開かせ、トラフィックを逆方向に集中させます。
はい、フィドラーは私にとってオプションです:
CustomRules.js
)。OnBeforeResponse
を見つけます次の行を追加します。
oSession.oResponse.headers.Remove("X-Frame-Options");
oSession.oResponse.headers.Add("Access-Control-Allow-Origin", "*");
2番目の質問については、 Fiddler フィルターを使用して応答を設定できますX-Frame-Options
ヘッダーを手動でALLOW-FROM *
。ただし、もちろん、このトリックはあなただけに有効です-他のユーザーはiframeコンテンツを見ることができません(同じことをしないと)。