Saltar la navegación

Ejemplo: Aplicación de Cookies

Conocimiento previo

set_cookie()

  • Función que crea una cookie
  • setcookie() define una cookie para ser enviada junto con el resto de cabeceras HTTP.

  • Como otros encabezados, cookies deben ser enviadas antes de cualquier salida en el script (este es un protocolo de restricción). Esto requiere que hagas llamadas a esta función antes de cualquier salida, incluyendo etiquetas <html> y <head> así como cualquier espacio en blanco.

  • Sintaxis: setcookie(
        string $name,
        string $value = "",
        int $expires = 0,
        string $path = "",
        string $domain = "",
        bool $secure = false,
        bool $httponly = false
    ): bool
    • name: El nombre de la cookie.
    • value: El valor de la cookie. Este valor se almacena en el ordenador del cliente; no almacenar información sensible. Asumiendo que el name es 'cookiename', este valor es recuperado a través de $_COOKIE['cookiename']
    • expires: El tiempo en que la cookie expira. time()+60*60*24*30 hará que la cookie establecida expire en 30 días. Si se establece a 0, o es omitido, la cookie expirará al final de la sesión (cuando el navegador es cerrado).
    • path: La ruta dentro del servidor en la que la cookie estará disponible. Si se utiliza '/', la cookie estará disponible en la totalidad del domain. Si se configura como '/foo/', la cookie sólo estará disponible dentro del directorio /foo/ y todos sus sub-directorios en el domain, tales como /foo/bar/. El valor por defecto es el directorio actual en donde se está configurando la cookie.
    • domain: El (sub)dominio al que la cookie está disponible. Estableciendo esto a un subdominio (como 'www.example.com') hará que la cookie esté disponible para ese subdominio y todos los demás subdominios del mismo (p.e. w2.www.example.com). Para que la cookie esté disponible para todo el dominio (incluyendo todos sus subdominios), simplemente establezca el nombre de domonio ('example.com', en este caso).
    • secure: Indica que la cookie sólo debiera transmitirse por una conexión segura HTTPS desde el cliente. Cuando se configura como true, la cookie sólo se creará si es que existe una conexión segura. Del lado del servidor, depende del programador el enviar este tipo de cookies solamente a través de conexiones seguras (por ejemplo, con $_SERVER["HTTPS"]).
    • httponly: Cuando es true la cookie será accesible sólo a través del protocolo HTTP. Esto significa que la cookie no será accesible por lenguajes de scripting, como JavaScript. Se ha indicado que esta configuración ayuda efectivamente a reducir el robo de identidad a través de ataques XSS (aunque no es soportada por todos los navegadores). pero esa afirmación se disputa a menudo.
    • options: Un array asociativo que puede tener cualquiera de las claves expires, path, domain, secure, httponly y samesite.

$_COOKIE

  • Una vez que las cookies se han establecido, se puede acceder a ellas en la siguiente página de carga con el array $_COOKIE.

Tomado de: https://www.php.net/manual/es/function.setcookie.php

Formulario en HTML

<!-- Formulario HTML-->
<form action="nombre_fichero_recibe_datos" method="metodo_HTTP">
    <!-- Caja de texto-->
    <input type="text" name="nombre"/><br>
    <!-- Caja de texto tipo Password-->
    <input type="password" name="clave"/><br>
    <!-- Botón para enviar el formulario-->
    <input type="submit" name="btnEnviar"/>
</form>


<!-- Vínculo o Enlace en HTML-->
<a href="fichero_destino">Click aquí</a>

Práctica Cookies

Creado con eXeLearning (Ventana nueva)