script vérification + redirection vers autre page

script vérification + redirection vers autre page - PHP - Programmation

Marsh Posté le 08-03-2018 à 15:44:57    

salut, je suis bloqué sur la création d'une page web qui doit vérifier l'username et le mot de passe s'il existe dans la bdd, puis rediriger vers une autre page si l'uname et le psw est correct  
donc bla bla j'ai mis du  css  
ensuite :  

 
<h2>Authentification</h2>
   
<div class="imgcontainer">
    <img src=logo.png" alt="Avatar" class="avatar">
  </div>
 
  <div class="container">
    <label for="uname"><b>Utilisateur</b></label>
    <input type="text" placeholder="Entrez Utilisateur" name="uname" required>
 
    <label for="psw"><b>Mot De Passe</b></label>
    <input type="password" placeholder="Entrez Mot De Passe" name="psw" required>
         
    <button type="submit">Se Connecter</button>
     
    <label>
      <input type="checkbox" checked="checked" name="remember"> Se Rappeller De Moi
    </label>
  </div>
 <div class="container" style="background-color:#f1f1f1">
  </div>
 
</form>
</body>
</html>
 
 
donc, j'ai juste besoin de quoi écrire pour la vérification dans la bdd puis la redirection si c'est juste  :??:  
 
 
 
 

Reply

Marsh Posté le 08-03-2018 à 15:44:57   

Reply

Marsh Posté le 08-03-2018 à 15:59:49    

Tu peux t'inspirer de ce TP openclassroom pour la connexion : https://openclassrooms.com/courses/ [...] t-de-passe
Ensuite, tu peux aller plus loin dans le cours pour avoir une idée de comment lier ta page de connexion à la bdd

Reply

Marsh Posté le 08-03-2018 à 17:40:54    

j'ai vu un peu le cours, mais ça montre pas comment faire :c
ou bien chui stupide :d

Reply

Marsh Posté le 12-03-2018 à 15:09:26    

Un peu :D
Tu remplaces le simple test de la partie "// Si le mot de passe est bon" par une requête SQL qui va rechercher en BD un couple identifiant/mdp.
Si couple trouvé, dans la partie "// On affiche les codes", au lieu d'afficher du HTML, tu fais une redirection via la fonction header() par ex.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-03-2018 à 12:03:22    

Hello,
 
Personnellement, pour tout les sites que je code, je viens récup les données de mes champs en JS, puis j'envoi les informations dans un script php (via AJAX), dans le script PHP j'attaque ma base avec les valeurs, et j'analyse le résultat.
 
Ensuite mon script php retourne une réponse en fonction de si la connexion est ok ou non, et le JS vient afficher le résultat à l'utilisateur.
 
Ça peut te paraître un peu gros mais, quand on a fait 1 ou 2 fois, on ce rend compte que c'est très simple, et en plus très propre car y'a pas de changement de page entre le test côté utilisateur, et la réponse côté serveur :)

Reply

Marsh Posté le 23-03-2018 à 15:19:57    

Et t'envoies le mdp en clair au serveur par une requête ajax :??:


Message édité par rufo le 23-03-2018 à 15:20:12

---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-03-2018 à 16:04:21    

Je récupère la valeur de cette façon :
 
$mdp = md5($_POST['mdp']);
 
Donc c'est pas du clair clair .-.

Reply

Marsh Posté le 23-03-2018 à 16:15:47    

$_POST['mdp'] contient bien le mdp en clair, non ? Le javascript (ajax dans ton cas) envoie bien en clair le mdp au serveur ?


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 23-03-2018 à 16:43:02    

Yep, mon JS envoi le mdp en clair au serveur.
 
Et ainsi mon serveur le crypte avant de comparer avec le mdp en bdd

Reply

Marsh Posté le 23-03-2018 à 17:08:51    

tu peux tjrs crypter ton mdp du coté client ("md5 js" -> premier résultat : https://github.com/blueimp/JavaScript-MD5 ) et ensuite le poster via ajax. Tu compares alors le string recu à la BDD (en partant du principe que les mdp sont eux-mêmes cryptés en md5 dans la bdd).


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 23-03-2018 à 17:08:51   

Reply

Marsh Posté le 23-03-2018 à 17:12:23    

Yep, c'est vrai que ça serait plus secure, j'y avait même pas pensé :o
 
Et je pense passer au hash aussi niveau cryptage, il semble bien plus secure que le md5


Message édité par HaiDZ le 23-03-2018 à 17:12:35
Reply

Marsh Posté le 23-03-2018 à 18:42:48    

SICKofitALL a écrit :

tu peux tjrs crypter ton mdp du coté client ("md5 js" -> premier résultat : https://github.com/blueimp/JavaScript-MD5 )

MD5 c'est une fonction de hashage, pas de cryptage et pour les mots de passe (sans "salt"/sel en plus) c'est plutôt dépassé... :o

Reply

Marsh Posté le 23-03-2018 à 20:46:02    

Non mais MD5 il faut oublier, c'est totalement obsolète pour un tel usage.
Envoyer le mot de passe en clair ou en crypté ne change pas grand chose, la seule différence c'est que la personne qui intercepte le mdp pourra tenter de l'utiliser sur une autre appli au cas où la personne utilise les mêmes identifiants ailleurs.
 
La sécurité de la transaction se gère avec le SSL. Et on peut très bien faire une requête AJAX en SSL. Néanmoins cela demande de gérer le retour d'authentification par JS et donc charger/modifier le contenu par JS.


---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
Reply

Marsh Posté le 23-03-2018 à 22:49:45    

rat de combat a écrit :

MD5 c'est une fonction de hashage, pas de cryptage et pour les mots de passe (sans "salt"/sel en plus) c'est plutôt dépassé... :o


Oui, le terme était mal choisi car pas précis. Mais pour un usage "domestique" ca dépanne.


---------------
We deserve everything that's coming...
Reply

Marsh Posté le 23-03-2018 à 22:50:52    

MaybeEijOrNot a écrit :

Non mais MD5 il faut oublier, c'est totalement obsolète pour un tel usage.
Envoyer le mot de passe en clair ou en crypté ne change pas grand chose, la seule différence c'est que la personne qui intercepte le mdp pourra tenter de l'utiliser sur une autre appli au cas où la personne utilise les mêmes identifiants ailleurs.
 
La sécurité de la transaction se gère avec le SSL. Et on peut très bien faire une requête AJAX en SSL. Néanmoins cela demande de gérer le retour d'authentification par JS et donc charger/modifier le contenu par JS.


En effet, mais c'est bien au delà de la demande initiale ;)


---------------
We deserve everything that's coming...
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed