Foros del Web » Programación para mayores de 30 ;) » Java »

JSP iframe Cross-Domain, ¿cómo evitarlo?. ¿Se puede hacer con AJAX?

Estas en el tema de JSP iframe Cross-Domain, ¿cómo evitarlo?. ¿Se puede hacer con AJAX? en el foro de Java en Foros del Web. Hola a todos. Necesito urgentemente solucionar esto, pero no encuentro ninguna solución, y llevo 3 días buscando y probando sin parar. Tengo un iframe que ...
  #1 (permalink)  
Antiguo 21/04/2009, 04:54
 
Fecha de Ingreso: enero-2009
Ubicación: Elche
Mensajes: 59
Antigüedad: 15 años, 3 meses
Puntos: 3
JSP iframe Cross-Domain, ¿cómo evitarlo?. ¿Se puede hacer con AJAX?

Hola a todos.

Necesito urgentemente solucionar esto, pero no encuentro ninguna solución, y llevo 3 días buscando y probando sin parar.

Tengo un iframe que carga una página de otro dominio (cross-domain) y necesito acceder a algunas de sus propiedades. Por temas de seguridad el browser no me deja hacerlo con javascript, por eso Panino me sugirió que le "engañara" haciéndole creer que mi página estaba en el mismo dominio que la que necesito cargar.

Éste es el código PHP que me proporcionó Panino:

Código PHP:
<?php
if(isset($_GET['f'])){
echo 
'<base href="h ttp://w ww.clarin.co m" />';
echo 
file_get_contents('htt p://w ww.clarin.co m');
exit;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "h ttp://w ww .w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="h ttp://w ww.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>test</title>
<script>
function mostrarseleccion(){
var input = document.getElementById('fr').contentWindow.document;
        if(typeof document.getElementById('fr').contentWindow.document.selection != 'undefined' && document.getElementById('fr').contentWindow.document.selection) {
            alert(input.selection.createRange().text);
            return;
        }
        else {
            alert(document.getElementById('fr').contentWindow.getSelection()); 
            return;
        }

}
</script>
<style>
#bot{
width:150px;
border:1px solid #000000;
background-color:#CCCCCC;
font-family:Verdana, Arial, Helvetica, sans-serif;
font-size:9px;
text-align:center;
padding:2px;
cursor:pointer;
}
</style>
</head>

<body>
<div id="bot" onmousedown="mostrarseleccion()">mostrar selecci&oacute;n</div><br />
<iframe id="fr" name="fr" src="?f" width="500" height="500"></iframe>
</body>
</html>
Con este código lo que conseguimos es que el iframe cargue la misma página que yo tengo. El código que hay al princio lo que hace es cargar el contenido de la página externa que yo necesito, con lo que obtenemos el resultado que deseo.

Esto funciona perfectamente pero yo lo necesito en JSP y ColdFusion. He intentado traducir el código pero, por ejemplo, en JSP, cuando está cargando la página en el iframe no me encuentra el parámetro "f", con lo que no me carga la información que yo necesito.

No sé a qué se debe, no encuentro nada en los buscadores, no sé lo que hacer.

Agradecería muchísimo que alguien me diera alguna pista de por dónde seguir, porque ahora mismo estoy totalmente perdido.

Muchísimas gracias. Un saludo.

Última edición por Bernad; 22/04/2009 a las 02:06 Razón: Descripción más concreta en el título
  #2 (permalink)  
Antiguo 22/04/2009, 02:05
 
Fecha de Ingreso: enero-2009
Ubicación: Elche
Mensajes: 59
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: JSP iframe Cross-Domain. Traducción de código en PHP

Perdón por escribir dos mensajes seguidos. Es un intento por mantener el post a la vista de la gente con el objetivo de que me pueda ayudar alguien.

He intentado obtener el código HTML de la página externa mediante AJAX pero tengo el mismo problema de dominios.

Si alguien conoce una forma de evitar el cross-domain en AJAX también me serviría.

Muchas gracias.
  #3 (permalink)  
Antiguo 24/04/2009, 04:54
 
Fecha de Ingreso: enero-2009
Ubicación: Elche
Mensajes: 59
Antigüedad: 15 años, 3 meses
Puntos: 3
Respuesta: JSP iframe Cross-Domain, ¿cómo evitarlo?. ¿Se puede hacer con AJAX?

Último intento, ¿nadie tiene ni idea de esto?

Gracias, y perdón por la insistencia.
  #4 (permalink)  
Antiguo 29/04/2009, 09:27
 
Fecha de Ingreso: marzo-2009
Mensajes: 2
Antigüedad: 15 años, 1 mes
Puntos: 0
Respuesta: JSP iframe Cross-Domain, ¿cómo evitarlo?. ¿Se puede hacer con AJAX?

Hola Bernad,

Si te he entendido bien, lo que tienes que hacer es incrustar este código en tu página jsp:

<%
String f = request.getParameter("f");

System.out.println("<iframe id='fr' name='fr' src='"+f+"' width='500' height='500'></iframe> ");
%>



Espero que te sea útil

Saludos
  #5 (permalink)  
Antiguo 29/04/2009, 09:38
 
Fecha de Ingreso: noviembre-2008
Mensajes: 26
Antigüedad: 15 años, 6 meses
Puntos: 1
Respuesta: JSP iframe Cross-Domain, ¿cómo evitarlo?. ¿Se puede hacer con AJAX?

creo que este tema deberia ir en el foro PHP

si quieres una respuesta rapida debes crear el tema donde corresponde.



Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:19.