[Php-avanzado] Obtener informacion cross-site
Leonardo Tadei - Pegasus Tech Supply
leonardot en pegasusnet.com.ar
Jue Nov 13 17:02:07 ART 2008
Hola Matías,
si están ambos dominios en el mismo servidor, podés simplemente abrir
una conexión a la otra base de datos.
Si estás en servidores diferentes, un fopen() remoto deberia fallar.
Por razones de seguridad, se deshabilita.
Otra estrategia es simplemente llamar a un script del otro lado
pasándole los parámetros por GET: el problema que tenés tal como lo
decís, es que "cualquiera" podría inyectar datos. Este problema se
disminuye si hacés una negociación, del tipo
1 -> ) me identifico.
2 <- ) si la identificación es Ok, te doy un token aleatorio y lo
guardo.
3 -> ) envío los datos y el token, ergo, es válido. Destruyo el token.
Con CURL esto es simple de implementar. La idea no es nada nuevo: es el
"saludo de 3 vías" de cualquier comunicación de protocolo.
Espero te sirva!
El jue, 13-11-2008 a las 15:50 -0200, Matias Gea escribió:
> A ver si alguien me puede ayudar.
>
> Tengo un administrador en www.dominio.com/administrador/index.php.
> Necesito mostrar y modificar informacion de la base de datos de otro
> sitio (que esta en www.otrodominio.com).
>
> Lo que se hice fue hacer un script www.otrodominio.com/getdata.php que
> lo abro con fopen desde otro script en
> www.dominio.com/administrador/getotrodominiodata.php?pass=11afd44afd4cce44e1d1s2fe45d89a52
> pass es una password en md5 que está cableada en los dos scripts.
>
> Funciona bien, pero el problema es de seguridad. Cualquiera que sepa
> la url con el pass md5 puede ver/modificar los datos (aunque la url
> nunca se muestra en ningun navegador, ya que un script la usa
> internamente para llamar a otro).
>
> Necesito opciones, saber si se puede abrir una sesion en el otro
> servidor pero desde php, por ejemplo.
>
> Gracias, Matias.
--
Leonardo Tadei
leonardot en pegasusnet.com.ar
http://blog.pegasusnet.com.ar
Firma pública: http://www.pegasusnet.com.ar/LeonardoTadei-public.key
Más información sobre la lista de distribución Php-avanzado