Table des matières

Contrôle variable, array, sécurité, etc...

Retour d'un niveau
Retour à l'accueil


Variables


Vérifier qu'un variable existe avec isset()

var_dump(isset($a));
bool(true)  // si existe
bool(false) // si n'existe pas


Afficher un variable avec print_r()

print_r()


Afficher un variable avec var_dump()

var_dump()


Renvoyer du code PHP pour générer une variable


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 &lt; et &gt; 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


Retour d'un niveau
Retour à l'accueil