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 :

[Sécurité] Quelle procédure suivre pour une protection parfaite ?


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Ministar
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 56
    Points
    56
    Par défaut [Sécurité] Quelle procédure suivre pour une protection parfaite ?
    Bonjour!

    Je fait un site web qui a rapport avec une base de donnée.

    Le fait est (et c'est logique!) que j'utilise des champs de formulaire pour intéragir avec ma base de données.

    Je protège déjà les informations saisies avec la fonction addslashes() pour l'enregistrement.

    Lors de la lecture j'utilise htmlententities().

    Je suppose qu'il y a encore des failles, j'aimerais les comblés, comment faire?

    Merci!

  2. #2
    Membre expérimenté
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Points : 1 413
    Points
    1 413
    Par défaut
    Tu peux essayer de virer les points-virgules et les pourcentages.

  3. #3
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut

    Heeuuu déjà plutôt que d'utiliser addslashes tu peux utiliser mysql_real_escape_string voir même mieux, tu utilise cette fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function quote_smart($value)
    {
       // Stripslashes
       if (get_magic_quotes_gpc()) $value = stripslashes($value);
       // Protection si ce n'est pas un entier
       if (!is_numeric($value))$value = "'" . mysql_real_escape_string($value) . "'";
       return $value;
    }
    Ensuite, et désolé de te décourager, mais tu n'auras jamais une protection parfaite

  4. #4
    Membre actif
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2007
    Messages
    193
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2007
    Messages : 193
    Points : 207
    Points
    207
    Par défaut
    Ah moins d'avoir des ennemies ou de marquer en gros sur le site Hack Me, les chances de se faire hacker sont faible. Tes données sont vraiment si sensible que ça??

  5. #5
    Membre du Club Avatar de Ministar
    Inscrit en
    Septembre 2006
    Messages
    143
    Détails du profil
    Informations personnelles :
    Âge : 37

    Informations forums :
    Inscription : Septembre 2006
    Messages : 143
    Points : 56
    Points
    56
    Par défaut
    Je ne vois pas bien ce que fait ta fonction de plus que mysql_real_escape_string ?!

    Sinon elle est pas trop mal mais il faut vérifier les magic quote avant de l'utiliser?

    Le mieux c'est de l'utiliser sur TOUTES les données provenant de formulaires si j'ai bien compris!

    Ya til pas d'autres protection a fournir?
    Des scripts php ne peuvent pas être utilisés pour attaquer mon site web?

    La protection parfaite ca ne sera surement pas possible mais il faut bien essayer de s'en approcher!

    Edit : Mes données ne sont pas si sensibles que ca mais le jour ou je programmerais pour une entreprise elles le seront!

  6. #6
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Novembre 2005
    Messages
    87
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2005
    Messages : 87
    Points : 96
    Points
    96
    Par défaut
    pour ce qui est de requête sql tu peux toujours les préparer, c'est à dire faire des pré requète ce qui empêche les hack par injection sql

    tu peux aussi tester le type des donnée envoyée et voir si cela ne comporte pas de caractères/formes inattendues

  7. #7
    Membre expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Points : 3 145
    Points
    3 145
    Par défaut
    Citation Envoyé par Ministar
    Je ne vois pas bien ce que fait ta fonction de plus que mysql_real_escape_string ?!

    Sinon elle est pas trop mal mais il faut vérifier les magic quote avant de l'utiliser?
    bè elle détecte l'activation du mgic_quotes_gpc afin de supprimer les slash qu'il te rajouterait puis si la valeur que tu as passée en paramètre n'est pas un entier (donc une chaine qui faut encapsuler dans des simples quotes) alors il appelle mysql_real_escape_string().

    @ Grummfy : L'utilisation de la fonction mysql_real_escape_string() sur chaque variable évite les injections SQL

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/02/2010, 08h42
  2. Quelle est la syntaxe précise pour une foreign key ?
    Par vinze60 dans le forum Requêtes
    Réponses: 3
    Dernier message: 07/09/2009, 09h45
  3. Réponses: 35
    Dernier message: 09/04/2007, 00h17

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