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

PHP & Base de données Discussion :

PHP methode GET sécurité


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut PHP methode GET sécurité
    Bonjour,

    afin de géré un système de mot de passe oublié sur mon site web j'utilise un système GET.

    Je souhaiterai savoir quels sont les champs a vérifier afin de ne pas me faire hacker mon site:

    Pour le moment je fais ce genre de vérification :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(isset($_GET['mail']))
    Pour le champ mail par exemple, mais est ce réellement suffisant ??

    Merci d'avance pour votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    isset() n'apporte rien en securité.

    Pour te répondre, il faudrait connaitre le principe que tu utilises.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    Est ce que tu vas lui envoyé le mot de passe oublier par e-mail.

  4. #4
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    Deja merci pour vos réponses.

    En fait je m'explique:

    Dans ma BDD j'ai 3 champs:
    Nom d'utilisateur
    Mot de passe
    et mot de passe temporaire

    Le mot de passe temporaire est en réalité le code de validation en md5 envoyé en mail.

    Exemple: http://mondomaine.com/oubli.php?validation=123456abc

    Au moment ou je recois le code 123456abc dans mon formulaire oubli.php je met a jour ma base de donnée en recopiant le mot de passe temporaire dans mot de passe.

    Mais j'aimerai que ce lien qui est récupéré en get soit bien sécurisé, vous comprendrez facilement pourquoi ...

    Donc ma question est comment faire pour récupéré cette variable de manière sur ?

    Merci d'avance

  5. #5
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    ce qui t'interesse c'est que le mot de passe clair que tu transfert ne soit pas intercepté?

    Côté mail, c'est plutot mauvais parce qu'il n'y a rien a faire parce que ce n'est pas chiffré de bout en bout et que tous les intermédiaires peuvent lire le mail par la nature même du systeme smtp.

    coté url, si tu veux te garder d'une personne qui pourrait écouter (proxy...) utilise du ssl.

    Il n'y a pas de choses sécurisées et de chose pas sécurisée. Il y a des risques identifiés et des contre-mesures.

    Si tu ne souhaites pas qu'on puisse espionner, intercepter,... chiffre.

    Si tu ne veux pas de vol de compte, supprime la récupération par mail, limite la durée de vie des mots de passes temporaires, utilise sha1 au lieu de md5.

    ça c'est bon pour la sécurité vers l'extérieur, c'est a dire, la sécurité que tu garenti à tes clients. la sécurité vers l'intérieur c'est notament d'abuser de filter_var() et verifier la forme de valeur, de verifier les domaines de la valeur (tu attends un entier entre 1 et 10 que se passe t'il si c'est 100 qui arrive?)

    vérifier que la variable existe est une précaution de développeur, mais aucunement une mesure de sécurité. Sur mon serveur perso de développement une variable non initialisée génère une exception qui plante le programme. C'est donc pour moi l'étage 1 du bloc de filtrage des entrées, niveau 2 c'est la forme (ex: est-ce que c'est conforme à la RCF pour les mails) etages 3 est ce que ce j'autorise les utilisateurs à avoir un mail en @hotmail.com ???

    Si tu veux du mode parano, il faut s'assurer que ton visiteur ne fait pas un brute force oubli.php. Le plus simple est de mettre un dispositif d'alerte (mail, log apache) pour surveiller l'utilisation de cette page.

    il y a des milliers de choses a faire. Protege toi de ce que tu penses le plus genant.

  6. #6
    Membre Expert
    Avatar de gene69
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 769
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 769
    Par défaut
    j'ai l'impression, en relisant la question, que tu paniques sur l'aspect sécurité... oh je m'occupe du module d'authentification, faut que je fasse de la sécurité.

    Tu te feras voler des données plus facilement avec une page de téléchargement qu'avec un module d'authentification. Dans ton cas, écrit ton script comme d'habitude et essais-toi de te pirater tout seul. Si tu y arrives, c'est mauvais signe.

  7. #7
    Membre à l'essai
    Inscrit en
    Octobre 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 6
    Par défaut
    Hmmm oki oki. J'y vois un peu plus claire.

    Par contre tu parles de supprimer la récupération par mail ? du coup comment fais tu si l'utilisateur a oublier son mot de passe ?

    Et deuxième chose comment fait tu techniquement pour limiter dans le temps un mot de passe temporaire ou un lien de validation ?

    Et troisième question comment faire techniquement pour bannir une IP automatiquement au bout de 5 essais infructeux ? (pour eviter le brute force justement)

Discussions similaires

  1. [MySQL] Formulaire method GET et php
    Par alas70 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 03/12/2008, 21h48
  2. Réponses: 5
    Dernier message: 11/09/2005, 12h17
  3. Faire Choix du fichier destination methode GET grace a JS
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 14/06/2005, 15h26
  4. la méthode get du Net::telnet
    Par BENCHEKROUN dans le forum Modules
    Réponses: 4
    Dernier message: 25/05/2005, 12h31
  5. probleme avec methode get
    Par Tr@nkill dans le forum ASP
    Réponses: 2
    Dernier message: 12/05/2005, 13h54

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