IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Existe-t-il plus simple et sécurisé que register_globals dans l'idée ?


Sujet :

Langage PHP

  1. #1
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut Existe-t-il plus simple et sécurisé que register_globals dans l'idée ?
    Bonjour,

    s'il y'à bien une opération que je trouve récursive, longue et chiante c'est celle-ci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    							$nom = htmlentities($_POST['racersfirst']);
    							$prenom = htmlentities($_POST['racerslast']);
    							$uemail = htmlentities($_POST['racersmail']);
    							$cel = htmlentities($_POST['racerscel']);
    							$rue = htmlentities($_POST['racersrue']);
    							$cp = htmlentities($_POST['racerscp']);
    							$ville = htmlentities($_POST['racersville']);
    [...]

    Existe t'il un moyen plus rapide, et "secure" ( pas register_globals quoi :p ) de faire cela ?

  2. #2
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    • Tu peux utiliser des tableaux, un pour le nom des champs, un autre pour le nom des variables. Les éléments communs ne sont pas nécessaires :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $tab=array('first','last','mail','cel','rue','cp','ville');
    $lab=array('nom','prenom','uemail','cel','rue','cp','ville');
    Ensuite tu utilises un foreach et tu reconstitues le code avec la fonction eval.

    • Tu peux aussi utiliser qu'un seul tableau, les variables nommées avec le même nom que les champs postés. Par contre, il faut absolument utiliser un préfixe pour les noms des champs de saisie pour éviter que l'utilisateur puisse poster n'importe quelle variable.

    • Perso, j'utilise ce système excepté que je n'utilise pas de tableaux pour les noms des champs; Je parcours juste le tableau $_POST à la recherche des élements commençant par mon préfixe puis je les transforme en variable...
    De retour parmis vous après 10 ans!!

  3. #3
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 022
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 022
    Points : 2 273
    Points
    2 273
    Par défaut
    Salut,
    personnellement je passe toujours des tableaux depuis les formulaires que je traite ensuite avec des fonctions récursives de ce type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function htmlEntitiesDeep($value)	{
    		$value = is_array($value) ?
    			array_map('htmlentitiesDeep', $value) :
    			htmlentities($value);
    		return $value;
    	}
    Exemple simplifié :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $cleanPostedData = htmlEntitiesDeep($_POST['uncleanedData']);
    Bye
    Vive les roues en pierre

  4. #4
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Merci sub0, ta solution coule de source !

  5. #5
    Expert confirmé
    Avatar de Sub0
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2002
    Messages
    3 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2002
    Messages : 3 573
    Points : 4 219
    Points
    4 219
    Par défaut
    J'ajoute que j'essaye de vérifier un maximum ce qui arrive en post, par exemple, le nombre d'élements du tableaux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(count(@$_POST)<>count($tab))  
      Mydie('Le nombre de champs saisie est incorrecte!');
    Après, j'initialse certaines variables pour la suite du script et je vérifie aussi la longueur et la syntaxe des champs...
    De retour parmis vous après 10 ans!!

  6. #6
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    oh c'est pas bête du tout ça

    Merci pour l'info !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Graphismes] Existe-t-il plus simple que MAYA ?
    Par sunny62 dans le forum Création de jeux vidéo
    Réponses: 14
    Dernier message: 20/07/2015, 15h08
  2. Réponses: 1
    Dernier message: 31/08/2006, 17h28
  3. [Interface d'aide]Plus simple que Javahelp ?
    Par Baptiste Wicht dans le forum Interfaces Graphiques en Java
    Réponses: 10
    Dernier message: 05/05/2006, 16h09
  4. Plus simple que ClassParent
    Par rvzip64 dans le forum Langage
    Réponses: 9
    Dernier message: 18/01/2006, 10h12
  5. [layout]il existe pas des layout plus simple et plus rapide?
    Par soad dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 28/11/2005, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo