Foros del Web » Programando para Internet » PHP »

Problema con sesiones y webservices

Estas en el tema de Problema con sesiones y webservices en el foro de PHP en Foros del Web. Saludos Veran, tengo unos scripts realizados en php que realizan acciones como dar listados, altas, eliminar...etc y el sistema de autentificacion funciona por sesiones ($_SESSION['TALTAL']). ...
  #1 (permalink)  
Antiguo 01/05/2011, 14:30
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Problema con sesiones y webservices

Saludos

Veran, tengo unos scripts realizados en php que realizan acciones como dar listados, altas, eliminar...etc y el sistema de autentificacion funciona por sesiones ($_SESSION['TALTAL']).

El problema es que desde el navegador funciona pero cuando intento hacer un file_get_contests o acceder desde una aplicacion nativa no autentica.

He leido que para esto existe soap, me gustaria que me guiarais hacia una solucion ya que soy nuevo en esto de los webservices y me gustaria aprenderlo, mas que nada porque estoy realizando un proyecto que lo requiere.

Muchisimas gracias.
  #2 (permalink)  
Antiguo 01/05/2011, 14:36
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problema con sesiones y webservices

Pasa por el área de aportes para que veas un tema que habla como autenticar usando cURL o file_get_contents. Solo es cuestión de en cada una de las consultas añadir el cookie que optiene y pasarlo por cada una de las peticiones restantes.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 01/05/2011, 15:04
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con sesiones y webservices

En temas de autentificacion no ando muy fresco pero no es lo mismo una sesion que una cookie no? Se pueden pasar sesiones?
  #4 (permalink)  
Antiguo 01/05/2011, 15:23
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problema con sesiones y webservices

Las sesiones por defecto (a menos que hayas hecho algún cambio en el php.ini) tratan de guardar el id de la sesión en un cookie con una llave llamada PHPSESSID, se obtiene de esta forma
Código PHP:
Ver original
  1. echo $_COOKIE['PHPSESSID'];
Indiqué que trata de hacerlo porque posiblemente el navegador tiene inhabilitado el guardar en cookies. Si no logra guardar en un cookie entonces guarda el id de la sesión en una constante llamada SID. Se obtiene así, si es que tienes inhabilitado las cookies
Código PHP:
Ver original
  1. echo SID;
Ahora, lo que necesitas hacer cuando trates de autenticar es guardar la información de las cookies en un archivo, así como se encuentra en uno de los ejemplos del tema que te indique que está en el área de aportes. Luego en cada una de las peticiones tienes que enviar una variable adicional llamada PHPSESSID={id_de_sesion}, esto es para que persista la autenticación.

En tu caso vas a tener que crear dos peticiones via file_get_contents, la primera para autenticar, guardar la información de las cabeceras en un archivo temporal y luego leer ese archivo e ingersar su contenido en otra petición de file_get_contents y todas las demás consultas que hagas via file_get_contents leer ese archivo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 01/05/2011, 16:11
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con sesiones y webservices

He realizado una tarea que me parecia mas sencilla y necesito de tus consejos para ver si seria una solucion adecuada.

Cada vez que un usuario se loguea, deja un registro de acceso, ademas de actualizar un campo en la tabla de usuarios con un numero aleatorio de 10 digitos.

Dicho numero se almacena en una variable de sesion que realiza el siguiente procedimiento:

Código PHP:
$c curl_init(url);
curl_setopt($cCURLOPT_COOKIE'key='.$_SESSION['key'].'; user='.$_SESSION['pixel'].'; id='.$_SESSION['pixel_id']);
curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
$xml curl_exec($c);
curl_close($c); 
Despues en el webservice se comprueba que esa key,usuario e id correspondan y si es asi accedes. Esta key se refresca cada inicio de sesion.

Es algo que pueda ser funcional¿

Un saludo
  #6 (permalink)  
Antiguo 01/05/2011, 19:21
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: Problema con sesiones y webservices

Entiendo que es mejor trabajar como te indiqué, de hacer una consulta autenticar almacenar la información del cookie en un archivo temporal y luego leerlo y pasarlo. Pero si te funciona haz diferentes pruebas para que te asegures que no te dará problemas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 02/05/2011, 10:17
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con sesiones y webservices

Lo digo por el nivel de seguridad. Seria dificil que alguien supiera el id,nick y codigo aleatorio no? a no ser que use sniffer.

Etiquetas: sesiones, webservice
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 12:55.