Bonjour à tous,
je dois réaliser un logiciel ou plusieurs personnes pourront se connecter avec différents profil et donc n'ayant pas accès à toutes les pages.
L’accès au logiciel doit être un minimum sécurisé car il y a des données confidentielles et c'est là dessus que j'aurais besoin d'un coup de main. J'ai commencé à regarder les fonctions crypt() et sha1() mais j'ai un peu de mal.
Donc voici où j'en suis:
Fichier d'authentification.php
Code html : 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 <html> <head> <title>Page d'identification</title></head> </head> <body> <p>Veuillez entrer votre identifiant et votre mot de passe</p> <form method="post" action="verif.php"> <p> <label for="nom">Identifiant : </label> <input type="text" name="login"> </p> <p> <label for="motdepasse">Mot de passe : </label> <input type="password" name="motdepasse"> </p> <p> <input type = "submit" value = "Se connecter"> </p> </form> <p> </body> </html>
Fichier Verif.php
Fichier verification.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
34
35
36
37
38
39
40
41
42
43
44
45
46
47 <?php require ("verification.php"); // Initialisation de la session session_start(); // Si on reçoit les données du formulaire if ( isset( $_POST['login'] ) && isset( $_POST['motdepasse'] ) ) { // On les récupère $nom = $_POST['login']; $motdepasse = $_POST['motdepasse']; // On teste si le mot de passe est valide if ( verification ($nom, $motdepasse) ) { // Le mot de passe est valide, l'utilisateur est identifié // On change d'identifiant de session session_regenerate_id(); // On sauvegarde son nom dans la session $_SESSION['nom'] = $nom ; $message = 'Vous êtes correctement identifié' ; } else { // Sinon on avertit l'utilisateur $message = 'Mot de passe incorrect' ; $message .='<a href="auth.php"> retour</a>' ; } } else { // Un des champs n'est pas rempli $message = 'le login ou le mot de passe est vide' ; $message .= '<a href="auth.php"> retour</a>' ; } ?> <html> <head><title>Identification</title></head> <body> <p><?php echo $message ?></p> </body> </head> </html>
Donc s'il y a moyen de faire plus simple, plus propre, je veux apprendre, donc je suis preneur. Pour ce qui est de la page d'authentification c'est très basique, donc si vous avez de quoi améliorer ça aussi, je suis preneur.
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 function verification($nom, $pass) { // Connexion SQL $dbhote = 'localhost' ; $dbuser = 'root' ; $dbpass = 'monpass' ; $dbbase = 'mabase' ; $dsn = "mysql:host=$dbhote;dbname=$dbbase" ; $dbh = new PDO($dsn, $dbuser, $dbpass); // Création de la requete SQL $nom_sql = $dbh->quote($nom); $pass_sql = $dbh->quote($pass); $sql = "SELECT count(*) as nbres FROM utilisateur " . "WHERE UtilisateurNom = $nom_sql AND UtilisateurPswd = $pass_sql" ; //Exécution de la requete SQL $result = $dbh -> query ($sql); $row = $result -> fetch(); $result = null ; if ($row['nbres'] == 1) { return TRUE ; } else { return FALSE ; } } ?>
Merci pour votre aide...
Melwin
Partager