Table des matières
Contrôle variable, array, sécurité, etc...
Variables
Vérifier qu'un variable existe avec isset()
Afficher un variable avec print_r()
- print_r() — Affiche des informations lisibles pour une variable
- print_r() affiche des informations à propos d'une variable, de manière à ce qu'elle soit lisible.
print_r()
Afficher un variable avec var_dump()
- var_dump() — Affiche les informations d'une variable
- var_dump() affiche les informations structurées d'une variable, y compris son type et sa valeur. Les tableaux et les objets sont explorés récursivement, avec des indentations, pour mettre en valeur leur structure.
var_dump()
Renvoyer du code PHP pour générer une variable
- var_export — Retourne le code PHP utilisé pour générer une variable
- var_export() retourne des données structurées sur la variable donnée. C'est le même principe que var_dump() mais avec une exception : le résultat retourné est du code PHP valide.
Détruire une variable
unset($b);
Détruire une variable de session
unset($_SESSION['nomvariable']);
Détruire les variables de session
session_unset() — détruit toutes les variables de la session courante.
session_destroy() — détruit toutes les données associées à la session courante. Cette fonction ne détruit pas les variables globales associées à la session, de même, elle ne détruit pas le cookie de session.
Pour accéder à nouveau aux variables de session, la fonction session_start() doit être appelée de nouveau.
Pour détruire complètement une session, lorqu'on déconnecte un utilisateur par exemple, l'identifiant de la session doit également être effacé. Si un cookie est utilisé pour propager l'identifiant de session (comportement par défaut), alors le cookie de session doit être effacé.
La fonction setcookie() peut être utilisée pour cela.
Tableau numérique
Vérifier qu'il existe
$tabNum = ['Pomme','Poire','Orange','Prune','Cerise']; print_r($tabNum); Array ( [0] => Pomme [1] => Poire [2] => Orange [3] => Prune [4] => Cerise )
Compter le nombres de clés
$tabNum = ['Pomme','Poire','Orange','Prune','Cerise']; count($tabNum) 5 ou var_dump(count($tabNum)); int(5)
Tableau associatif
Vérifier qu'il existe
$tabNum = ['Pomme','Poire','Orange','Prune','Cerise']; print_r($tabAss); Array ( [Prénom] => Aiko [Nom] => One [Rue] => De la Glisse [Numéro] => 1 [cp] => 99999 [Ville] => La banquise [Pays] => Pôle Nord [GSM] => +99 999 123 456 [Mail] => aiko@glisse.pn )
Compter le nombres de clés
var_dump($tabAss); array(9) { ["Prénom"]=> string(4) "Aiko" ["Nom"]=> string(3) "One" ["Rue"]=> string(12) "De la Glisse" ["Numéro"]=> string(1) "1" ["cp"]=> string(5) "99999" ["Ville"]=> string(11) "La banquise" ["Pays"]=> string(10) "Pôle Nord" ["GSM"]=> string(15) "+99 999 123 456" ["Mail"]=> string(14) "aiko@glisse.pn" }
Techniques de protection
- Lutter contre la faille XSS (injection de code)
Échapper le code HTML avec htmlspecialchars()
htmlspecialchars() qui va transformer les chevrons des balises HTML <> en < et > respectivement.
A mettre de devant une variable superglobale $_GET[ ] ou $_POST[ ] comme ceci htmlspecialchars($_POST['prenom']);
Échapper le code HTML avec addslashes()
addslashes() retourne une chaîne string, après avoir échappé tous les caractères qui doivent l'être, pour être utilisée. Ces caractères sont les guillemets simples ('), guillemets doubles (“), antislash (\) et NULLE (le caractère NULL).
Un exemple d'utilisation d' addslashes() est lorsque vous entrez des données dans une chaîne de caractères à évaluer par PHP.
Par exemple, pour insérer le nom O'reilly dans la chaîne de caractères $str, vous aurez besoin de protéger $str. (i.e. eval(“echo '”.addslashes($str).”';“); )
Transformer l'injection de code en numérique avec intval()
intval() est une protection contre l'injection de code, intval() va convertir l'injection d'accents, de guillemets, tout caractère spéciale en un type numérique qui ne sera donc pas interpréter par le serveur
Exemple : stockage de la valeur de la variable d'url ?article
$articleID = intval($_GET['article']);
Supprimer l'injection de balise HTML et PHP avec strip_tags()
strip_tags() permet retirer les balises HTML que le visiteur a tenté d'envoyer plutôt que de les afficher, il supprime donc toute balise HTML et PHP d'une chaîne de caractères.
Plus de sécurités
- Supprimer les espaces avec trim()
- Supprimer les anti-slashes avec stripcslashes()
