Protéger Par Mot De Passe De La Page
J'ai pris le code suivant à partir d'une autre page web "http://www.javascriptkit.com/script/cut10.shtml".
<SCRIPT>
function passWord() {
var testV = 1;
var pass1 = prompt('Please Enter Your Password',' ');
while (testV < 3) {
if (!pass1) history.go(-1);
if (pass1.toLowerCase() == "letmein") {
alert('You Got it Right!');
window.open('protectpage.html');
break;
}
testV+=1;
var pass1 = prompt('Access Denied - Password Incorrect, Please Try Again.','Password');
}
if (pass1.toLowerCase()!="password" & testV ==3) history.go(-1);
return " ";
}
</SCRIPT>
<CENTER>
<FORM>
<input type="button" value="Enter Protected Area" onClick="passWord()">
</FORM>
</CENTER>
Il ne fonctionne que dans le cas où le mot de passe est entré deuxième fois, mais pas quand il est entré en premier temps. Lorsque vous entrez le mot de passe il est dit mauvais mot de passe en vous invitant à saisir le mot de passe à nouveau, puis il passe à travers.J'ai besoin d'un script qui doit me demander le mot de passe correct, dans le cas où je saisissez le mauvais mot de passe. Quelqu'un peut-il m'aider avec le code que je suis un débutant en JavaScript.
- Que le lien fonctionne bien????
- fonctionne très bien pour moi...
- Essayez cette
<SCRIPT> function passWord() { var testV = 1; var pass1 = prompt('Please Enter your password',' '); while (testV < 3) { if (!pass1) history.go(-1); if (pass1.toLowerCase() == "Your Password Here") { alert('Password correct !'); window.open('yourProtectedpage.html'); break ; } testV+=1; var pass1 = prompt('Accès denied - Wrong Password.','Password'); } if (pass1.toLowerCase()!="Your Password" & testV ==3) history.go(-1); return " "; } </SCRIPT> <CENTER> <FORM> <input type="button" value="Page Protected by Password" onClick="passWord()"> </FORM> </CENTER>
Vous devez vous connecter pour publier un commentaire.
Votre code s'affiche à travail lors de la visite de le lien.
Je sais que vous êtes en train d'apprendre. Encore, vous ne devriez pas faire d'authentification comme cela, mais comme vous n'êtes pas vraiment protéger quoi que ce soit. N'importe qui peut lire le code source en utilisant l'option "voir le Code de la Page" option dans n'importe quel navigateur (généralement un clic droit sur la page). Cela signifie tout le monde peut facilement obtenir votre mot de passe.
Vrai pour l'authentification, vous devriez être en utilisant un langage côté serveur (comme PHP), ou Authentification HTTP Digest configuré par votre serveur web. Digest est un peu en dehors de la date qu'il utilise MD5, mais c'est un million de fois mieux que ce que vous faites.
Pour plus d'informations sur la configuration HTTP Digest avec un serveur web Apache voir:
http://httpd.apache.org/docs/2.2/mod/mod_auth_digest.html
Pour en faire de même avec Nginx:
http://wiki.nginx.org/HttpAuthDigestModule
La L'authentification HTTP de Base fonctionne aussi, mais il transmet le mot de passe dans le navigateur de l'utilisateur en texte clair. Avec HTTP digest le mot de passe est haché.
Sachant que vous êtes en train d'apprendre le JavaScript, votre meilleur pari est de configurer le serveur web que vous utilisez. Puisque la plupart des services d'hébergement web utilisez Apache, vous pouvez probablement utiliser un .fichier htaccess. Vous pouvez rechercher ".htaccess http digest" pour des tutoriels sur la façon de le faire.
Certains services d'hébergement web ont des panneaux de contrôle qui ont un dispositif pour protéger les répertoires à l'aide de Digérer/Basic auth. Dans cPanel, ce qui est assez fréquent, il est appelé "Mot De Passe Protéger Les Répertoires".
Si vous avez été plus avancé, je suggère de le faire en PHP, mais c'est un sujet assez complexe.
Essayer cette.. Juste ajouter accès refusé invite à l'intérieur de la fausse affaire...
J'ai utilisé exactement le même code que vous avez et le problème, c'est la première fois pour ne savons pas pour quelle raison il a ajouté un espace en face de l'entrée. Assurez-vous juste que vous n'avez pas cela et ce sera très bien.