You are not logged in.
Bonjour à tous,
Suite à la récente mise à jour de GLPI, j'ai rencontré une erreur spécifique liée aux directives PHP relatives à session.cookie_secure et session.cookie_httponly. Le message d'erreur précis est le suivant :
La directive PHP "session.cookie_secure" devrait être définie à "on" quand GLPI est accessible via le protocole HTTPS.
La directive PHP "session.cookie_httponly" devrait être définie à "on" pour prévenir l'accès aux cookies depuis les scripts côté client.
J'ai entrepris plusieurs actions pour résoudre cette erreur, notamment la recherche de tous les fichiers de configuration PHP :
root@srv:/var/www/glpi# sudo find / -name "php.ini"
/etc/php/8.1/fpm/php.ini
/etc/php/8.1/cli/php.ini
/etc/php/8.1/apache2/php.ini
Ensuite, j'ai ajouté le paramètre 'on' pour ces deux directives dans tous ces fichiers de configuration, mais malgré cela, le problème persiste.
Auriez-vous des idées supplémentaires sur la façon de résoudre cette erreur ? Y a-t-il d'autres endroits où ces paramètres doivent être ajustés ou quelque chose que j'aurais pu manquer ?
Toute aide serait grandement appréciée.
Merci d'avance
Offline
Bonjour,
Apache a-t-il été redémarré après avoir apporté ces modifications ?
De plus, si vous vérifiez les exigences GLPI depuis la ligne de commande, il est normal de voir ces messages car les vérifications ne peuvent pas être effectuées automatiquement dans ce contexte. Il devrait y avoir des messages devant eux expliquant cela.
GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.
Offline
Bonjour,
il n'y a aucun message supplémentaire depuis l'interface GLPI, juste cette affichage, je ne peux pas poster d'image dans le forum,
mais il n'y a aucune autre erreur, tout les prérequis sont remplis sauf ceux la
je précise, j'ai bien redémarrer apache et même le serveur.
Offline
Pouvez-vous vérifier qu'il n'y a pas d'entrées en double pour ces options qui pourraient remettre les valeurs sur Désactivé et qu'aucune de ces options n'est encore commentée, ce qu'elles sont par défaut ?
Si la ligne est précédée d'un point-virgule, elle est commentée et ne prendra pas effet.
find /etc -name "php.ini" -exec grep -e 'session.cookie_secure' {} \+
find /etc -name "php.ini" -exec grep -e 'session.cookie_httponly' {} \+
GLPI Collaborator and Plugin Developer.
My non-English comments are automated translations. Sorry for any confusion that causes.
Mes commentaires non anglais sont des traductions automatiques. Désolé pour toute confusion qui cause.
Mis comentarios que no están en inglés son traducciones automáticas. Perdón por cualquier confusión que cause.
Offline
Voici le résultat des 2 commandes :
user@srv:/etc/apache2/sites-available$ find /etc -name "php.ini" -exec grep -e 'session.cookie_secure' {} \+
/etc/php/8.1/fpm/php.ini:session.cookie_secure = on
/etc/php/8.1/cli/php.ini:session.cookie_secure =on
/etc/php/8.1/apache2/php.ini:session.cookie_secure =on
user@srv:/etc/apache2/sites-available$ find /etc -name "php.ini" -exec grep -e 'session.cookie_httponly' {} \+
/etc/php/8.1/fpm/php.ini:session.cookie_httponly = on
/etc/php/8.1/cli/php.ini:session.cookie_httponly =on
/etc/php/8.1/apache2/php.ini:session.cookie_httponly =on
j'ai remarqué que le On est collé au égal, je l'ai décalé, je redemmare et vois si ça fait une différence,
EDIT :
non j'ai toujours ce message d'erreur :
PHP directive "session.cookie_secure" should be set to "on" when GLPI can be accessed on HTTPS protocol. PHP directive "session.cookie_httponly" should be set to "on" to prevent client-side script to access cookie values.PHP directive "session.cookie_secure" should be set to "on" when GLPI can be accessed on HTTPS protocol.
PHP directive "session.cookie_httponly" should be set to "on" to prevent client-side script to access cookie values.
sinon je comprend pas pourquoi il charge pas le bon fichier de conf ??
Ou c'est en dure dans le code glpi cette variable ?
Last edited by mika2008 (2023-12-16 10:25:25)
Offline
ce que j'ai fait, c'est écrire un bout de code php pour afficher la valleur des ces directives, sans liens avec GLPI et j'ai le résultat suivant :
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
// Récupération de la valeur de session.cookie_secure
$cookieSecure = ini_get('session.cookie_secure');
echo 'La valeur de session.cookie_secure est : ' . $cookieSecure . '<br>';
// Récupération de la valeur de session.cookie_httponly
$cookieHttpOnly = ini_get('session.cookie_httponly');
echo 'La valeur de session.cookie_httponly est : ' . $cookieHttpOnly;
?>
je le lance en ligne de commande :
La valeur de session.cookie_secure est : 1
La valeur de session.cookie_httponly est : 1
du coup est ce que c'est pas dans le code GLPI ou la valeur est forcé à 0 ?
qu'en pensez vous svp ?
Offline
Bonjour,
Moi j'ai mis session.cookie_httponly =true pour que ça fonctionne en php 8.2
Matthieu
Last edited by mbackes (2024-01-05 17:37:35)
Offline
Bonjour,
J'ai aussi le même problème "La directive PHP "session.cookie_secure" devrait être définie à "on" quand GLPI est accessible via le protocole HTTPS.", j'ai essayé avec toutes les valeurs (on,true et 1) mais sans succès.
Avez-vous une piste pour résoudre ce problème?
Merci.
Offline
Bonjour,
Tu as bien corrigé dans ton bon dossier. moi j'avais corrigé dans le dossier /etc/php/8.5 alors que j'étais en 8.2
Offline
Oui j'ai corrigé dans le dossier 8.2 et je suis sur php8.2.
Offline
( Je parle principalement pour Linux)
Bonjour à tous,
Suite à la récente mise à jour de GLPI, j'ai rencontré une erreur spécifique liée aux directives PHP relatives à session.cookie_secure et session.cookie_httponly. Le message d'erreur précis est le suivant :
La directive PHP "session.cookie_secure" devrait être définie à "on" quand GLPI est accessible via le protocole HTTPS. La directive PHP "session.cookie_httponly" devrait être définie à "on" pour prévenir l'accès aux cookies depuis les scripts côté client.
...
Il peut y avoir une subtilité subtile avec les installations de multiples versions de php .
La version lancée lors de l'utilisation de 'bin/console' peut varier selon l'utilisateur en raison de son PATH.
ET pourrait ne pas correspondre à celle utilisée par le bridge apache (le module libapapchephp... ).
Ca peut etre un peu subtil pour le debug
Donc,base toi sur la version utilisée par le module apache
check les modifs dans /etc/php*/apache2/*.ini
Si tu as besoin d'utilise bin/console , force l'execution avec la meme version que celle d'apache (php* bin/console)
(et surement modifie /etc/php*/cli/php.ini)
Offline
Je viens d'avoir le même problème avec un server sous AlmaLinux 8 et PHP 8.2
après avoir mis les valeurs dans /etc/php.ini a on, "on", 1 puis true sans succès, j'ai complètement désinstallé php du serveur
dnf remove php
puis
dnf module remove php:remi-8.2
et réinstallation de PHP:
dnf install php
check version
php -v
PHP 8.2.17 (cli) (built: Mar 12 2024 14:26:30) (NTS gcc x86_64)
start apache et là c'est ok.
Si cela peut aider...
Last edited by ardoli (2024-03-21 12:49:23)
Offline
Bonjour,
En version 10.0.x, il est possible de créer un fichier config/local_define.php avec le contenu suivant :
<?php
// Remove Notice/Alert from session configuration
ini_set('session.cookie_secure', 1);
ini_set('session.cookie_httponly', 1);
Cela fonctionne à merveille chez moi, dites-moi si c'est le cas chez vous...
"Don´t THINK you are, KNOW you are" - Morpheus (Matrix, 1999)
Offline