Snippet #10 ~ PHP récuperer et sécuriser automatiquement toutes les variables POST et GET

Petit astuce très simple pour récupérer, sécuriser et fusionner toutes les variables GET et POST dans un même tableau:

$_ = array();
foreach($_POST as $key=>$val){
$_[$key]=mysql_escape_string(htmlentities($val));
}
foreach($_GET as $key=>$val){
$_[$key]=mysql_escape_string(htmlentities($val));
}

Utilisation :

<?php
echo $_['MaVariablePostOuGet'];
?>

4 réactions au sujet de « Snippet #10 ~ PHP récuperer et sécuriser automatiquement toutes les variables POST et GET »

  1. Tommy Réponse

    Salut !

    Juste une petite remarque : si on essaye en général de séparer le GET du POST, c’est pour éviter qu’on ne puisse usurper du POST par du GET (ou inversement).

    Même si c’est peu probable, ça peut arriver.

    Il suffit d’imaginer un formulaire d’identification trafiqué, dans lequel le mot de passe sera passé en GET au lieu du POST et hop ! Accès direct au mot de passe pour ceux qui écoutent le réseau, et l’utilisateur touché ne s’en rendra pas compte !

    Voilà pourquoi je pense qu’il vaut mieux séparer POST et GET.

    Bonne continuation ! 🙂

    • Idleman Auteur ArticleRéponse

      C’est inexacte, peut importe la méthode de récupération, le but étant de récupérer l’information, si l’utilisateur trafique le formulaire initial pour afficher son mot de passe en clair (ce qui est stupide de sa part) il ne peux s’en prendre qu’as lui même.

      Mon snippet permet la récupération des information et non leurs émission c’est pourquoi indifférenciation des deux types de requêtes n’est pas importante 😉 .

  2. Julius Réponse

    Suggestion :

    foreach($_POST as $key=>$val){
    $_POST[$key]=mysql_escape_string(htmlentities($val));
    }

    Est ce que cela fonctionnerait ?
    //On peut réattribuer une valeur à un $_POST donc oui je suppose… :-/

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.