Foros del Web » Programando para Internet » PHP »

Cookies, Php

Estas en el tema de Cookies, Php en el foro de PHP en Foros del Web. Hola a todos, he leido un articulo en maestros del web sobre registro y reconocimiento de usuarios con PHP. Lo he llevao a la práctica ...
  #1 (permalink)  
Antiguo 16/11/2002, 06:19
 
Fecha de Ingreso: noviembre-2002
Mensajes: 198
Antigüedad: 21 años, 5 meses
Puntos: 0
Cookies, Php

Hola a todos,
he leido un articulo en maestros del web sobre registro y reconocimiento de usuarios con PHP. Lo he llevao a la práctica y me parece excelente pero tengo unas dudas:
Porque usar cookies?Teniendo una tabla en MySQL valdría para reconocer a los usuarios,¿no?¿Q beneficios tienen las cookies?
Y otra cosa cuando un usuario se conecta a internet con una dirección IP no fija, ¿Esto influye en las cookies?¿Las cookies tienen algo que ver con la dirección IP?En fin si alguien me puede ayudar.
Gracias.
  #2 (permalink)  
Antiguo 16/11/2002, 06:28
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 22 años, 4 meses
Puntos: 0
hola.
las cookies en el sistema que tu dices de maestros del web es para ir navegando por lo espacios para usuarios sin tener que estar metiendo todo el rato el usuario y contraseña, incluso puedes salir y volver y que aun estes autentificado, las cookies se guardan en el ordenador de cada persona no tiene que ver la ip.

Saludos.
__________________
Zepsilon.com
Diseño e imaginacion
  #3 (permalink)  
Antiguo 16/11/2002, 09:50
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Para sistemas de identificacion y "tracking" (seguimiento) de usuarios lo ideal es usar Sessiones del servidor y no cookies (en el cliente) ...

Tanto las cookies como las sessiones son medios de almacenamiento temporar de variables (sean simples, arrays, objetos ..).

Si tu vas a trabajar con varias páginas q van a necesitar ciertas variables q generas en una primera pagina (ejemplo: un formulario .. pides unos datos y lo necesitas en varias paginas) .. Podrias propagar esas variables en el URL tipo:
scritp1.php?var=valor .. y en script1.php .. recoger $var ($_GET['var']) .. y si eso lo necesitas para script2.php .. otra vez a construir un link (o campos hidden en forumularios) tipo: script2.php?var=valor ...

Podrias decir: "me guardo esas variable en una base de datos y listo .. acedo cuando quiera .. cuando no me hagan falta . borro la base de datos (datos y esquema) .. o me creo una tabla temporal innob (si no me equivoco) de Mysql "... Bien, esta seria una opción equivalente a usar una Session si el tiempo q se van a usar esos datos es el mismo q el usuario esté presente en la base de datos ...

El otro punto es sobre tiempos de proceso .. No es lo mismo leer una session del servidor o cookie de cliente que acceder a una base de datos (crear la tabla y sus campos .. y borrarlo .. cuando se cumpla algo q determines q expiró) ...

Un ejemplo clásico suele ser el de un formulario q envia sus campos del formulario a un script.php que lo procesa .. hasta ahí .. cookies o sessiones no son cecesarias .. pero si necesitas enviar dichos valores de los campos del formulario al mismo formulario que los emitió por ejemplo por q ha ocurrido un error en los datos introducidos y quieres volver "atras" (sin usar javascript) .. Tendrias q pasar todas las variables por el URL (y aunque las metas en un array .. ) no quedaría muy "bonito" xD ademas q es suceptible a que cambien algun dato en el URL facilmente ...

En resumen .. Usa Sessiones en vez de cookies para variables "criticas" de tu aplicacion (usuarios/passwords .. flag (banderas) de estado q se han de cumplir .. etc). Las cookies evitalas en la medida de lo posible ...

y ahora el spam xD
<spam>
Si quieres ver un sistema de autentificación de usuarios y seguimiento de los mismo basado en Sessiones (de servidor) y Mysql como base de datos de los usuarios .. Hechale un vistazo a mi:

Autentificator 2.01

En la demo veras un ejemplo de página restringida .. para lo cual se valida al usuario con la base de datos si existe o no (user/pass) .. ahi mismo puedes ver el gestor de usuarios (que administra la tabla de usuarios) .. como si vas actuando sobre diferentes acciones (borrar, editar .. dar de alta un usurio) .. siempre se verificica q el usuario sea el autentificado . .pero se hace desde la session y no desde la base de datos ...Por lo tanto solo se le piden los datos de "login" una sola vez ...
</spam>

Un saludo,
  #4 (permalink)  
Antiguo 16/11/2002, 11:46
 
Fecha de Ingreso: noviembre-2002
Mensajes: 198
Antigüedad: 21 años, 5 meses
Puntos: 0
Cluster,gracias por contestar pero no tengo todavia claro porque es mejor las sessiones que los cookies.

yo he creado un foro en internet con php, utilizando el sistema descrito en maestros del web pero nose si es eficiente o sería mejor de otra forma. Yo también solo pido que se idntifiquen una vez,cuando se idntifican creo o actualizo las cookies, pero tambien accedo a la base de datos para comprobar que coinciden nombre de usuario y contraseña con la que tenemos registrada.

Mi foro tiene basicamente 4 pantallas,la principal, indice de mensaejes por tema,muestra mensaje y muestra respuestas.En las tres primeras siempre incluyo el fichero login.php que hace lo q te dije antes.

Nose no estoy muy confencid pq para qu incluir este fichero las tres veces,si esta identificado pasarlo en la URL. Pero para q entonces cookies, simplemente miro en base de datos si esta registrado y paso varible en URL si lo está.

Nose tengo un poco de lio.PLEASE HELP!!

EN fin y eso de cambiar de IP también me tiene mosca pq, se instalan las cookies en la máquina del cliente pero, en q máq si varía de IP??????????


GRACIAS.
  #5 (permalink)  
Antiguo 16/11/2002, 14:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usa sesiones ..

Usando sessiones .. las variables que guardes se almacenan en el servidor .. se le otorga un SID unico (Identificador Unico de session) válido para el tiempo q esté en tu web el usuario pasando de pagina en página .. (aquí el tiempo de expiración no es tan critico como en las cookies).

Usando session .. No corres el peligro que el usuario manipule esas variables (usuario/password) y pudiera identificarse con otra identidad tal vez ... Al estan en el servidor .. y por lo mencionado .. no seria necesario que validases a tu usuario constantemente por la base de datos .. tan solo mirarias si está definida o no la session y las variables q requieras en el servidor .. Para ello .. al entrar al sistema tu usuario (login) .. se contrastan los datos en la base de datos y se guarda su nombre de usuario en la session (lo tipico) .. El hecho de estar en el servidor la session y bajo su SID unico .. hace q no sea posible que dos o mas sessiones se interfieran y puedan tomar el valor de una o de otras .. Al usar session se revisa si hay una session creada .. si la hay se continua con la q está .. si no la hay se crea una nueva (esto lo hace PHP automatico) .. Por lo tanto podrias estar seguro de q ese usuario sigue identificado ..

Ahora . .si tu sigues desconfiando de eso .. adelante .. usa sessiones y verifica con la base de datos constantemente al usuario.

Un saludo,
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 13:22.