Fonction PHP setrawcookie() : Tout ce que vous devez savoir
En tant que développeur PHP, vous devrez peut-être définir des cookies bruts pour votre application web afin de stocker des informations côté client. La fonction setrawcookie() est une fonction PHP intégrée qui vous permet de définir un cookie brut. Contrairement à la fonction standard setcookie(), setrawcookie() ne code pas la valeur du cookie en URL, ce qui la rend utile lorsque vous devez stocker des données pré-encodées ou des chaînes binaires. Dans cet article, nous examinerons en détail la fonction setrawcookie() et son utilisation.
Qu'est-ce que la fonction setrawcookie() ?
La fonction setrawcookie() est une fonction PHP intégrée (disponible depuis PHP 5.2.0) qui vous permet de définir un cookie brut côté client. Elle retourne true en cas de succès et false en cas d'échec.
Comment utiliser la fonction setrawcookie()
L'utilisation de la fonction setrawcookie() est simple. Voici la syntaxe :
PHP Syntax
setrawcookie($name, $value, $expire, $path, $domain, $secure, $httponly);La fonction accepte sept paramètres :
$name: Le nom du cookie.$value: La valeur brute du cookie (non encodée en URL).$expire: L'heure d'expiration sous forme de timestamp Unix.$path: Le chemin du serveur où le cookie sera disponible.$domain: Le domaine où le cookie sera disponible.$secure: Indique si le cookie ne doit être transmis que via HTTPS.$httponly: Indique si le cookie doit être inaccessible au JavaScript côté client.
Voici un exemple d'utilisation de la fonction setrawcookie() pour définir un cookie brut :
Example
<?php
$name = "username";
$value = "john";
$expire = time() + (86400 * 30); // 30 days
$path = "/";
$domain = ".example.com";
$secure = true;
$httponly = true;
setrawcookie($name, $value, $expire, $path, $domain, $secure, $httponly);Dans cet exemple, nous utilisons la fonction setrawcookie() pour définir un cookie brut nommé username avec la valeur john. Nous spécifions l'heure d'expiration à 30 jours à partir de l'heure actuelle, le chemin du serveur à /, et le domaine à .example.com. Les indicateurs secure et httponly sont définis sur true pour garantir que le cookie n'est transmis que via HTTPS et qu'il est inaccessible au JavaScript côté client.
setrawcookie() vs setcookie()
La principale différence entre setrawcookie() et setcookie() réside dans la gestion de la valeur du cookie. setcookie() encode automatiquement la valeur en URL à l'aide de rawurlencode(), ce qui est sûr pour le texte standard mais peut poser des problèmes si vous devez stocker des données pré-encodées ou des chaînes binaires. setrawcookie() saute cette étape d'encodage, vous donnant un contrôle total sur la valeur brute. Pour la plupart des cas d'utilisation standard, setcookie() est préféré, mais setrawcookie() est essentiel lors du travail avec des données déjà encodées.
Conclusion
La fonction setrawcookie() est un outil utile pour définir des cookies bruts dans votre application web PHP. En comprenant sa syntaxe, ses paramètres et la manière dont elle diffère de setcookie(), vous pouvez stocker en toute sécurité des données pré-encodées côté client.
Practice
Quelle est la bonne utilisation de la fonction setrawcookie() en PHP ?