web-dev-qa-db-ja.com

ログインページで「このコンテンツをフレームに表示できません」というエラーが表示される

私は別のサーバーの私のWordPressディレクトリに新しいドメインを使っています。 「ログイン」や「登録」などのメタリンクをクリックすると、このページが表示されます。

このコンテンツはフレームに表示できません

このWebサイトに入力された情報のセキュリティを保護するために、このコンテンツの発行元はフレーム内に表示することを許可していません。

何ができるか:新しいウィンドウでこのコンテンツを開く

どうすればこれを修正できますか?

3
user1973523

バージョン3.4(またはそれ以前のバージョン)以降、WordPressはログインページと管理ページに(HTMLではなく)特別なHTTPヘッダーを送信します。

X-Frame-Options: SAMEORIGIN

enter image description here

そのため、ブラウザには、WordPressから送信されていない、ブラウザに組み込まれているテキストが表示されます。

wp-includes/default-filters.phpから:

add_action( 'login_init', 'send_frame_options_header', 10, 0 );
add_action( 'admin_init', 'send_frame_options_header', 10, 0 );

あなたはcouldプラグインを作成してこれらのヘッダを無効にします。

remove_action( 'login_init', 'send_frame_options_header' );
remove_action( 'admin_init', 'send_frame_options_header' );

しかし、そうすればあなたのログインは クリックジャック に使うことができます。誰かが非常によく似た名前でドメインを登録し、あなたのログインをバックグラウンドのiframeとして埋め込み、あなたがそれらを入力しようとするときにログイン資格情報を記録するかもしれません。

架空のものではありません。それが実際に起こった、それがWordPressがこれを実装した理由です。

iframeを削除します。より良い解決策を見つけようとしてください。

7
fuxia