Faille sécurité pour mon site

Bonjour,

Je viens de m'apercevoir que j'ai une faille de sécurité sur mon site.
J'ai un formulaire de connexion pour que les membres et l'administrateur puissent se connecter.

ce qui donne depuis l'URL pour afficher le formulaire
http://localhost/mon_site/index.php?body=formulaire_connexion

avec les identifiants une fois connecter cela ça donne...
http://localhost/mon_site/index.php?body=menu_admin

Mais malheureusement sans passer par le formulaire de connexion en tapant simplement dans l'URL
index.php?body=menu_admin

On accède à la partie administration.

Pouvez-vous m'aider j'ai essayé de comprendre les tutos concernants les failles de sécurité mais je ne comprend pas trop bien ce qu'il faut faire pour remédier à ce problème.

Merci beaucoup de m'aider et de consacrer un peu de votre temps.

7 réponses

  1. Salut, les url en localhost y a que toi qui pourra les voir. Il est programmé en quoi le site en php??? et comment ce connecte tes membre, cookie, session???
    0
    1. Bonjour

      Déjà j'ai mis l'exemple en localhost mais j'ai le même problème à distant.

      Le site est en PHP5 avec connexion par SESSION.

      Merci de votre aide
      0
      1. pardon j'ai cru que tu avais mis les url pour que l'on voit direct sur ton site.
        0
    2. et bien tu fais une fonction qui teste la valeur de la session du style:
      function user(){   
          if(isset($_SESSION['connexion']){   
              return true;   
          }else{   
              return false;   
          }   
      }   
      


      Je sais pas trop je le fais a la volé dans l'esprit ça doit etre quelque chose comme ça, en gros tu fais une fonction qui retourne vrai si la personne est connecté.

      puis dans ton fichier qui pose probleme tu dois faire un truc comme ça:

      if($body=='menu_admin'){   
      //t'affiche le menu   
      }else{   
      //t'affiche le formulaire   
      }   
      


      et bien maintenant tu fais ça, tu teste en plus la connexion:

      if($body=='menu_admin' && user()){   
      //t'affiche le menu   
      }else{   
      //t'affiche le formulaire   
      }   
      
      0
      1. Merci, je t'envoie mon script connexion si tu peux me dire ce que tu en penses il y a très peu de temps que je me suis mis au PHP alors je me demande si ce que j'ai fait ça va ?

        Tu es sympa si tu peux m'aider.
        Merci

        <?php
        }
        //on regarde si le login est défini
        if (isset($_SESSION['login_utilisateur']) && $_SESSION['login_utilisateur'] != NULL)
        {
        	$login_utilisateur = $_SESSION['login_utilisateur'];
            
        //si le login est adminmusique
        	if ( $login_utilisateur == 	'adminmusique' )
        	{
        //on est administrateur 
        		$prenom_utilisateur = 'administrateur';
        //et on cré le lien d'administrateur
        		$admin = '<img src="image/admin.png" alt="admin" title="admin" border="0" /><a href="index.php?body=menu_admin">[Administration]';
        //on affiche pas le lien mon espace
        		$profil = '' ;
        //sinon, on est $_SESSION['prenom']
        	}
        	else
        	{
        		$prenom_utilisateur = (utf8_decode ($_SESSION['prenom_utilisateur']));
        //on affiche pas de lien administration
        		$admin = '' ;
        //et on cré le lien mon espace
        		$profil = '<img src="image/espace.png"/><a href="index.php?body=menu_profil&amp;body_e=e_liste_profil">[ Mon espace ]</a>' ;     
        	}
        ?>
        
        <div class="bonjour"><?php echo '&nbsp;<img src="image/bouton_ok.png" alt="bonjour"/>&nbsp;Bonjour '.$prenom_utilisateur ;?></div>
        
        <div class="espace_deconnexion">
        	<?php echo $admin;?>
        	<?php echo $profil;?>
        
        		&nbsp;<img src="image/deconnexion.png" alt="connexion"/><a href="index.php?action=deconnexion">[ Déconnexion ]&nbsp;</a>
        </div>
        
        <?php
        }
        else
        {
        ?> 
        
        <span class="connecter">
        		&nbsp;<img src="image/connection.png" alt="connexion"/><a href="index.php?body=formulaire_connexion">&nbsp;Se connecter</a>
        </span>
        
        <?php
        }
        ?>
        
        0
        1. Bonjour

          Pouvez-vous m'aider en me disant ce que vous en pensez au niveau sécurité.
          Malheureusement je m'y connait pas grand chose là-dessus.
          En tapant l'URL de ma partie administration en dur dans la barre d'adresse on accède à la partie admin de mon site.
          Alors c'est pas normal.
          Merci beaucoup de votre aide.

          <?php
          //on teste si le visiteur a soumis le formulaire
          if (isset($_POST['submit']))
          {
          //on vérifie si le login et password ne sont pas vide, nulle ou non définie
          	if (!empty($_POST['login_utilisateur']) && (!empty($_POST['password_utilisateur'])))
          	{
          //on récupère les valeurs des champs
          		$login_utilisateur = trim($_POST['login_utilisateur']); //supprime les espaces en début et fin de chaine
          		$login_utilisateur = htmlspecialchars($login_utilisateur, ENT_QUOTES);// supprime les caracteres speciaux html dans la chaine
          		$login_utilisateur = stripslashes($login_utilisateur);// Supprime les antislashs d'une chaîne. 
          
          		$password_utilisateur = trim($_POST['password_utilisateur']);
          		$password_utilisateur = htmlspecialchars($password_utilisateur, ENT_QUOTES);
          		$password_utilisateur = stripslashes($password_utilisateur);
                  
          //on sélectionne la table utilisateur et on teste le champ login
          		$resultats = $bdd->query("SELECT * FROM utilisateur WHERE login_utilisateur='".$login_utilisateur."'");
          // on affiche la requète
          		$donnees = $resultats->fetch(PDO::FETCH_ASSOC);
          //si le password est différent on met un message d'erreur
          		if($donnees['password_utilisateur'] != $password_utilisateur)
          		{
          			echo "<span class='erreur'>Mauvais mot de passe...ou Mauvais login...<br/> Merci de recommencer.</span>";
          		}
          //sinon c'est bon
          		else
          		{
          //on cré des variables accessibles depuis toutes les pages
          			$_SESSION['login_utilisateur']= 	$login_utilisateur;
          			$_SESSION['id_utilisateur']=		$donnees['id_utilisateur'];    
          			$_SESSION['password_utilisateur']=	$donnees['password_utilisateur'];           
          			$_SESSION['nom_utilisateur']=		$donnees['nom_utilisateur'];
          			$_SESSION['prenom_utilisateur']=	$donnees['prenom_utilisateur'];   
          			$_SESSION['email_utilisateur']=		$donnees['email_utilisateur'];
          	       
          // la fonction de redirection ------------
          function redir($url){
          echo "<script language=\"javascript\">";
          echo "window.location='$url';";
          echo "</script>";
          }
          // Utiliser la redirection ---------------
          redir("./index.php");
          
          		}
          	}
          	else
          	{
          		echo "<span class='erreur'>Veuillez remplir tous les champs !!!</span>";
          	}
          }
          
          include('formulaire_connexion.php');
          ?>
          
          0
          1. Bonjour,

            Si tu as toujours des soucis de sécurité avec ton site internet, je te propose de m'écrire à mon adresse mail pour qu'on puisse en parler plus en détail !

            A bientôt peut-être,

            Meyow
            0
            1. Bonjour

              oui malheureusement j'ai toujours mon problème de sécurité mais je n'y comprend pas grand chose sur les tutos.
              Alors vraiment si vous pouvez m'aider ça serai très sympa de votre part.
              Mais je ne sais pas accèder à votre mail pour qu'on puisse en discuter.
              Merci de votre réponse.
              0