| |||
duda con cookies y seguridad Con esto de las cookies se me ha planteado una duda de seguridad... algún "usuario malintencionado" podría de algún editar una cookie para alargar la duración de una sesión ? |
| |||
Deberías ser un poco más explicito en tu pregunta .. Supongo que te refires al hecho de propagar el SID (Identificador Único de sesión) en una cookie para una sesión. Como la "cookie" permanece en el "cliente" .. y hay un transito de esta cookie por HTTP (protocolo) .. perfectamente podría ser tomados esos datos y alterados .. No sé que tan "fácil" o tan "factible" .. pero poder hacerse .. se podría. Aquí lo que interesaría no es es el tiempo de vida de tu cookie que sólo propaga el "SID" el cual relaciona los datos que hay en el servidor (en la sesión que corresponda). Para evitar problemas de seguridad como los que planteas, lo que debes hacer y lo que al final manda siempre es el tipo de vida de la sesión; dato que se define en el servidor y no "transita" nunca hacia el "cliente" (navegador). Me refiero a: session.gc_maxlifetime Ese tiempo se suele configurar de dos formas (en combinación con el de la duración de la cookie que crea PHP para propagar el SID si se escoje propagación del SID en cookies: sesion.use_cookies ..) 1) Tiempo de vida de la cookie a "0" .. Esto hace que al cerar la última ventana de tu aplación .. la cookie muera (se denomianan "cookies de sesión"). Session.gc_maxlifetime lo ideal sería ajustarlo a un valor alto por qué la cookie no sabes cuando "morirá" (y con ella el SID que nos relaciona los datos) ya que cada "página" que vas pasando .. la sessión (mejor dicho el SID) seguirá valido. Por defecto PHP sale son 1440 segundos (24 minutos) y la duración de la cookie como "0". 2) Ajustar el tiempo de vida de la cookie a N segundos .. igual al tiempo de vida de session.gc_maxlifetime = a N segundos. De esta forma la duración de tu sesión es N tiempo determinado y fijo .. Aunque "tocases" la cookie y su duración (para alargarlo) ya te "frenaría" el valor de la duración de la sesión en sí (definido en session.gc_maxlifetime). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |