elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  PHP (Moderador: #!drvy)
| | | |-+  Leer claveAPI en url. PHP
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Leer claveAPI en url. PHP  (Leído 2,651 veces)
OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Leer claveAPI en url. PHP
« en: 30 Octubre 2014, 10:06 am »

Hola :
Quiero dentro de un fichero PHP recuperar la CLAVEAPI que le paso por URL y no sé cuál sería la forma correcta. Podría por PHP obtener la url y luego hacer un split de forma que pueda quedarme con la CLAVEAPI pero lo veo muy cutre. No hay forma más sencilla de hacerla?

Ejemplo de llamada
http://CLAVEAPI@MITIENDA.COM/api/addresses

PHP
¿Como recupero el valor de claveapi?

Gracias



En línea

MinusFour
Moderador Global
***
Desconectado Desconectado

Mensajes: 5.529


I'm fourth.


Ver Perfil WWW
Re: Leer claveAPI en url. PHP
« Respuesta #1 en: 30 Octubre 2014, 16:14 pm »

En ese punto de la url no creo que puedas sacarla tan facilmente. ¿Porque no utilizar GET? ¿o POST?


En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Leer claveAPI en url. PHP
« Respuesta #2 en: 30 Octubre 2014, 16:34 pm »

Vi en páginas que el nombre de usuario lo ponían en esa parte para acceder a la url y tenía curiosidad por saber como se trabajaba de esta forma.
cómo tú dices lo hare por GET o POST
Gracias
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Leer claveAPI en url. PHP
« Respuesta #3 en: 30 Octubre 2014, 16:48 pm »

Lo que estas diciendo tu se llama Autenticación de acceso básica vía HTTP.

Básicamente envías un header al navegador/cliente que pide que proporcione datos de acceso y los puedes recoger ya sea vía Apache o via PHP.

http://php.net/manual/es/features.http-auth.php



Un ejemplo seria:

Código
  1. <?php
  2.  
  3. if (!isset($_SERVER['PHP_AUTH_USER'])) {
  4.    header('WWW-Authenticate: Basic realm="Mi ervidor API"');
  5.    header('HTTP/1.0 401 Unauthorized');
  6.    die('Debes introducir una clave API');
  7. } else {
  8.  
  9.   $clave_api = $_SERVER['PHP_AUTH_USER'];
  10.   die('La API que has introducido es: '.$clave_api);
  11. }
  12.  
  13. ?>


Código
  1. http://miclaveapi@mitienda.com/api/addresses/prueba.php

Pero nótese que ese no es el propósito con el que fue creado. Realmente fue pensado para proporcionar usuario y contraseña.

http://www.httpwatch.com/httpgallery/authentication/

Saludos
En línea

alex171294

Desconectado Desconectado

Mensajes: 9


UC++


Ver Perfil WWW
Re: Leer claveAPI en url. PHP
« Respuesta #4 en: 5 Noviembre 2014, 17:22 pm »

drvy muy interesante, si bien fueron diseñadas para usuario y contraseña, la cifrado que tiene a la hora de enviar la información es light (un hash base64), no me parece mal que lo use para un api key.

estaba observando que en formato enlace la petición se hace

usuario@dominio.com/recurso

y donde se pondría la contraseña si fuera en url?

saludos!
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Leer claveAPI en url. PHP
« Respuesta #5 en: 5 Noviembre 2014, 18:39 pm »

Citar
la cifrado que tiene a la hora de enviar la información es light (un hash base64)

Si así es.. es bastante light xD. Aunque es raro verlo en servicios como GMAIL xD

Código
  1. http://usuarioSinArroba:contraseñaSinBase64@mail.google.com/mail/feed/atom


Citar
y donde se pondría la contraseña si fuera en url?

Después del usuario se añaden : (dos puntos) y se pone la contraseña seguida de @dominio.

Tipo lo que puse arriba.

Saludos
« Última modificación: 5 Noviembre 2014, 18:42 pm por #!drvy » En línea

alex171294

Desconectado Desconectado

Mensajes: 9


UC++


Ver Perfil WWW
Re: Leer claveAPI en url. PHP
« Respuesta #6 en: 5 Noviembre 2014, 18:45 pm »

Si así es.. es bastante light xD. Aunque es raro verlo en servicios como GMAIL xD

Código
  1. http://usuarioSinArroba:contraseñaSinBase64@mail.google.com/mail/feed/atom


Después del usuario se añaden : (dos puntos) y se pone la contraseña seguida de @dominio.

Tipo lo que puse arriba.

Saludos

muy interesante, jamás lo había visto en práctica (salvo aparentemente en CPanel de los hostings)
En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Leer claveAPI en url. PHP
« Respuesta #7 en: 5 Noviembre 2014, 18:55 pm »

Si la verdad es que no se suele ver mucho.. creo recordar que los directorios protegidos de apache funcionaban con el mismo principio..

Yo la primera vez que lo vi fue en un script en python para obtener los correos no leídos de gmail xD

Saludos
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Leer PDF
Programación Visual Basic
CsarGR 1 1,600 Último mensaje 24 Abril 2007, 23:04 pm
por lepumin
Leer .INI
.NET (C#, VB.NET, ASP)
& eDu & 3 3,115 Último mensaje 25 Julio 2008, 19:53 pm
por jguillen
2 dudas: Leer info de OTRO ejecutable .exe ; leer accesos directos (LNK)
.NET (C#, VB.NET, ASP)
raul338 8 7,771 Último mensaje 27 Agosto 2009, 01:33 am
por seba123neo
Leer archivos // Leer un dato en concreto
Programación C/C++
uhuru 3 3,545 Último mensaje 22 Mayo 2010, 14:14 pm
por uhuru
leer un bmp de 8 bit
Programación C/C++
serdel 1 3,154 Último mensaje 4 Agosto 2011, 18:45 pm
por do-while
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines