web-dev-qa-db-ja.com

どのように私はiframeにwordpressのバックエンドを埋め込むことができます

私は2つのウェブサイト http://www.aaa.comhttp://www.bbb.com を持っており、それらを表示する必要があります。

今私はindex.htmlにiframeを入れてaaa.comにアップロードします。フロントエンドには問題ありませんが、空白のページが表示されるバックエンドには機能しません。

この問題を解決する方法を誰かが私に提案できますか?

3
toonztudio

@toschoのバージョンを拡張しようとしました

    //remove the restriction
    remove_action( 'login_init', 'send_frame_options_header' );
    remove_action( 'admin_init', 'send_frame_options_header' );

    //for added security
    add_action( 'login_init', 'Access_Control_Allow_Origin' );
    add_action( 'admin_init', 'Access_Control_Allow_Origin' );


    function Access_Control_Allow_Origin(){
        $Origin=get_http_Origin();
        $allowed_origins=array(//add your domains or keeps empty
            "aaa.com",
            "bbb.com",
        );
        $allowed=false;
        if(count($allowed_origins)>0){
            foreach($allowed_origins as $allowed_Origin){
                if (strstr($Origin,$allowed_Origin)){
                    $allowed=true;
                    break;
                }
            }       
        }else{
            $allowed=true;
        }
        if($allowed){
            return true;
        }else{
            send_Origin_headers();
        }
    }
3
itsazzad

デフォルトではWordPressは/wp_admin//wp-login.phpへのiframeの埋め込みを防ぐためにHTTPヘッダを送信します。

X-Frame-Options: SAMEORIGIN

これはセキュリティ機能です。このヘッダを削除したい場合は、フィルタを削除してください。

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

しかし、Tom J Nowellが提案したように、マルチサイト機能を実際に使用する必要があります。

3
fuxia