Maison  >  Article  >  développement back-end  >  Explication détaillée de la méthode d'attribut HTTPONLY pour définir les cookies en PHP

Explication détaillée de la méthode d'attribut HTTPONLY pour définir les cookies en PHP

黄舟
黄舟original
2017-03-07 09:50:254143parcourir

L'éditeur suivant vous proposera un article sur la façon de définir l'attribut HTTPONLY de Cookie en PHP. L'éditeur le trouve plutôt bon, je vais donc le partager avec vous maintenant et le donner comme référence pour tout le monde. Suivons l'éditeur et jetons un coup d'œil.

httponly est l'extension de Microsoft aux cookies. Elle vise principalement à résoudre le problème du vol des cookies des utilisateurs.

Comme nous le savons tous, lorsque nous nous connectons à notre boîte aux lettres ou à notre forum, le serveur écrira des cookies dans notre navigateur. Lorsque nous visiterons d'autres pages la prochaine fois, le navigateur transférera automatiquement le cookie, c'est donc le cas. réalisé Une fois connecté, vous pouvez voir tout le contenu pour lequel vous devez vous connecter. En d’autres termes, tous les statuts de connexion sont basés sur des cookies ! En supposant que les cookies auxquels nous nous connectons sont obtenus par d'autres, il existe un risque d'exposer des informations personnelles ! Bien sûr, réfléchissez-y : comment quelqu'un d'autre peut-il obtenir les cookies du client ? Il doit s'agir d'un programme malveillant exécuté dans le navigateur ! S'il s'agit de logiciels malveillants qui circulent partout dans le monde, il n'y a aucun moyen d'utiliser httponly pour résoudre cette situation. Il est utilisé pour résoudre le problème de l'accès par JavaScript aux cookies dans le navigateur. Imaginez, un programme flash exécuté dans votre navigateur peut récupérer vos cookies !

SP1 d'IE6 prend en charge httponly, il est donc relativement sûr.

Paramètres en PHP

PHP5.2 et versions ultérieures prennent déjà en charge la définition des paramètres HttpOnly, ainsi que les paramètres HttpOnly globaux, dans php.ini
--------------------------------------------------------- ----- -------------
session.cookie_httponly =
---------------------- ---- --------------------------

Définissez sa valeur sur 1 ou TRUE pour activer l'attribut global Cookie HttpOnly , bien sûr, il prend également en charge l'ouverture dans le code :

<?php ini_set("session.cookie_httponly", 1); 
 // or session_set_cookie_params(0, NULL, NULL, NULL, TRUE); 
?>

La fonction d'opération de cookie, la fonction setcookie et la fonction setrawcookie ajoutent également spécifiquement un septième paramètre en tant qu'option HttpOnly, le La méthode pour l'activer est :

<?php
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE); 
setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
?>

Pour les versions antérieures à PHP5.1 et PHP4, vous devez utiliser la fonction header pour contourner ce problème :

<?php 
header("Set-Cookie: hidden=value; httpOnly"); 
?>

Ce qui précède est l'explication détaillée de la méthode d'attribut HTTPONLY de configuration des cookies en PHP. Pour plus de contenu connexe, veuillez faire attention au site Web chinois PHP. (www.php.cn) !


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn