Hola!
La idea es esta: visualizar un
doc.html hallado en un dominio, en un iFrame de otro dominio.
He googleado, y veo que muchos se encuentran con el mismo problema que yo:
Uncaught SecurityError: Blocked a frame with origin "http://pruebas-berkeley.hol.es
" from accessing a frame with origin "http://drupal-001.hol.es
". Protocols, domains, and ports must match.
Entiendo que
X-Frame-Options es un encabezado HTTP. Que tal cosa puede configurarse directamente en el servidor, en
config.inc.php (para
Apache), para negar/permitir que otros dominios (o incluso el nuestro propio) puedan visualizar nuestro sitio web dentro de iFrames, como Google.
No hago mis pruebas en servidores dedicados, así que no tengo acceso al
config.inc.php.
Así voy, hasta el momento, sin éxito.
En el servidor 1 tengo a
padre.php que sólo contiene:
Código PHP:
Ver original<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Title: Este es el documento PADRE</title>
</head>
<body>
<iframe src="http://pruebas-berkeley.hol.es/hijo.php"></iframe>
</body>
</html>
En el servidor 2 tengo a hijo.php que contiene:
Código HTML:
Ver original<!DOCTYPE html>
<title>Title: Este documento está dentro de un iFrame
</title> <a href="javascript:window.location.href=('http://www.facebook.com/share.php?u='+dir2+'&t='+tit2+'')" target="_blank">Compartir en Facebook
</a>
<script type="text/javascript"> var dir = window.document.URL;
var dir2 = encodeURIComponent(dir);
var tit = window.document.title;
var tit2 = encodeURIComponent(tit);
Como verán, pongo un link encargado de compartir en Facebook el documento actual (la idea es que, si logro arreglar lo de
X-Frame-Options, dicho link comparta el sitio del dominio PADRE).
Ahora bien, justo arriba de
<!DOCTYPE html> en padre.php, pongo:
Código PHP:
Ver original<?php header('X-Frame-Options: ALLOW-FROM http://pruebas-berkeley.hol.es'); ?>
Pero Chrome me sigue diciendo que 'X-Frame-Options' está configurado en 'DENY'.
He puesto también estas reglas (una a la vez) en el HTACCESS del servidor PADRE, sólo para ver si funciona el cambio de
DENY a
SAMEORIGIN:
Código htaccess:
Ver originalHeader append X-FRAME-OPTIONS "SAMEORIGIN"
Header set X-Frame-Options SAMEORIGIN
Pero Chrome sigue diciendo que 'X-Frame-Options' está configurado en '
DENY'.
Imagino que tendría mayores posibilidades de arreglar mi problema si tuviera yo acceso al
config.inc.php. Pero como hago mis pruebas en servidores gratuitos, ¿de plano estoy perdido? ¿No hay forma de hacer que funcione si se trata de servidores compartidos, gratuitos o no?
Saludos!