Les directives “HttpOnly” et “Secure”
A l’heure où la grande majorité des sites internet sont passés à HTTPS, il n’est pas rare de constater que PHP ne sert toujours pas les cookies de session avec les directives “HttpOnly” et “Secure”.
Pourtant, les directives sont bien disponibles dans le fichier php.ini, il suffit donc de les activer.
Edition de php.ini
On édite donc notre fichier php.ini:
nano /etc/php/7.2/fpm/php.ini
Et on modifie ces valeurs :
session.cookie_httponly 1
session.cookie_secure 1
session.use_only_cookies 1
Enregistrez le fichier et relancez PHP:
service php7.2-fpm restart
Testez votre site de nouveau : les cookies de session contiennent maintenant les deux nouvelles directives :
set-cookie: PHPSESSID=7d5h81tfiuna3p2p00o1v7b13q; path=/; secure; HttpOnly
Cela ne s’applique pas à tous les cookies créés par les plugins ou applications du site.
Il faudrait pour cela que le serveur, nginx, possède nativement le module nginx_cookie_flag_module.
Vous souhaitez réaliser un nouveau projet WordPress ou WooCommerce, ajouter de nouvelles fonctionnalités, ou améliorer les performances de votre site? Faîtes appel à mon expertise.