setcookie(): Pasar null al parámetro #7 ($httponly) de tipo bool está obsoleto.
public function csrf_set_cookie()
{
$expire = time() + $this->_csrf_expire;
$secure_cookie = (bool) config_item(‘cookie_secure’);
if ($secure_cookie && !is_https())
{
return FALSE;
}
setcookie(
$this->_csrf_cookie_name,
$this->_csrf_hash,
$expire,
config_item('cookie_path'),
config_item('cookie_domain'),
$secure_cookie,
config_item('cookie_httponly')
);
log_message('info', 'CSRF cookie sent');
return $this;
}
Severity: 8192
Message: setcookie(): Pasar null al parámetro #7 ($httponly) de tipo bool es obsoleto
Nombre de archivo: core/Security.php
davy.ai
P: ¿Cuál es el problema con el código anterior y qué significa el mensaje de error?
El problema con el código es que pasar null como valor para el parámetro $httponly de la función setcookie() está en desuso. El mensaje de error (Severidad 8192) indica esto y sugiere que pasar null a un parámetro de tipo boolean no es aceptable.
P: ¿Qué se debe hacer para solucionar el problema?
Para solucionar el problema, es necesario actualizar el código para asegurarse de que el parámetro $httponly no reciba null como entrada. Una posible solución es establecer explícitamente el valor del parámetro $httponly a false o true según la configuración del sistema. Por ejemplo, la variable $httponly puede ser establecida como un valor booleano de la siguiente manera:
Este código actualizará la variable $httponly con el valor de la configuración ‘cookie_httponly’. Luego, esta variable se puede pasar como séptimo parámetro de la función setcookie() para resolver el problema.