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 :

[Tableaux] "htmlentities" globales ?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Avatar de NoobX
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 195
    Points : 140
    Points
    140
    Par défaut [Tableaux] "htmlentities" globales ?
    Bonjour @ tous

    Je me trouve devant un probleme tres embettant !

    Je m'explique :
    J'ai un site en php+mysql
    Ce site contient de nombreux formulaire ($_post) contenant chacun un nombre tres grand de variables !

    Ce site fonctionne tres bien mais n'est absolument pas securisé contre les attaques de type sql injection !
    Desormais il doit etre securisé sur ce point !

    pour vous aider a comprendre mon probleme on va prendre un exemple chiffrer !
    J'ai 20 formulaires contenant chacun 200 variables !
    Soit 4000 varaiables a securisées contre l'injection sql
    Je ne peux pas les prendre une par une pour les securisées !
    il me faudrait 10 ans .....

    Je cherche donc a creer une fonction qui listerai toutes les variables envoyé par un formulaire sous la forme d'un tableau puis appliqué a chacune d'entre elle HTMENTITIES !

    en theories je vudrais faire un array sur le formulire envoyé puis lister ce array pour appliquer un htmlentities sur chaque variable du formulaire !

    Est-ce possible ? j'espere que oui
    Comment faire ? donnez moi vos idées svp
    existe t il une autre solution ? tout m'interesse

  2. #2
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut ça parait simple
    ...mais ça ne l'est pas forcément

    Puisque tes variables sont transmises par $_POST[] qui est un tableau, le travail est déjà à moitié effectué.

    Déjà, la première sécurité contre les mal-intentionnés est de considéré toute variable comme non valide. Je m'explique

    Tu récupère ton tableau $_POST[] et tu fais un foreach et pour chaque clé tu fais un htmlentities sur la valeur que tu remets dans cette même clé. Donc te voici en quelques lignes de codes à vérifier toutes tes variables.

  3. #3
    Membre expérimenté Avatar de Lorenzo77
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    1 472
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 472
    Points : 1 537
    Points
    1 537
    Par défaut
    si ta seule peur c'est : "les attaques de type sql injection" tu as juste a utiliser mysql_real_escape_string !

    sinon si tu veux ton systeme, tu dois juste utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_POST = array_map("htmlentities", $_POST);
    pas si compliqué

  4. #4
    Membre habitué
    Avatar de NoobX
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    195
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 195
    Points : 140
    Points
    140
    Par défaut
    Merci beaucoup

    j'ai pas encore essayer, mais des que possible je vous tiends au courant de mon evolution

  5. #5
    Membre à l'essai
    Homme Profil pro
    Webmarketer
    Inscrit en
    Août 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Août 2006
    Messages : 11
    Points : 11
    Points
    11
    Par défaut array_map
    Super, pour moi ça marche.

  6. #6
    Membre éprouvé
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Juin 2003
    Messages
    909
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 909
    Points : 1 014
    Points
    1 014
    Par défaut alors là je dis bravo
    Citation Envoyé par Lorenzo77 Voir le message
    si ta seule peur c'est : "les attaques de type sql injection" tu as juste a utiliser mysql_real_escape_string !

    sinon si tu veux ton systeme, tu dois juste utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_POST = array_map("htmlentities", $_POST);
    pas si compliqué
    Citation Envoyé par aeoai Voir le message
    Super, pour moi ça marche.


    Je connaissais par array_map(). Super conseil Lorenzo, je retines.

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

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