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
Code language: CSS (css)
Enregistrez le fichier et relancez PHP:
service php7.2-fpm restart
Code language: CSS (css)
Testez votre site de nouveau : les cookies de session contiennent maintenant les deux nouvelles directives :
set-cookie: PHPSESSID=7d5h81tfiuna3p2p00o1v7b13q; path=/; secure; HttpOnly
Code language: JavaScript (javascript)
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.
Recherchez-vous un expert WordPress ou WooCommerce sur qui vous pouvez compter? Ne cherchez plus.