Configuración del indicador HTTPOnly para la cookie PHPSESSID [cerrado]

2

Recibo este mensaje de mi auditoría de seguridad:

  

Nombre de la cookie: "PHPSESSID"

     

Dominio de cookies: "xxx.xxx.xx.xxx"

     

Si es posible, debe establecer la marca HTTPOnly para esta cookie.

¿Cómo puedo configurar la marca HTTPOnly para esta cookie?

    
pregunta srinivas reddy 03.07.2015 - 08:24
fuente

1 respuesta

5

Tienes al menos 3 formas de lograrlo:

  1. En el archivo de configuración de PHP (php.ini), busque la configuración de session.cookie_httponly y configúrela en Verdadero.

  2. Si no tiene acceso a la configuración de PHP, puede intentar sobrescribir esta configuración en tiempo de ejecución:

ini_set("session.cookie_httponly", 1);
  1. Si no funciona, debe sobrescribir manualmente esa cookie:
session_start();
$params = session_get_cookie_params();
setcookie("PHPSESSID", session_id(), 0, $params["path"], $params["domain"],
    false,  // this is the secure flag you need to set. Default is false.
    true  // this is the httpOnly flag you need to set
);

setcookie() definición :

bool setcookie ( string $name [, string $value = "" [, int $expire = 0 [, string $path = "" [, string $domain = "" [, bool $secure = false [, bool $httponly = false ]]]]]] )
    
respondido por el Tomasz Klim 03.07.2015 - 09:48
fuente

Lea otras preguntas en las etiquetas