Foros del Web » Programando para Internet » Javascript »

Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad

Estas en el tema de Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad en el foro de Javascript en Foros del Web. Saludos Bueno, la cosa es que tengo que crear un API (por decirlo asi). Por medio de AJAX le paso cierta información a un servidor ...
  #1 (permalink)  
Antiguo 27/01/2011, 11:37
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad

Saludos

Bueno, la cosa es que tengo que crear un API (por decirlo asi).
Por medio de AJAX le paso cierta información a un servidor externo que con PHP hace una acción y devuelve un resultado que yo debo parsear.

Ahora bien, mi duda esta aquí:
A la aplicación solo pueden acceder X dominios que yo permita.

Pienso darle una llave (key) a cada dominio junto con un ID que pasare a la aplicación para que verifique si el dominio esta permitido o no.
El archivo PHP se tendría que valer de la variable $_SERVER['HTTP_REFERER'] para hacer la verificación lo cual tiene un inconveniente, esta variable no siempre es enviada por el navegador y algunos hasta permiten cambiarla.
Cita:
Iniciado por Manual PHP
The address of the page (if any) which referred the user agent to the current page. This is set by the user agent. Not all user agents will set this, and some provide the ability to modify HTTP_REFERER as a feature. In short, it cannot really be trusted.
Necesito una forma de autenticar al dominio para que solo accedan los que yo permita (con Javascript), de una manera confiable e "infalible", por así decirlo.

¿Alguna idea de como hacerlo?

Si la idea no es clara, no duden en preguntar de nuevo ;)
  #2 (permalink)  
Antiguo 27/01/2011, 11:43
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad

Usa REMOTE_ADDR en vez de HTTP_REFERER

$_SERVER['REMOTE_ADDR']

esto te dará la IP del cliente, lo malo es que las ips cambian con el tiempo así que habría que actualizarla con el tiempo.
  #3 (permalink)  
Antiguo 27/01/2011, 11:55
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad

Cita:
Iniciado por stramin Ver Mensaje
Usa REMOTE_ADDR en vez de HTTP_REFERER

$_SERVER['REMOTE_ADDR']

esto te dará la IP del cliente, lo malo es que las ips cambian con el tiempo así que habría que actualizarla con el tiempo.
Hmmm, eso me vale.

Podría pasarle esa información a mi PHP, que este busque dentro de todos los dominios y obtenga el IP hasta que matchee (con gethostbyname()). Lo malo seria, que obviamente lo habrás notado, es que tendria que iterar sobre todos los dominios de la tabla. Aunque como muchos seran 20 - 30.

Si alguien no tiene una mejor idea, creo que lo hare de esa manera.

:) Gracias stramin
  #4 (permalink)  
Antiguo 27/01/2011, 12:02
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad

Que tal Ronruby.

Esta pregunta no pertenece a javascript. Yo consideraria el modo de autenticacion de acuerdo a la sensibilidad de los datos. En el caso en que los datos sean restringidos haria un modulo de autenticacion en base a API Keys, en las que valides el API key + dominio.
__________________
I see dead pixels
  #5 (permalink)  
Antiguo 27/01/2011, 12:12
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad

Cita:
Iniciado por SergeMedina Ver Mensaje
Que tal Ronruby.

Esta pregunta no pertenece a javascript. Yo consideraria el modo de autenticacion de acuerdo a la sensibilidad de los datos. En el caso en que los datos sean restringidos haria un modulo de autenticacion en base a API Keys, en las que valides el API key + dominio.
Eso me temia, mi duda va mas orientada a conceptos.

La aplicación como tal no devuelve información restringida, solo una respuesta de si se realizo o no cierta acción, dicha acción es meter unos datos a MySQL. Lo que no quiero es que personas ajenas a esos dominios accedan a los datos o que introduzcan datos en mi BBDD.

Consulte con la persona que necesita la aplicación y la solución expuesta por stramin me funcionaria MUY bien en este caso y creo lo haré así.

En cuanto a mi idea anterior, me sente a descansar para aclararme la mente y vi que lo hacia de manera equivocada.
Cita:
Podría pasarle esa información a mi PHP, que este busque dentro de todos los dominios y obtenga el IP hasta que matchee (con gethostbyname()). Lo malo seria, que obviamente lo habrás notado, es que tendria que iterar sobre todos los dominios de la tabla. Aunque como muchos seran 20 - 30.
La forma correcta y eficiente seria hacerlo alreves. Segun el IP retornado, usar gethostbyaddr() y luego verificar si existe en la tabla.

Última edición por Ronruby; 27/01/2011 a las 13:23
  #6 (permalink)  
Antiguo 27/01/2011, 13:47
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 1 mes
Puntos: 336
Respuesta: Crear un API con Javascript & PHP; preocupaciones en cuanto a seguridad

mmmmm interesante forma de hacerlo, te voy a robar la idea XD

Etiquetas: api, php, seguridad
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 22:43.