Passwortsicherung
Rolf
- javascript
0 André Laugks0 ArneB
0 Cheatah0 Struppi
hi,
ich möchte einen teil meiner homepage durch ein passwort sichern. wie erreiche ich, daß nach eingabe des passwortes, die seite in einem anderen framefenster geöffnet wird. bis jetzt wird die "geheime" seite immer in meiner "linkleiste" geöffnet.
weitermachen!
Rolf
hier die seite:
<html>
<head>
<script language="JavaScript">
<!-- Verstecken für ältere Browser --
function goForit() {
var location;
var password;
password=this.document.testform.inputbox.value
location=password + ".htm"
fetch(location)
theKeeper=window.close()
}
function fetch(location) {
var root;
if (opener.closed) {root=window.open('','passme','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no');
root.location.href = location;
} else {
opener.location.href = location;
}
}
// End hiding --->
</SCRIPT>
</head>
<body text="#DF7000" bgcolor="#FFF3CC" link="#0000FF" alink="#FF7F00" vlink="#007F00">
<font size="+1" face="Arial,Times New Roman">Bitte Passwort eingeben!</font>
<FORM NAME="testform">
<INPUT TYPE="text" NAME="inputbox" VALUE="" size=25>
<INPUT TYPE="button" NAME="button" Value="Absenden" onClick="goForit(this.form)"></FORM>
<font size="-1" face="Arial,Times New Roman">Bitte mit ‚Absenden‚ bestätigen; ‚Enter‚ reicht nicht!</font>
</body>
</html>
fetch(location)
Hier wird die Funktion fetch() aufgerufen.
function fetch(location) {
var root;
if (opener.closed) {root=window.open('','passme','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no');
Mit der Funktion fetch() wird ein neues Fenster über window.open geöffnet. Hier solltest Du mit dem Frameobjekt (<../../tecba.htm>) das betreffende Frame ansprechen und die geheime Seite drin laden.
Frage, ist die Passwortabfrage über JavaScript? Ich konnte in Deinem Script nicht sehen woher das Passwort und Benutzername kommt. Wenn das ganze nur auf JS beruht, wollte ich noch sagen, wer etwas Ahnung
von JS hat, knackt das in wenigen Sekunden.
Wenn es hochgeheime Dinge sind, die Du schützen möchtest, würde ich eine serverseitige nehmen. htaccess ist sehr gut geeignet und leicht einzurichten. Dein Provider muß das natürlich unterstützen.
mfg, André Laugks
Hi!
Ja, in ca. (26*2+6+10)^256
(13252006883518434099207138231154705889725200546740753593451159693854090468805355378656004400724688568356548204931179070931148006814745602751123069353979095460422556158528307411539797240572613627062209665341891577273934232881967699204411563961819896184130776070542606782386357167171930808749279463312657937567049287255576225347811993033526505829858169443831289449022514556172189725471742844645553100780374861360626269128485246683776851669435836702726490102899008524517376)
Sekunden. Wenn er für jeden Versuch eine Sekunde benötigt, und versucht das bei einem UNIX-Server zu machen. Er muß schließlich den Filename erraten... Also wohl doch nicht soooooo schnell. ;)
Vermutlich geht's schneller da der Filename wohl keine 256 Zeichen hat und wohl auch nicht alle Sonderzeichen. Aber vielleicht habe ich noch Zeichen vergessen die in Filenames erlaubt sind. Dadurch würde die Zahl noch höher werden. Und außerdem muß man bedenken, daß die Netzverbindung das ganze auch noch verzögerte.
Auch wenn JS-Passwortschutz unsicher ist, ist diese Variante nun doch ziemlich sicher. Wenn man sich das mal so überlegt zumindest, nicht wahr? ;)
Ich gehe natürlich aus, daß es keine Möglichkeit gibt nen Directorylisting zu bekommen. ;)
CU
ArneB
Hi!
Tut mir leid. *duck*
Rechnung verdreht. Doch nur soviel:
256^(26*2+6+10)=
57586096570152913699974892898380567793532123114264532903689671329431521032595044740083720782129802971518987656109067457577065805510327036019308994315074097345724416
Cu
ArneB
*bisserlmitzähnenknirschwegenvertauschung.*
Hi!
Ja, in ca. (26*2+6+10)^256
(13252006883518434099207138231154705889725200546740753593451159693854090468805355378656004400724688568356548204931179070931148006814745602751123069353979095460422556158528307411539797240572613627062209665341891577273934232881967699204411563961819896184130776070542606782386357167171930808749279463312657937567049287255576225347811993033526505829858169443831289449022514556172189725471742844645553100780374861360626269128485246683776851669435836702726490102899008524517376)
Du bist ein wahrer Held! :-(
location=password + ".htm"
Ok, Passwort ist gleich Dateiname, habe ich nicht gesehen. Aber egal, ich jage auf die Seite einen
URL-Grapper und dann...?
mfg, André Laugks
Moin!
location=password + ".htm"
Ok, Passwort ist gleich Dateiname, habe ich nicht gesehen. Aber egal, ich jage auf die Seite einen
URL-Grapper und dann...?
Der bringt Dir nur was, wenn die Datei von irgendwo aus verlinkt ist, und das soll sie ja eben *nicht* sein. Nur macht es sowieso keinen Sinn, soetwas zu implementieren. Man verraet einfach die geheime URL nur den Leuten, die sie wissen sollen. So einfach, und das Ergebnis ist dasselbe.
Uebrigens Arne, die erste Rechnung war schon die richtige(re).
So long
Auch wenn JS-Passwortschutz unsicher ist, ist diese Variante nun doch ziemlich sicher. Wenn man sich das mal so überlegt zumindest, nicht wahr? ;)
Ich gehe natürlich aus, daß es keine Möglichkeit gibt nen Directorylisting zu bekommen. ;)
CU
ArneB
Hi,
tja, du solltest aber davon ausgehen, dass es die Möglichkeit gibt, ein Listing zu bekommen... Vor Joe User kannst Du Deine Seiten schützen, aber ich befürchte, dass du 2/3 der hier Anwesenden selbst mit diesem - zugegeben nicht ganz unklugen - Passwortschutz nicht aufhalten kannst. Wie bereits gesagt, liegt die einzig sichere Lösung im Server Side Scripting... da gibts dann asp, oder php...etc. Ist aber providerabhängig.
Viel Glück weiterhin,
Jan
Hi,
ich möchte einen teil meiner homepage durch ein passwort sichern.
http://www.praast.de/ffq/passwort.htm
wie erreiche ich, daß nach eingabe des passwortes, die seite in einem anderen framefenster geöffnet wird. bis jetzt wird die "geheime" seite immer in meiner "linkleiste" geöffnet.
http://irb-www.informatik.uni-dortmund.de/~sm/aw/js/faq/, FAQ.
weitermachen!
Selbst ist der User! ;-)
Cheatah
Hallo
function goForit() {
var location;
var password;
password=this.document.testform.inputbox.value
location=password + ".htm"
du solltest keine JS schlüsselwörter verwenden. vermutlich zeigt das script deshalb die seite in dem frame an.
weil ansonsten, wird ja ein neues fenster geöffnet und das alte geschlossen, eigentlich, oder ?
fetch(location)
theKeeper=window.close()
}
function fetch(location) {
var root;
if (opener.closed) {root=window.open('','passme','toolbar=yes,location=yes,status=yes,menubar=yes,scrollbars=yes,resizable=yes,copyhistory=no');
root.location.href = location;
das ist nicht nötig, das erste argument von window.open ist die location.
ist schon trickreich mit den dateinamen, aber nicht unbedingt klassisch ein passwortschutz (mit verschlüsselung und so).
Struppi.