Php / formulaire
                                    
                        erina                    
                                    -
                                     
Alain42 -
        Alain42 -
        Bonjour, j'aimerais votre avis sur un code que j'ai fait qui consiste à accéder par un formulaire à une page protégée , je voudrais savoir si ya des choses qu'on peut améliorer niveau sécurité et propreté :
<form method="post" action="gloup.php">
<input type="text" name="username" value="Erina" > <br />
<input type="password" name="pass" value="********"> <br /> <br />
<input type="submit" value="valid">
</form>
	
<?php
	
if(isset($_POST['username']) && isset($_POST['pass']))
{
$username = $_POST['username'];
$pass = $_POST['pass'];
	
if($username == 'erina' && $pass = 'couki')
{
header('Location:gloup.php');
die;
}
else
{
header('Location:vok.php');
die;
}
}
?>
Donc ici dans mon formulaire , si la valeur du pseudo vaut erina et celle du mot de passe vaut couki j'accède à la page gloup.php sinon c'est la page vok.php qui s'affiche .
merci de votre aide .
                
            
                
    
    
    
        <form method="post" action="gloup.php">
<input type="text" name="username" value="Erina" > <br />
<input type="password" name="pass" value="********"> <br /> <br />
<input type="submit" value="valid">
</form>
<?php
if(isset($_POST['username']) && isset($_POST['pass']))
{
$username = $_POST['username'];
$pass = $_POST['pass'];
if($username == 'erina' && $pass = 'couki')
{
header('Location:gloup.php');
die;
}
else
{
header('Location:vok.php');
die;
}
}
?>
Donc ici dans mon formulaire , si la valeur du pseudo vaut erina et celle du mot de passe vaut couki j'accède à la page gloup.php sinon c'est la page vok.php qui s'affiche .
merci de votre aide .
        A voir également:         
- Php / formulaire
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Formulaire de reclamation instagram - Guide
- Easy php - Télécharger - Divers Web & Internet
- Confirmer le nouvel envoi du formulaire err_cache_miss - Forum Webmastering
7 réponses
                        
                    çà ne répond pas trop à ma question , j'aimerais savoir si ce code a des problèmes de sécurité et si au niveau de la syntaxe il est comment dire " propre" , merci
                
                
    
                
                        
                    personne ne peut me dire si je peux améliorer le script au niveau de la sécurité ou de la syntaxe svp ?
                
                
    
                
                        
                    personne peut m'aider pour cette petite question , ici il s'agit juste d'accéder à une page , dois je par exemple utilise htmlspecialchars , le code est il propre...?
merci
    
                merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
                        
                    Bonjour,
Déja quand tu mets:
<input type="text" name="username" value="Erina" >
tu vas donner la moité du code, puisque tu affiche l'username, avec un emajuscule d'ailleurs qui ne serra pas correcte puisque tu fais plus loin
if($username == 'erina'
Il est bon aussi de faire un petit coup de htmlentities(...) pour éviter les codes malicieux
un contrôle aussi sur la longueur
Regardes aussi sur Google comment mettre en plac le mécanisme des sessions PHP (avec cookies)
Inspires toi de ça:
</code>
    
                Déja quand tu mets:
<input type="text" name="username" value="Erina" >
tu vas donner la moité du code, puisque tu affiche l'username, avec un emajuscule d'ailleurs qui ne serra pas correcte puisque tu fais plus loin
if($username == 'erina'
Il est bon aussi de faire un petit coup de htmlentities(...) pour éviter les codes malicieux
un contrôle aussi sur la longueur
Regardes aussi sur Google comment mettre en plac le mécanisme des sessions PHP (avec cookies)
Inspires toi de ça:
<?php
// Les identifiants sont transmis ?
        if(!empty($_POST['username']) && !empty($_POST['pass'])) {
			// verif integrite des saisies, pas de balises html, longueur maxi 15 caracteres lettres ou chiffres
			$RE = "^[a-zA-Z0-9][a-zA-Z0-9_]{1,15}$";// caract acceptes pour login et mdp et  longueur chaine 15 maxi
			if (ereg($RE,$_POST['username']) && ereg($RE,$_POST['password'])){
				$username = htmlentities( $_POST['login']) ;
				$pass = htmlentities($_POST['password']) ;
				// si les deux saisies sont ok on continue l'auth
				 if($username == 'erina' && $pass = 'couki'){
					header('Location:ta_page_destination.php');
					
				}else{
					header('Location:ta_page_saisie_login_pass.php');
				
				}
			}
			
		}else {
         // si les identifiants n'ont pas ete saisis
		 echo  'Veuillez entrer vos identifiants!';
     }
?>
et en haut de chaque page à protéger tu mets:
<code><?php
session_start() ;
if(!isset($_SESSION['page']) || $_SESSION['page'] == ""){
// si deconnecté ou accès direct a la page sans être loggué, on renvoie à la page de saisie des login et pass
// attention le header (  ) ne doit êtr e précédé d'aucun caractère HTML
	header("Location: ta_page_formulaire_de_saisie_login_pass.html") ;
}
else
{
?>
<html>
ta page html
</html>
<?php
}
?>
</code>
                        
                    Salut,
c'est encore moi, je viens de me rendre compte que j'ai oublié un bout de code, alors la première partie est:
Sinon une autre solution pour protéger toutes les pages qui sont dans un sous répertoire est de mettre un fichier
.htaccess et un fichier .htpasswd dans ce répertoire
Dès que le serveur trouve un fichier .htaccess dans le répertoire qui contient la page appelée, il ouvre une fenêtre pour saisir login et mot de pass
et il les vérifie par rapport à ceux que tu as rentrés (codés) dans .htpasswd
Vas voir sur Google comment faire
    
                c'est encore moi, je viens de me rendre compte que j'ai oublié un bout de code, alors la première partie est:
<?php
// Les identifiants sont transmis ?
        if(!empty($_POST['username']) && !empty($_POST['pass'])) {
			// verif integrite des saisies, pas de balises html, longueur maxi 15 caracteres lettres ou chiffres
       			$RE = "^[a-zA-Z0-9][a-zA-Z0-9_]{1,15}$";// caract acceptes pour login et mdp et  longueur chaine 15 maxi
			if (ereg($RE,$_POST['username']) && ereg($RE,$_POST['password'])){
				$username = htmlentities( $_POST['login']) ;
				$pass = htmlentities($_POST['password']) ;
				// si les deux saisies sont ok on continue l'auth
				 if($username == 'erina' && $pass == 'couki'){
                                            session_start() ;//début de la session
				         $_SESSION['page'] = $login ;//enregistrement d'une variable de session (page), ici le login de l'utilisateur:
					header('Location:ta_page_destination.php');
					
				}else{
					header('Location:ta_page_saisie_login_pass.php');
				
				}
			}
			
		}else {
         // si les identifiants n'ont pas ete saisis
		 echo  'Veuillez entrer vos identifiants!';
     }
?>
Sinon une autre solution pour protéger toutes les pages qui sont dans un sous répertoire est de mettre un fichier
.htaccess et un fichier .htpasswd dans ce répertoire
Dès que le serveur trouve un fichier .htaccess dans le répertoire qui contient la page appelée, il ouvre une fenêtre pour saisir login et mot de pass
et il les vérifie par rapport à ceux que tu as rentrés (codés) dans .htpasswd
Vas voir sur Google comment faire
