Comunidad de diseño web y desarrollo en internet online

obtener URL del archivo solicitador

Citar            
MensajeEscrito el 01 Dic 2009 03:08 am
buenas noches gente, tengo una consulta en particular:

para hacer una validacion de una clave para una API, al solicitar el archivo pido la clave por GET, ejemplo:

Código PHP :

<?php
   echo file_get_contents ('http://cooprc.reweb.com.ar/nivelDique/obtener/?clave=MzY5ZDUyM2MzNTBkOGY0MzJhMjM1MDRjYjhlY2VjOTU=');
?>


donde, supuestamente, esta clave:

Código :

MzY5ZDUyM2MzNTBkOGY0MzJhMjM1MDRjYjhlY2VjOTU=
debe corresponder al dominio que solicita el archivo, al estilo las API key de Google cuando queremos obtener la API del Google Maps...

la duda es la sgte: como puedo hacer para que mi archivo en /obtener/index.php obtenga el dominio (host name) del archivo que realiza la peticion?

precisamente, si el codigo de arriba esta en http://www.radioturismo1043.com.ar/admin/obtenerNivel.php como hago para que mi archivo http://cooprc.reweb.com.ar/nivelDique/obtener/index.php obtenga el valor "www.radioturismo1043.com.ar" que es quien realiza la solicitud???

probe con todos los elementos del array $_SERVER y $_REQUEST pero nada...

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 01 Dic 2009 04:20 am

Código PHP :

<?php

$url="http://".$_SERVER['HTTP_HOST'];

?>


Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 01 Dic 2009 09:08 am
$_SERVER["HTTP_HOST"] devuelve el dominio donde está el script actual, no la dirección del host desde donde se linkea el script actual. Ese dato lo puedes obtener de $_SERVER["HTTP_REFERER"].

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 01 Dic 2009 12:07 pm
claro, tal cual como dice DriverOp, no posteé la respuesta ayer porque no tuve tiempo, pero con eso lo resolví.
Igualmente, no funciona el $_SERVER["HTTP_REFERER"] cuando se hace file_get_contents() desde otro servidor...
Pero cuando solicito el archivo con, por ejemplo, un iframe funciona OK... Que en realidad es para lo que lo necesito, ya que seguramente va a satisfascer solicitudes de AJAX...

Cuando termine esto probablemente publico un tuto de como hacer un proyecto al estilo restful web service con una API con claves unicas para cada dominio... gracias a todos

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 01 Dic 2009 03:53 pm
joarobles, sorry no había entendido eso... Pero entonces el mismo manual de PHP te advierte NO USAR para algo seguro HTTP_REFERER, ya que depende de muchos factores del lado del cliente del usuario (Firewalls, explorador, etc...).

Yo lo solucionaría creando además un authentification token que tenga ya referida la URL autorizada en la DB.

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 02 Dic 2009 03:32 am
claro, entiendo, pero entonces como hacen los servicios de Google, por ejemplo, o las API de reCaptcha o Flickr para validar el dominio que las obtiene??? porque ponele, para google maps vos solicitas la API de js con la dupla dominio/APIkey... y de alguna forma lo deben obtener...

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 02 Dic 2009 04:31 am
Imagino que en alguna sentencia de sus API, deben usar el $_SERVER['HTTP_HOST'] y lo pasan, oculto o no. Investigaré en la Web a ver si encuentro algo al respecto, pero a simple vista, parece más un tema de ingenio que de código je

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox
Citar            
MensajeEscrito el 02 Dic 2009 01:08 pm

Hernán escribió:

Imagino que en alguna sentencia de sus API, deben usar el $_SERVER['HTTP_HOST'] y lo pasan, oculto o no. Investigaré en la Web a ver si encuentro algo al respecto, pero a simple vista, parece más un tema de ingenio que de código je

Saludos, Hernán . -

buenísimo hernán, yo tmb me pongo en campaña con eso... avisame si aparece algo... saludos!

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 02 Dic 2009 03:15 pm
Cierto. Olvidé comentarlo. El valor de $_SERVER["HTTP_REFERER"] lo envía el navegador del cliente y no siempre es confiable (los navegadores se pueden configurar para que no envíen ese dato).

Aunque pensando cómo lo hace Google y otros servicios no veo necesario saber eso, simplemente con la Key sería suficiente.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Dic 2009 04:29 pm

DriverOp escribió:

Cierto. Olvidé comentarlo. El valor de $_SERVER["HTTP_REFERER"] lo envía el navegador del cliente y no siempre es confiable (los navegadores se pueden configurar para que no envíen ese dato).

Aunque pensando cómo lo hace Google y otros servicios no veo necesario saber eso, simplemente con la Key sería suficiente.
negativo, es necesario dado que una key es válida únicamente para un dominio en particular... si haces una solicitud de otro dominio con esa misma key vas a obtener un "API Key no valida"... Y es simple, la key es pública (todos la podemos ver) entonces no tendría sentido validar solamente con ella.

Por joarobles

753 de clabLevel

8 tutoriales

 

Córdoba - Argentina

firefox
Citar            
MensajeEscrito el 02 Dic 2009 06:06 pm
Ah, no sabía eso, sorry.

Sé que nos salimos del tema pero si la Key está atado al dominio entonces la Key es irrelevante, solo basta con el dominio. ¿O me estoy perdiendo de algo?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 02 Dic 2009 11:50 pm
Generalmente por eso usan el authentification token también. Ya sabes el fucking código único que funciona casi como un usuario y contraseña je

Saludos, Hernán . -

Por Hernán

BOFH

6148 de clabLevel

19 tutoriales
23 articulos

Genero:Masculino   REC Desarrollador de GAIA

Marketing & IT

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.