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 :

Elle est bien la Sécurité de mon code source ?


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Elle est bien la Sécurité de mon code source ?
    Salut !

    Voila mon code source :

    Qu'est-ce que vous pensez de lui (côté sécurité)?

    Est-ce qu'il peut être cracker?

    Y a-t-il des failles dans mon code?

    Comment puis-je l'améliorer?

    Page index.php

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    	<head>
    		<title>Connexion au site</title>
    		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    		<link rel="stylesheet" media="screen" type="text/css" title="Design" href="Designs/Design.css" />
    	</head>
             <body>
                 <form method="post" action="VerifLogin.php">
                     <table border="0" width="400" align="center">
                         <tr>
                             <td width="200"><b>Vôtre login</b></td>
                             <td width="200">
                                 <input type="text" name="login">
                             </td>
                         </tr>
                         <tr>
                             <td width="200"><b>Vôtre mot de passe<b></td>
                             <td width="200">
                                 <input type="password" name="password">
                             </td>
                         </tr>
                         <tr>
                             <td colspan="2">
                                 <input type="submit" name="submit" value="Login">
                             </td>
                         </tr>
                     </table>
                 </form>
             </body>
    </html>
    ----------------------------------------------------------------
    Page VerifLogin.php


    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <?php
     
    if (isset($_POST['submit']) && $_POST['submit'] == 'Login') 
         { 
             if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['password']) && !empty($_POST['password']))) 
    		         { 
    				     if ($_POST['login'] == 'login' And $_POST['password'] == 'password')
    					     { 
                                 session_start();
     
    							 $loginOK = $_POST['login'];
                                 $_SESSION['login'] = $loginOK;
                                 header('Location: Bienvenue.php');							 
                             }
                         else
                             {
    						     header('Location: index.php');
                                 exit();							 
                             }
                     }
    		 else
                     {
    				     header('Location: index.php');
                         exit();							 
                     }
    	 }
    else
         {
    		 header('Location: index.php');
     		 exit();					 
         }	 
     
    ?>
    ----------------------------------------------------------
    Page Bienvenue.php

    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
    <?php
     
    	 session_start();  
         if (isset($_SESSION['login'])) 
    	     { 
     
     
    ?>
    <p>helo world</p>
     
    <p><a href="deconnexion.php">Deconnexion</a> !</p>
    <?php
     
             }
    	 else
    	     { 
                 header ('Location: index.php'); 
                 exit();  
             }  
    ?>
    ---------------------------------------------------------------
    Page deconnexion.php

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
    session_start();
    session_unset();
    session_destroy();
    header('Location: index.php');
    exit();
    ?>
    Merci!

  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
    Points : 44 155
    Points
    44 155
    Par défaut
    C'est un code avec un seul identifiant écrit en dur donc ca limite la manoeuvre.

    Il est conseillé d'utiliser session_regenerate_id() quand il y a modification des droits accordés par une session, ceci afin de rendre caduque le vol de session avant l'identification.

    Sinon pour la syntaxe PHP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $loginOK = $_POST['login'];
     $_SESSION['login'] = $loginOK;
    La variable intermédiaire ne sert a rien =>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $_SESSION['login'] =  $_POST['login'];
    session_unset() ne s'utilise plus, tu peux simplement écrire
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Futur Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Je vais ajouter un sleep(1) pour ralentir le brute force et l'augmenter à chaque 5 tentative échoué.

    Merci sabotage !!

  4. #4
    Membre confirmé Avatar de Gaulouis
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Octobre 2015
    Messages
    252
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2015
    Messages : 252
    Points : 476
    Points
    476
    Par défaut
    Citation Envoyé par laz0n3 Voir le message
    Je vais ajouter un sleep(1) pour ralentir le brute force et l'augmenter à chaque 5 tentative échoué.
    Et tu comptes te baser sur quoi pour incrémenter les tentatives ?
    Tu peux essayer d’ajouter un CAPTCHA.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['password']) && !empty($_POST['password'])))
    Éviter les ligne de code trop longue. Là, tu peux simplifier.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!empty($_POST['login']) && !empty($_POST['password']))
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ($_POST['login'] == 'login' And $_POST['password'] == 'password')
    Éviter les affectations dans les conditions.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ('login' == $_POST['login'] And 'password' == $_POST['password'])
    Bien a toi

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

Discussions similaires

  1. NoClassDefFoundError, avec une interface, elle est bien là
    Par robert_trudel dans le forum Spring
    Réponses: 2
    Dernier message: 05/06/2008, 16h07
  2. lib manquante, mais elle est bien là
    Par robert_trudel dans le forum Struts 2
    Réponses: 1
    Dernier message: 14/03/2008, 10h23
  3. [Zlib] Dll injoignable alors qu'elle est bien installée
    Par Jamming Ed dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 07/11/2005, 15h45
  4. Réponses: 1
    Dernier message: 21/02/2005, 12h40

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