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é] Est-ce que la sécurité est correcte sur ce bout de code ?


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut [Sécurité] Est-ce que la sécurité est correcte sur ce bout de code ?
    Bonjour,

    Je suis novice en php et en programmation, j'ai crée une partie administration sur un site que j'ai concu de A à Z. Pour acceder à cette administration il faut juste entrer un mot de passe (pas de login). Je me suis servis des sessions, voici ce que j'ai fait :


    Du coté HTML c'est un "input text" où l'on renseigne le mot de passe.

    Et du coté php c'est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    // Psw admin
    define('PREFIX_SALT', '73PozF');
    define('SUFFIX_SALT', '&6nw0w');
    $pwd = md5(PREFIX_SALT.'motd3p4ss3'.SUFFIX_SALT);
     
     
    if (isset($_POST["pwd"])) 
    {
    	if (md5(PREFIX_SALT.$_POST["pwd"].SUFFIX_SALT) == $pwd) 
    	{ 
     
    		// Connexion réussi
    		$_SESSION["pwd"] = $pwd; 
    		header("Location: admin.php"); 
    	}
    	elseif  (md5(PREFIX_SALT.$_POST["pwd"].SUFFIX_SALT) != $pwd) 
    	{ 
    		echo '<span class="warn">Le code que vous venez d\'entrer est incorrect!</span>'; 
    		session_destroy();
    		header("Refresh: 2;url=index.php"); 
    	}
    }
    Le mot de passe est 'motd3p4ss3'
    Tout fonctionne à merveille, je voulais juste savoir si niveau sécurité on pouvait mieux faire ou corriger certains trucs ?

    Merci.

  2. #2
    Membre expert
    Avatar de ThomasR
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2007
    Messages
    2 230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Décembre 2007
    Messages : 2 230
    Points : 3 972
    Points
    3 972
    Par défaut
    Bonjour,

    d'un point de vue logique,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    efine('PREFIX_SALT', '73PozF');
    define('SUFFIX_SALT', '&6nw0w');
    $pwd = md5(PREFIX_SALT.'motd3p4ss3'.SUFFIX_SALT); 
    if (isset($_POST["pwd"])) 
    {
    	if (md5(PREFIX_SALT.$_POST["pwd"].SUFFIX_SALT) == $pwd) 
    	{
    revient à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    $pwd = '7ca1365b3024ea624dc71ffe13efcd06';//md5('motd3p4ss3')
    if(isset($_POST['pwd'])){
        if(md5($_POST['pwd']) == $pwd){
     
        }
    }
    Aussi,
    ca ne te sert à rien d'encoder le mot de passe en md5 alors qu'il est écrit en clair dans ta page. Le md5 te servira surtout pour enregistrer des mots de passe et qu'ils ne soient pas lisible par un administrateur de base de données par exemple.

  3. #3
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 249
    Points : 1 565
    Points
    1 565
    Par défaut
    J'ai pas tout regardé mais...

    * mettre le mot de passe dans le fichier est une mauvaise idée
    * le cryptage md5 n'est pas tip top
    * ton code redirige sur admin.php si le pass est le bon... et si on va directement sur la page admin.php ? Il y a une protection ensuite ?
    * mettre le pass crypté en session ne sert a rien

  4. #4
    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
    Bloquer le compte un certain temps en cas d'échec consécutifs (piratage par force brute)...

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2008
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2008
    Messages : 215
    Points : 170
    Points
    170
    Par défaut
    Mais en application et en lignes de codes vos conseils sa donne quoi?

    Merci.

  6. #6
    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
    Regarde ma réponse dans ce sujet, je crois qu'elle peut correspondre à ton besoin.

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

Discussions similaires

  1. est ce que mon mvc est correct ?
    Par nouraty dans le forum Langage
    Réponses: 1
    Dernier message: 17/12/2012, 09h23
  2. [Diagramme de Classe] Est ce que mon schema est correct
    Par julien_brunet1 dans le forum Diagrammes de Classes
    Réponses: 6
    Dernier message: 07/07/2011, 21h22
  3. Est-ce que ce schéma semble correct ?
    Par lr dans le forum ORM
    Réponses: 6
    Dernier message: 19/04/2011, 14h37
  4. Réponses: 3
    Dernier message: 25/02/2011, 22h55
  5. Est-ce que cette conception est correcte ?
    Par RAPTISTA dans le forum Schéma
    Réponses: 1
    Dernier message: 02/07/2008, 18h43

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