Saltar al contenido

¿Cómo se configura el uso de cookies HttpOnly en PHP?

Solución:

Para las propias cookies de sesión de PHP en Apache:
agregue esto a su configuración de Apache o .htaccess

<IfModule php5_module>
    php_flag session.cookie_httponly on
</IfModule>

Esto también se puede configurar dentro de un script, siempre que se llame antes session_start().

ini_set( 'session.cookie_httponly', 1 );

  • Para tus cookies, vea esta respuesta.
  • Para Cookie de sesión propia de PHP (PHPSESSID, de forma predeterminada), consulte la respuesta de @ richie

los setcookie() y setrawcookie() funciones, introdujo el httponly , de vuelta en la edad oscura de PHP 5.2.0, lo que hace que esto sea agradable y fácil. Simplemente establezca el séptimo parámetro en verdadero, según la sintaxis

Sintaxis de la función simplificada para mayor brevedad

setcookie(    $name, $value, $expire, $path, $domain, $secure, $httponly )
setrawcookie( $name, $value, $expire, $path, $domain, $secure, $httponly )

En PHP <8, especifique NULL para los parámetros que desea mantener como predeterminados.

En PHP> = 8, puede beneficiarse del uso de parámetros con nombre. Consulte esta pregunta sobre parámetros con nombre.

setcookie( $name, $value, httponly:true )

También es posible utilizar los modelos más antiguos y de nivel inferior. header() función:

header( "Set-Cookie: name=value; httpOnly" );

También puede considerar si debe establecer el secure parámetro.

Tenga en cuenta que las cookies de sesión de PHP no utilizan httponly por defecto.

Para hacer eso:

$sess_name = session_name();
if (session_start()) {
    setcookie($sess_name, session_id(), null, "https://foroayuda.es/", null, null, true);
}

Un par de puntos a destacar aquí:

  • Tienes que llamar session_name()
    antes de session_start()
  • Esto también establece la ruta predeterminada a “https://foroayuda.es/”, que es necesaria para Opera pero que las cookies de sesión PHP tampoco lo hacen por defecto.
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *