Protéger l'acces par mot de passe
Résolu/Fermé
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
-
20 sept. 2008 à 16:46
hornetovore Messages postés 84 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 31 juillet 2017 - 22 sept. 2008 à 02:24
hornetovore Messages postés 84 Date d'inscription vendredi 11 avril 2008 Statut Membre Dernière intervention 31 juillet 2017 - 22 sept. 2008 à 02:24
A voir également:
- Protéger l'acces par mot de passe
- Piratage facebook changer mot de passe - Guide
- Protéger un dossier par mot de passe - Guide
- Voir mot de passe wifi android - Guide
- Mot de passe administrateur - Guide
- Outlook mot de passe oublié - Guide
17 réponses
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
20 sept. 2008 à 17:29
20 sept. 2008 à 17:29
Je viens de me rendre compte d'une erreur de debutant, mais ça ne solutionne pas, ça precise l'endroit du problème je pense, l'erreur était dans la ligne d'appel du .js, je l'avais mal formulée, c'est plutôt ça qu'il me fallait:
<script language="javascript" type="text/javascript" src="../js/pass.js"></script>
à la place de :
<link href="../js/pass.js" type="text/javascript">
En réessayant, le message dans la console d'erreur est celui ci:
missing ) after condition : if (username=monlogin && password=monpassword) pour le fichier pass.js
et toujours mon
login is not defined pour le fichier pass.html
<script language="javascript" type="text/javascript" src="../js/pass.js"></script>
à la place de :
<link href="../js/pass.js" type="text/javascript">
En réessayant, le message dans la console d'erreur est celui ci:
missing ) after condition : if (username=monlogin && password=monpassword) pour le fichier pass.js
et toujours mon
login is not defined pour le fichier pass.html
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
20 sept. 2008 à 20:34
20 sept. 2008 à 20:34
suite et fin
soluce trouvée, mon erreur etait celles là:
if (username == "monlogin" && password == "monpaswword")
il fallait ces satanés guillemets, et dans mon cas, c'était & amp (tout attaché), le fofo virait le amp, tout fonctionne nikel en mettant simplement &&, reste que la methode est avec un grand danger niveau securité...
soluce trouvée, mon erreur etait celles là:
if (username == "monlogin" && password == "monpaswword")
il fallait ces satanés guillemets, et dans mon cas, c'était & amp (tout attaché), le fofo virait le amp, tout fonctionne nikel en mettant simplement &&, reste que la methode est avec un grand danger niveau securité...
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
21 sept. 2008 à 00:31
21 sept. 2008 à 00:31
bonjour,
une protection par mot de passe en javascript ne sert à rien! l'utilisateur peut tout voir grâce à un simple clic-droit ^^
une protection par mot de passe en javascript ne sert à rien! l'utilisateur peut tout voir grâce à un simple clic-droit ^^
Mastaz
Messages postés
65
Date d'inscription
jeudi 8 mai 2008
Statut
Membre
Dernière intervention
23 février 2012
8
21 sept. 2008 à 00:46
21 sept. 2008 à 00:46
Oui lol est confond pas Java avec JavaScript :S
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
21 sept. 2008 à 13:17
21 sept. 2008 à 13:17
java, javascript, là je vais passer pour le bros neuneu, mais elle est où la différence?
Après, niveau sécurité, oui il y à effectivement un gros problème, je sais mais comment me conseillez vous de faire alors?
Après, niveau sécurité, oui il y à effectivement un gros problème, je sais mais comment me conseillez vous de faire alors?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
21 sept. 2008 à 17:03
21 sept. 2008 à 17:03
Java et Javascript sont deux langages différents! Javascript est utilisé pour les pages Web et Java c'est plus pour faire des programmes. (Mais beaucoup confondent t'es pas le premier ;) )
Sinon pour la protection par mot de passe tu as deux solutions:
- utiliser une protection par htaccess: ça t'affichera une fenêtre pour te demander un mot de passe quand tu voudras accèder à la page (Pas joli ^^)
- utiliser PHP: là il faut que tu apprennes un peu de PHP et que tu ais un serveur Web ou PHP est installé...
Sinon pour la protection par mot de passe tu as deux solutions:
- utiliser une protection par htaccess: ça t'affichera une fenêtre pour te demander un mot de passe quand tu voudras accèder à la page (Pas joli ^^)
- utiliser PHP: là il faut que tu apprennes un peu de PHP et que tu ais un serveur Web ou PHP est installé...
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
21 sept. 2008 à 19:34
21 sept. 2008 à 19:34
Ok pour java et javascript, compris, merci :)
Si on peut me detailler les methodes, je tenterai l'une et l'autre et choisirai en fonction, pour le php, pas de problèmes, une partie du site est construite en php donc c'est supporté, je debute encore mais j'en apprendrais au passage un peu plus.
Si on peut me detailler les methodes, je tenterai l'une et l'autre et choisirai en fonction, pour le php, pas de problèmes, une partie du site est construite en php donc c'est supporté, je debute encore mais j'en apprendrais au passage un peu plus.
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
21 sept. 2008 à 21:52
21 sept. 2008 à 21:52
voilà en PHP:
<?php
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "monmotdepasse" && $_POST["login"] == "monlogin")
{
echo "Login et mot de passe corrects!";
}
else
{
echo "<form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form>";
}
?>
<?php
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "monmotdepasse" && $_POST["login"] == "monlogin")
{
echo "Login et mot de passe corrects!";
}
else
{
echo "<form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form>";
}
?>
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
21 sept. 2008 à 22:16
21 sept. 2008 à 22:16
vais tenter ça, merci beaucoup donuts08 mais pourquoi c'est plus sécurisé? l'utilisateur peut quand même lire le code source là aussi non?
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
22 sept. 2008 à 01:26
22 sept. 2008 à 01:26
non car le fichier PHP est forcément interprété si tu as PHP d'installé sur ton serveur
je t'explique:
quand un visiteur veut afficher une page, son navigateur envoi une requête à un serveur Web (le tiens), ce serveur lui renvoi la page qu'il a demandé, et son navigateur affiche la page reçu
mais avec PHP, la page qui est sur ton serveur n'est pas envoyée directement, elle est tout d'abord lu par PHP, qui lit et execute le code, le serveur Web ne fait que récupérer le texte qui a été généré par ton code et l'envoi
quand tu fais un echo, ça génère du texte et l'utilisateur ne voit que ça! tu peux toujours essayer avec un clic droit tu verras ^^
je t'explique:
quand un visiteur veut afficher une page, son navigateur envoi une requête à un serveur Web (le tiens), ce serveur lui renvoi la page qu'il a demandé, et son navigateur affiche la page reçu
mais avec PHP, la page qui est sur ton serveur n'est pas envoyée directement, elle est tout d'abord lu par PHP, qui lit et execute le code, le serveur Web ne fait que récupérer le texte qui a été généré par ton code et l'envoi
quand tu fais un echo, ça génère du texte et l'utilisateur ne voit que ça! tu peux toujours essayer avec un clic droit tu verras ^^
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
22 sept. 2008 à 01:32
22 sept. 2008 à 01:32
ah ouaiii, joli, niquel en effet, mais je bloque sur un problème là, j'ai le message qui arrive si je rentre le bon mdp mais j'ai essayé de remplacer la phrase par un lien, j'ai donc mis ça en lieu et place de la phrase:
echo "<a href="Mon_lien">
puis essayé ça:
echo "document.location.href='Mon_lien'";
mais ça ne veut pas, comment on insere un lien pour donner une redirection si le mot de passe est ok?
echo "<a href="Mon_lien">
puis essayé ça:
echo "document.location.href='Mon_lien'";
mais ça ne veut pas, comment on insere un lien pour donner une redirection si le mot de passe est ok?
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
22 sept. 2008 à 01:36
22 sept. 2008 à 01:36
il faut que tu fasse attention aux guillemets ^^
echo "<a href=\"monlien\">texte lien</a>";
N'oublie pas les \ pour protéger les guillemets qui vont apparaitre car sinon PHP croit que tu termines la chaine de caractères et donc te donne une erreur
EDIT:
mets ça tout en haut de ta page (avant le moindre texte) si tu veux rediriger:
header( "Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
echo "<a href=\"monlien\">texte lien</a>";
N'oublie pas les \ pour protéger les guillemets qui vont apparaitre car sinon PHP croit que tu termines la chaine de caractères et donc te donne une erreur
EDIT:
mets ça tout en haut de ta page (avant le moindre texte) si tu veux rediriger:
header( "Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
22 sept. 2008 à 01:41
22 sept. 2008 à 01:41
Ca fonctionne, mais ça m'affiche le lien, on peut faire en sorte que le fait de cliquer sur le bouton amène directement sur la page voulue?
EDIT: tu as editer entre temps ^^, le texte, je le met où, parce que pour etoffer un peu le forulaire, je l'ai inseré dans une page html avec les balises <html ><head > etc...
EDIT: tu as editer entre temps ^^, le texte, je le met où, parce que pour etoffer un peu le forulaire, je l'ai inseré dans une page html avec les balises <html ><head > etc...
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
22 sept. 2008 à 01:46
22 sept. 2008 à 01:46
comme ça?
<?php
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "monmotdepasse" && $_POST["login"] == "monlogin")
{
header( "Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
}
else
{
echo "<form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form>";
}
?>
attention car dans ce cas, il ne doit pas y avoir de commande "echo" devant les "header", et il ne doit pas y avoir de texte ni rien d'autre devant la balise <?php, c'est très important (même pas un saut de ligne d'ailleurs)
<?php
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "monmotdepasse" && $_POST["login"] == "monlogin")
{
header( "Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
}
else
{
echo "<form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form>";
}
?>
attention car dans ce cas, il ne doit pas y avoir de commande "echo" devant les "header", et il ne doit pas y avoir de texte ni rien d'autre devant la balise <?php, c'est très important (même pas un saut de ligne d'ailleurs)
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
22 sept. 2008 à 01:50
22 sept. 2008 à 01:50
arf, j'ai fait ça:
<html>
<head>
<title>pass</title>
<style type="text/css">
.......
</style>
</head>
<body>
<div id="container">
<div id="form">
<?php
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "mdp" && $_POST["login"] == "login")
{
echo "<a href=\"../../.html/kit/dontspeak/\">Entrer</a>";
...
Il y a les div, c'est quand même bon?
EDIT: j'ai tenté de faire comme ça pour voir, j'ai mis les deux ligne à la place du echo "<a href=\"url>text</a>
mais je recois cette erreur quand je valide avec les bons login et mdp:
Warning: Cannot modify header information - headers already sent by (output started at /media/sdb3/jo/serveur/.php/secure/pass.php:5) in /media/sdb3/serveur/.php/secure/pass.php on line 55
Warning: Cannot modify header information - headers already sent by (output started at /media/sdb3/jo/serveur/.php/secure/pass.php:5) in /media/sdb3/serveur/.php/secure/pass.php on line 56
<html>
<head>
<title>pass</title>
<style type="text/css">
.......
</style>
</head>
<body>
<div id="container">
<div id="form">
<?php
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "mdp" && $_POST["login"] == "login")
{
echo "<a href=\"../../.html/kit/dontspeak/\">Entrer</a>";
...
Il y a les div, c'est quand même bon?
EDIT: j'ai tenté de faire comme ça pour voir, j'ai mis les deux ligne à la place du echo "<a href=\"url>text</a>
mais je recois cette erreur quand je valide avec les bons login et mdp:
Warning: Cannot modify header information - headers already sent by (output started at /media/sdb3/jo/serveur/.php/secure/pass.php:5) in /media/sdb3/serveur/.php/secure/pass.php on line 55
Warning: Cannot modify header information - headers already sent by (output started at /media/sdb3/jo/serveur/.php/secure/pass.php:5) in /media/sdb3/serveur/.php/secure/pass.php on line 56
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
22 sept. 2008 à 01:59
22 sept. 2008 à 01:59
non, il ne faut absolument rien devient les "header"
d'ailleurs ne mets aucun code HTML car de toutes manières tu vas rediriger l'utilisateur, il n'a donc pas besoin de voir quoi que ce soit...
tu vas me dire "mais alors si le mdp est faux il faut bien que j'affiche quelque chose?" et dans ce cas je te répondrai ceci:
<?php
$mdpok = false;
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "monmotdepasse" && $_POST["login"] == "monlogin")
{
$mdpok = true;
header( "Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
}
?>
<html>
<head>
</head>
<body>
<?php
if( !$mdpok )
echo "<form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form>";
?>
</body>
</html>
d'ailleurs ne mets aucun code HTML car de toutes manières tu vas rediriger l'utilisateur, il n'a donc pas besoin de voir quoi que ce soit...
tu vas me dire "mais alors si le mdp est faux il faut bien que j'affiche quelque chose?" et dans ce cas je te répondrai ceci:
<?php
$mdpok = false;
if(isset($_POST["mdp"]) && isset($_POST["login"]) && $_POST["mdp"] == "monmotdepasse" && $_POST["login"] == "monlogin")
{
$mdpok = true;
header( "Status: 301 Moved Permanently");
header("Location: http://www.votresite.com/unepage.htm");
}
?>
<html>
<head>
</head>
<body>
<?php
if( !$mdpok )
echo "<form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form>";
?>
</body>
</html>
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
22 sept. 2008 à 02:10
22 sept. 2008 à 02:10
Parfais... pas d'autre mot, reste que je n'ai pas tout compris, les header surtout et le if( !$mdpok ).
Que je ne vienne pas redemander pour un truc avoisinant un autre jour ;)
Que je ne vienne pas redemander pour un truc avoisinant un autre jour ;)
donuts08
Messages postés
519
Date d'inscription
dimanche 13 novembre 2005
Statut
Membre
Dernière intervention
15 octobre 2008
39
22 sept. 2008 à 02:21
22 sept. 2008 à 02:21
en fait, quand un fichier est créé, il y a une entête et un contenu pour ce fichier, or, une fois qu'il y a du contenu (que tu mets une ligne ou n'importe quoi d'autre), tu ne peux plus modifier l'entête
header, c'est une fonction PHP qui permet de générer une partie de l'entête du fichier, ici on lui dit que le fichier est une redirection mais seulement si le mot de passe est invalide, si il est valide on change pas l'entête comme ça le fichier reste un document HTML
tu comprends donc que tant qu'on ne sait pas si le mdp est valide, on ne peut se permettre de mettre du contenu
ensuite pour le if($mdpok), c'est pour que le code soit plus clair, sinon tu aurais pu faire un énorme "echo" (mais c'est très moche je trouve ^^)
echo "<html><head></head><body><form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form></body></html>";
header, c'est une fonction PHP qui permet de générer une partie de l'entête du fichier, ici on lui dit que le fichier est une redirection mais seulement si le mot de passe est invalide, si il est valide on change pas l'entête comme ça le fichier reste un document HTML
tu comprends donc que tant qu'on ne sait pas si le mdp est valide, on ne peut se permettre de mettre du contenu
ensuite pour le if($mdpok), c'est pour que le code soit plus clair, sinon tu aurais pu faire un énorme "echo" (mais c'est très moche je trouve ^^)
echo "<html><head></head><body><form method=\"post\" action=\"\" name=\"form\"><input type=\"text\" name=\"login\" /><input type=\"text\" name=\"mdp\" /><input type=\"submit\" /></form></body></html>";
hornetovore
Messages postés
84
Date d'inscription
vendredi 11 avril 2008
Statut
Membre
Dernière intervention
31 juillet 2017
6
22 sept. 2008 à 02:24
22 sept. 2008 à 02:24
Ok, vais travailler là dessus pour en apprendre un peu plus, je te remercie pour ton aide en tout cas ;)