J'ai 2 sites Web http://www.aaa.com et http://www.bbb.com et ai besoin d'eux pour montrer la même chose.
Maintenant, je mets un iframe dans index.html
et le télécharge sur aaa.com. C'est ok pour le front-end mais ça ne marche pas pour le backend, où ça affiche une page blanche.
Quelqu'un peut-il me suggérer comment je peux résoudre ce problème?
J'ai essayé d'étendre la version de @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();
}
}
Par défaut, WordPress envoie un en-tête HTTP pour empêcher l’incorporation d’iframe dans /wp_admin/
et /wp-login.php
:
X-Frame-Options: SAMEORIGIN
C'est une fonctionnalité de sécurité. Si vous souhaitez supprimer cet en-tête, supprimez les filtres:
remove_action( 'login_init', 'send_frame_options_header' );
remove_action( 'admin_init', 'send_frame_options_header' );
Mais vous devriez vraiment utiliser la fonctionnalité multisite comme l’a suggéré Tom J Nowell.