WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   JavaScript Passwortschutz (http://www.wcm.at/forum/showthread.php?t=46688)

bond 17.02.2002 13:00

JavaScript Passwortschutz
 
Hallo!

Ich habe wegen folgendem javascriptpasswortschutz 2 fragen:

1) Wie kann ich es machen, daß man, nachdem man das Passwort eingetippt hat, mit der Eingabetaste den login Knopf betätigen kann (also ohne maus)?

2) Wie kann ich es machen, daß sich die geschützte Seite in einem neuen Browserfenster öffnet?


Hier ist der Code:

<html>

<head>
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Administrations Log-In</title>
</head>

<body>

<center><form name=login>
<table border=0 cellpadding=3 style="border-collapse: collapse" bordercolor="#111111" cellspacing="0" width="549" height="307">

<tr><td colspan=3 align=center width="543" height="193">
<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align="center">
<font face="Times New Roman" size="6">ADMINISTRATIONS-</font>
</p>
<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align="center">
<font face="Times New Roman" size="6">BEREICH</font>
</p>
<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align="center"></p>
<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align="center"></p>
<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align="center">
<font face="Times New Roman">Der folgende Bereich kann nur mit
Administratorrechten betreten werden!</font></p>
<p style="MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px" align="center">
<font face="Times New Roman">Bitte geben Sie Ihre Zugangskennung
ein:</font></p>
</td></tr>
<tr><td width="150" height="23"></td><td width="84" height="23">
<font face="Times New Roman">Username:</font></td>
<td width="297" height="23"><select name=memlist>
<option value='Systemadmin|71343|HWALTNDW'>Systemadmin
</select></td></tr>
<tr><td width="150" height="23"></td><td width="84" height="23">
<font face="Times New Roman">Passwort:</font></td>
<td width="297" height="23"><input type=password size=13 maxlength=15 name=pass></td></tr>
<tr><td colspan=3 align=center width="543" height="44"><input type=button value="Login" onclick="check(this.form)"></td>
</tr>
</table>
</form>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
var params=new Array(4);
var alpha="ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHI";
function check(form) {
which=form.memlist.selectedIndex;
choice = form.memlist.options[which].value+"|";
if (choice=="x|") {
alert("Bitte wählen Sie Ihren Usernamen!");
return;
}
p=0;
for (i=0;i<3;i++) {
a=choice.indexOf("|",p);
params[i]=choice.substring(a,p);
p=a+1;
}
h1=makehash(form.pass.value,3);
h2=makehash(form.pass.value,10)+" ";
if (h1!=params[1]) {
alert("Falsches Passwort!"); return; };
var page="";
for (var i=0;i<8;i++) {
letter=params[2].substring(i,i+1)
ul=letter.toUpperCase();
a=alpha.indexOf(ul,0);
a-=(h2.substring(i,i+1)*1);
if (a<0) a+=26;
page+=alpha.substring(a,a+1); };
top.location=page.toLowerCase()+".htm";
}
function makehash(pw,mult) {
pass=pw.toUpperCase();
hash=0;
for (i=0;i<8;i++) {
letter=pass.substring(i,i+1);
c=alpha.indexOf(letter,0)+1;
hash=hash*mult+c;
}
return(hash);
}
// End -->
</script>
</center>

</html>

bond 20.02.2002 11:05

kann mir denn niemand helfen? :heul:

kingchaos01 20.02.2002 14:06

eine frage:
 
wie soll denn das ganze funktionieren, falls javascript abgeschaltet ist?

muss der link nicht irgendwo im klartext drinstehn?

wie sicher ist sowas?

fragt sich
Roland

bond 20.02.2002 14:36

Zitat:

wie soll denn das ganze funktionieren, falls javascript abgeschaltet ist?
gute frage, ich bin auch kein profi, vielleicht hat ja wer eine lösung für dieses problem!

Zitat:

muss der link nicht irgendwo im klartext drinstehn?
naja dann wärs ja sehr einfach zu knacken. Das Passwort und der Ziellink sind in der Zeile

Zitat:

<option value='Systemadmin|71343|HWALTNDW'>Systemadmin
codiert. frag mich aber nicht wie

Zitat:

wie sicher ist sowas?
prinzipiell ist ein javascriptpasswortschutz nicht sicher. es soll aber auch mehr eine spielerei sein!

Falls es jemanden interessiert diesen Passwortschutz gibts auf:
http://www.roflweb.de/Script/Passwor...wortsystem.htm

Honk 20.02.2002 18:25

hallo
schau mal auf meine seite http://land.heim.at/podersdorf/220668/index2.htm
ich hab mir sowas für den "members only bereich" gebastelt.
soll das so ausschauen?
wenn ja schick ich dir am abend das script dazu (aber nicht vor 22:00 Uhr)
honk

RaistlinMajere 20.02.2002 19:19

@bond: js nicht sicher!!
 
ohne mir jetzt den quelltext genau durchgesehen zu haben, glaube ich doch behaupten zu können, daß ein paßwortschutz alleinig auf js aufgebaut definitiv NICHT sicher ist (hab sowas auch schon in diversen programmierbüchern gesehen, wo aber immer der hinweis dortstand, den ich nun auch gebe).
da es sich bei js um eine clientseitige programmiersprache handelt, wird der quelltext immer im browser einsehbar sein (nein, man kann sich auch davor nicht mit maustastensperren usw. schützen, wer weiß, wie, kommt trotzdem an die informationen ran, die er haben will, ist gar nicht so schwer) und jemand, der dein script verstanden hat, wird sich auch das paßwort herausholen können.
wirklichen schutz bietet nur clientseitige programmierung z.b. mit php oder asp, wo die files am server liegen und auch dort verarbeitet werden, das ergebnis davon wird im browser angezeigt, nicht der eigentliche quelltext der scripts, damit ist sowas ein kinderspiel von ein paar zeilen.
was du allerdings probieren könntest (weiß jetzt aber nicht, ob das mit js geht), ist, dein paßwort in eine externe datei zu verlagern und so auszulesen, denn das steht ja dann nicht in deinem quelltext drin und kann somit auch nicht über den browser betrachtet werden.

mike76 20.02.2002 20:41

Hallo,

eine viel einfachere Lösung wäre doch, den Filenamen der aufzurufenden Seite als Passwort zu verwenden.

Wenn Du also zB. nach dem Login-Screen die Seite "ersteseite.html" aufrufen willst, wäre dein einzugebendes passwort "ersteseite".

und mit javascript verlinkst du dann auf

> document.location.href = document.formular.eingabefeld.value + ".html";

Alles klar?

Gruss,
Michael

RaistlinMajere 20.02.2002 20:56

funktioniert sicher, nur hats den unschönen effekt, daß eine falsche eingabe einen nicht aufrufbare seite hervorruft, was unprofessionell wirkt.

valo 20.02.2002 21:34

aber das könnte man ja abfangen am server....

ich sag nur .htaccess, damit gehts wirklich gut, muss nur der server unterstützen...

@bond
is a schöne spielerei,aber nix dahinter... ;)

RaistlinMajere 20.02.2002 21:50

@valo
 
erklär das mal bitte genauer, was genau ist .htaccess?


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:39 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag