|
|
|
|
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 .
Bonjour,
<?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,
<?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 |