Ver Mensaje Individual
  #1 (permalink)  
Antiguo 29/01/2010, 15:03
Ald0xMK
 
Fecha de Ingreso: enero-2010
Mensajes: 20
Antigüedad: 14 años, 10 meses
Puntos: 1
Problema llamada a archivo .php en dominio diferente

El problema es tratar de comunicar dos dominios diferentes para restringir el acceso al contenido de privado.html a los usuarios que aun no han iniciado una sesión. Los dominios se encuentran en diferente hosting, es este caso los dominios a comunicar son: http://www.morronas.com y http://www.mi-seguimiento-efectivo.com. Para realizar dicha comunicación se ha cargado un archivo llamada privado.html a http://www.morronas.com, así que la ruta de tal archivo es http://www.morronas.com/test/privado.html.

El archivo privado.html contiene un codigo muy sencillo el cual es:

Código:
<html>
<head>
<title>Página protegida</title>
</head>
<body bgcolor="#d5e185">
<script language="JavaScript" src="http://www.mi-seguimiento-efectivo.com/webProtect/cors.js"></script>
<script language="JavaScript">
getCORS('d398511720eb3a9327592533767d4f77');
</script>
<center>Felicidades ahora puedes ver el contenido de esta pagina.</center>
</body>
</html>
Ahora bien el código JavaScript ahí encrustado que es:

Código:
<script language="JavaScript" src="http://www.mi-seguimiento-efectivo.com/webProtect/cors.js"></script>
manda a llamar al archivo cors.js en otro dominio en donde hay dos funciones JavaScript para que el segundo Script que es:

Código:
<script language="JavaScript">
getCORS('d398511720eb3a9327592533767d4f77');
</script>
Pueda tener acceso a la funcion getCORS. El contenido de cors.js es el siguiente:

Código:
function getCORS(idaccess){
	var xhr = get_xmlhttp();
	xhr.open("GET", "http://www.mi-seguimiento-efectivo.com/webProtect/valowner.php?idown="+encodeURIComponent(idaccess), true);
	xhr.onreadystatechange = function(){ 
		if ( xhr.readyState == 4 ) {
			if ( xhr.status == 200 ) {
				document.body.innerHTML = xhr.responseText;
			} 
			else { 
			document.body.innerHTML = "ERROR";
			}
		}
	};
	xhr.send(null);
}

function get_xmlhttp() {
try {
  xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
 } catch (e) {
  try {
   xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
  } catch (E) {
   xmlhttp = false;
  }
 }
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
  xmlhttp = new XMLHttpRequest();
}
return xmlhttp
}
Ahora bien despues de haber detectado ciertas caracteristicas del navegador la funcion getCORS debera abrirme una nueva pagina llamada valowner.php junto con un parametro (idown) que se encuentra en el dominio http://www.mi-seguimiento-efectivo.com. Y hasta aquí creo qu esta el problema por que al parecer la linea de código:

Código:
xhr.open("GET", "http://www.mi-seguimiento-efectivo.com/webProtect/valowner.php?idown="+encodeURIComponent(idaccess), true);
dentro de la funcion getCors no esta realizando su trabajo ya que si accedo a la direccion http://www.morronas.com/test/privado.html me muestra el texto “ERROR” en caso de que este usando Mozilla Firefox y si uso IExplorer simplemente me muestra la cadena “Felicidades ahora puedes ver el contenido de esta pagina”. Si todo estuviera bien podria acceder al archivo valowner.php que repito esta en diferente dominio (http://www.mi-seguimiento-efectivo.com), y que éste a su ves por medio de validaciones y condiciones me redireccionaria a otra pagina para el inicio de sesion para asi finalmente poder ver el contenido de privado.html.

Nota: Localmente todo funciona a la perfeccion pero ya estando todo en la WWW no funciona.

Espero me ayuden por favor. Gracias.