Password en form html

Bonjour à tous,

J’aimerai créé un accès protégé par mot de passe mais ça bloque quelque part et mes recherches infructueuses n’ont pas abouties, j’ai utilisé cette méthode:


<html>
	<head>
		<title>motdepasse</title>
		
		<link href="../js/pass.js" type="text/javascript">
	</head>
<body>

<table width="100%" height="100%">
	<tr>
		<td align="center" valign="middle">
			<form >
				      Utilisateur: <input type=text name="username" size=10><br><br>
				Mot de Passe: <input type=password name="password" size=10><br><br>
			<input type=button value="Entrer" onClick="Login(this.form)">
		</td>
	</tr>
</table>

</body>
</html>

et le fichier java qui va avec:


function Login(form)

	{
	var username = form.username.value;
	var password = form.password.value;

	if (username=monlogin && password=monpassword)
	{
	document.location.href='document si ok'
	}
	else 
	{
	alert("Mot de Passe Invalide ... ")
	}
}


Lorsque je clic sur le bouton, rien ne se passe et quand je vais voir dans la console d’erreur de firefox, j’ai ce message:
login is not defined!!!

Tu les as définie les variables monlogin & monpassword?

Et j’ai de grands doutes quand à la sécurité de ton authentification si tu la fais en Javascript. Dans le genre: tout le monde pourra y accéder en lisant le code source.

Definie… là est la question mdr, quand je met par exemple toto pour monlogin et pass pour monpassword, ça ne change rien si c’est de ça que tu parle, après, je ne savais pas où mettre les variables, ce n’est paut-être pas là qu’il faut les mettres…

Pour la securité, c’est sur, le code source indique l’emplacement du .js et on accède facilement à celui ci pour voir le mot de passe, ce n’est donc pas vraiment securisé, je n’en suis qu’à un essai mais vous avez une meilleure idée pour installer un système de mot de passe, je suis preneur :wink:

Es-tu sur du lien vers le fichier .js ?

Pour un système d’identification, il vaut mieux passer par le serveur.
En général on utilise le PHP pour ca.

sur, oui car quand je vais dans le code source, et que je copie colle le chemin du .js dans la barre d’adresse, le fichier s’affiche
Après, mon site se compose de deux partie, une en html pur et une en php, mais je suis un grand newbie en php, je veux bien voir votre suggestion, j’essayerai de la mettre en oeuvre!

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 bien 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">

à 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
Edité le 20/09/2008 à 17:27

Méfie toi: ta condition est toujours vraie:

if (username==monlogin && password==monpassword)

Et essaye avec & et pas & (sauf si c’est une erreur du forum)

Mais bref ce n’est sécurisé en ce sens qu’un client y a accès.

Euh, comprend pas ce que tu veux dire, mettre & à la place de &?! et condition toujours vraie, parce que je n’ai pas de else?

je suis assez newbie, dsl

alors, soluce trouvée, mon erreur etait celles là:
if (username == “monlogin” && password == “monpaswword”)
il fallait ces satanés guillemets, et j’ai compris ce que tu voulais dire Sans-nom, mettre & au lieu de &&, il y avait bien une erreur du forum, dans mon cas, c’était & amp (tout attaché), le fofo virait le amp, tout fonctionne nikel, reste que la methode est avec un grand danger niveau securité…

Si j’ai dis que ta condition est toujours vraie (enfin, pas vraiment faut que les variables monlogin & monpassword soient déclarées) c’est qu’en javascript, ça :

a = 3;

Équivaut plus ou moins à : (j’ai mis “:=” et pas “=” pour les distinguer)

{a := 3; return a;}

Ex:

for (var i = 10; i = i - 1;) {
   console.log("i = " + i);
}

Revient au même que :

for (var i = 10; i > 0; --i) {
   console.log("i = " + i);
}

(ou i au lieu de i > 0)

d’après mes souvenirs de BTS…
dans ton répertoire où tu as toute les données à protégées par un mot de passe, tu crées 2 fichiers :

le premier :


AuthName "Authentification requise pour le Site Web Sécurisé"
AuthUserFile /chemin_où_tu_auras_ton_deuxieme_fichier
AuthGroupFile /dev/null
AuthType Basic
<limit GET POST>
require valid-user
</Limit>

que tu appelleras juste “.htaccess”

et un deuxième fichier :


login:motdepasse

il y a la possibilité de crypté les mot de passe, mais je ne me rappelle plus du nom du site.

après, lorsque que tu voudras accéder à l’endroit protégée, par exemple, en cliquant sur un lien, une fenêtre d’alerte apparait et demain login et mot de passe!!!

Pourquoi est-ce que quand je poste pour essayer d’aider, on me dit jamais si ça correspond aux attentes ou pas???

? Peut-être parce que tu postes deux jours après que l’utilisateur ait trouvé sa réponse, et donc qu’il ne juge pas nécessaire de revenir dessus étant donné qu’il a son résultat?