Hallo Leute,
auf so ziemlich jeder Website, die sich mit Javascript oder HTML befasst steht, dass es keinen sicheren Javascript Passwortschutz gibt. Allerdings glaube ich eine Möglichkeit gefunden zu haben einen sicheren Javascript Passwortschutz zu erstellen. Bitte sagt mir, was ihr davon haltet:
<html>
<head>
<title>Login für Privatbereich</title>
<script language="javascript" src="md5.js"></script>
<script type="text/javascript">
function Passwortabfrage() { //Wird bei "LOGIN" aufgerufen
text = document.login.username.value+"*"+document.login.password.value; //Beschreibt die Eingabe in "Benutzername"*"Passwort"
etext = md5(text); //Die Eingabe wird in MD5 umgewandelt
ttext = "02b07ac94ccfc3cfca9d8ece4544ac97"; //Die richtige mit MD5 verschlüsselte Kombination in der Form "richtiger Benutzername"*"richtiges Passwort"
if ((etext != ttext)) {
document.location.href = "http://www.beispiel.de/error401.html"
} else {
var a = Math.round((Math.random() * 8) + 1); // erzeugt eine Zahl zwischen 9 und 1
var b = ((((((((((((((((a+10)*3)+23)*85)-2)*16)+8)*7)-70)*99)+12345)*852)+741236985)*8426)+666)*951235786248951368742685135497265); // erzeugt eine Kompliziert erstellte Zahl b
document.location.href = "privat.html?"+a+b; // Springt auf die Seite mit Übergabe der ombination um
}
}
</script>
</head>
<body>
<div align="center">
<b><h1><font color="#000088" size="20">Bitte geben Sie das Passwort und den Benutzernamen ein.</font></h1></b>
<form name="login">
<b><font color="#550000" size="4">Benutzername:</font></b>
<input type="text" name="username" size=20 maxlength=20><br>
<b><font color="#550000" size="4">Passwort:</font></b>
<input type="password" name="password" size=20 maxlength=20><br>
<input onClick="Passwortabfrage(); return true;" type="button" name="submitbtn" value="Login">
</form>
</div>
</body>
</html>
In der privat.html steht dann:
<html>
<head>
<title>Privatbereich</title>
<script type="text/javascript">
function Geheim () { //ist die Abfrage, nach der richtigen Übergabe in der URL
var übernahme = document.location.href;
var übergabe = übernahme.indexOf("?");
var a = übernahme.substring(übergabe + 1, übergabe + 2);
var b = übernahme.substring(übergabe + 2, übergabe + 100);
if (a != Math.round(((((((((((((((((b/951235786248951368742685135497265)-666)/8426)-741236985)/852)-12345)/99)+70)/7)-8)/16)+2)/85)-23)/3)-10))) {
document.location.href = "http://www.simodan.de/errors/error401.html";
}
}
</script>
</head>
<body onload="Geheim()">
<p><h1><font color="#000088" size="20">Sie haben es geschafft ! Diese Einträge sind privat !</font></h1></p>
</body>
</html>
Diese Codes werden dann verschlüsselt, soddas sie so aussehen:
login.html:
<script>v=''; x="!Glxqp!I)4H)4E)4=!Glieh!I)4H)4E)4=)4=!Gxmxpi!IPskmr*4j)JGv*4Tvmzexfivimgl!G*Jxmxpi!I*4)4H)4E)4=)4=!Gwgvmtx*4perkyeki!H*6nezewgvmtx*6*4wvg!H*6qh92nw*6!I!G*Jwgvmtx!I)4H)4E)4=)4=!Gwgvmtx*4x}ti!H*6xi|x*Jnezewgvmtx*6!I)4H)4E)4H)4E)4=)4=)4=jyrgxmsr*4Teww{svxefjveki*#*=*4);F*4*J*J[mvh*4fim*4*6PSKMR*6*4eyjkivyjir*4)4H)4E)4H)4E)4=)4=)4=*4*4xi|x*4!H*4hsgyqirx2pskmr2ywivreqi2zepyi*F*6*E*6*Fhsgyqirx2pskmr2teww{svh2zepyi!F*4*J*JFiwglvimfx*4hmi*4Imrkefi*4mr*4*6Firyx~ivreqi*6*E*6Teww{svx*6)4H)4E)4H)4E)4=)4=)4=*4*4ixi|x*4!H*4qh9*#xi|x*=!F*4*J*JHmi*4Imrkefi*4{mvh*4mr*4QH9*4yqki{erhipx)4H)4E)4H)4E)4=)4=)4=*4*4xxi|x*4!H*4*646f4;eg=8ggjg7gjge=h#igi8988eg=;*6!F*4*J*JHmi*4vmglxmki*4qmx*4QH9*4zivwglp)JGwwipxi*4Osqfmrexmsr*4mr*4hiv*4Jsvq*4*6vmglxmkiv*4Firyx~ivreqi*6*E*6vmglxmkiw*4Teww{svx*6)4H)4E)4H)4E)4=)4=)4=*4*4mj*4*#*#ixi|x*4*5!H*4xxi|x*=*=*4);F)4H)4E)4H)4E)4=)4=)4=*4*4*4*4*4hsgyqirx2psgexmsr2lvij*4!H*4*6lxxt!E*J*J{{{2fimwtmip2hi*Jivvsv8452lxqp*6*4)4H)4E)4=)4=)4=*4*4*4*4);H*4ipwi*4);F)4H)4E)4=)4=)4=)4=zev*4e*4!H*4Qexl2vsyrh*#*#Qexl2verhsq*#*=*4*E*4#*=*4*F*45*=!F*4*J*J*4iv~iykx*4imri*4^elp*4~{mwglir*4=*4yrh*45)4H)4E)4=)4=)4=)4=zev*4f*4!H*4*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#e*F54*=*E7*=*F67*=*E#9*=16*=*E5:*=*F#*=*E;*=1;4*=*E==*=*F56789*=*E#96*=*F;8567:=#9*=*E#86:*=*F:::*=*E=95679;#:68#=957:#;86:#95798=;6:9*=!F*4*J*J*4iv~iykx*4imri*4Osqtpm~mivx*4ivwxippxi*4^elp*4f)4H)4E)4=)4=)4=*4*4*4*4*4*4hsgyqirx2psgexmsr2lvij*4!H*4*6tvmzex2lxqp!J*6*Fe*Ff!F*4*J*J*4Wtvmrkx*4eyj*4hmi*4Wimxi*4qmx*4)HGfivkefi*4hiv*4sqfmrexmsr*4yq)4H)4E)4=)4=)4=*4*4);H)4H)4E)4=)4=)4=);H)4H)4E)4H)4E)4=)4=!G*Jwgvmtx!I*4)4H)4E)4=!G*Jlieh!I)4H)4E)4=!Gfsh}!I*4)4H)4E)4H)4E)4=*4*4*4*4*4*4*4*4!Ghmz*4epmkr!H*6girxiv*6!I)4H)4E)4=)4=!Gf!I!Gl5!I!Gjsrx*4gspsv!H*6*74444##*6*4wm~i!H*664*6!IFmxxi*4kifir*4Wmi*4hew*4Teww{svx*4yrh*4hir*4Firyx~ivreqir*4imr2!G*Jjsrx!I!G*Jl5!I!G*Jf!I)4H)4E)4=)4=!Gjsvq*4reqi!H*6pskmr*6!I)4H)4E)4=)4=!Gf!I!Gjsrx*4gspsv!H*6*7994444*6*4wm~i!H*68*6!IFiryx~ivreqi!E!G*Jjsrx!I!G*Jf!I)4H)4E)4=)4=!Gmrtyx*4x}ti!H*6xi|x*6*4reqi!H*6ywivreqi*6*4wm~i!H64*4qe|pirkxl!H64!I!Gfv!I)4H)4E)4=)4=!Gf!I!Gjsrx*4gspsv!H*6*7994444*6*4wm~i!H*68*6!ITeww{svx!E!G*Jjsrx!I!G*Jf!I)4H)4E)4=)4=!Gmrtyx*4x}ti!H*6teww{svh*6*4reqi!H*6teww{svh*6*4wm~i!H64*4qe|pirkxl!H64!I!Gfv!I)4H)4E)4=)4=!Gmrtyx*4srGpmgo!H*6Teww{svxefjveki*#*=!F*4vixyvr*4xvyi!F*6*4x}ti!H*6fyxxsr*6*4reqi!H*6wyfqmxfxr*6*4zepyi!H*6Pskmr*6!I)4H)4E)4=)4=!G*Jjsvq!I)4H)4E)4=)4=!G*Jhmz!I)4H)4E)4=!G*Jfsh}!I)4H)4E!G*Jlxqp!I)4H)4E"; x=x.split("-").join(">"); x=x.split("#").join("<"); x=x.split("!").join(")7"); x=x.split("*").join(")6"); for(i=0;i<2868; i++) { y=x.charCodeAt(i); z=y-4; w=String.fromCharCode(z); v=v+w; }; document.write(unescape(v)); </script>;
und privat.html:
<script>v=''; x="!Glxqp!I)4H)4E)4=!Glieh!I)4H)4E)4=)4=!Gxmxpi!ITvmzexfivimgl!G*Jxmxpi!I)4H)4E)4=)4=!Gwgvmtx*4x}ti!H*6xi|x*Jnezewgvmtx*6!I)4H)4E)4H)4E)4=)4=)4=jyrgxmsr*4Kilimq*4*#*=*4);F*4*J*Jmwx*4hmi*4Efjveki*G*4regl*4hiv*4vmglxmkir*4)HGfivkefi*4mr*4hiv*4YVP)4H)4E)4H)4E)4=)4=)4=zev*4)JGfivrelqi*4!H*4hsgyqirx2psgexmsr2lvij!F)4H)4E)4=)4=)4=zev*4)JGfivkefi*4!H*4)JGfivrelqi2mrhi|Sj*#*6!J*6*=!F)4H)4E)4=)4=)4=zev*4e*4!H*4)JGfivrelqi2wyfwxvmrk*#)JGfivkefi*4*F*45*G*4)JGfivkefi*4*F*46*=!F)4H)4E)4=)4=)4=zev*4f*4!H*4)JGfivrelqi2wyfwxvmrk*#)JGfivkefi*4*F*46*G*4)JGfivkefi*4*F*4544*=!F)4H)4E)4H)4E)4=)4=)4=mj*4*#e*4*5!H*4Qexl2vsyrh*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#*#f*J=95679;#:68#=957:#;86:#95798=;6:9*=1:::*=*J#86:*=1;8567:=#9*=*J#96*=156789*=*J==*=*F;4*=*J;*=1#*=*J5:*=*F6*=*J#9*=167*=*J7*=154*=*=*=*4);F)4H)4E)4=)4=)4=*4*4*4hsgyqirx2psgexmsr2lvij*4!H*4*6lxxt!E*J*J{{{2wmqsher2hi*Jivvsvw*Jivvsv8452lxqp*6!F)4H)4E)4=)4=)4=);H)4H)4E)4=)4=)4=);H)4H)4E)4H)4E)4=)4=!G*Jwgvmtx!I)4H)4E)4=!G*Jlieh!I)4H)4E)4=!Gfsh}*4srpseh!H*6Kilimq*#*=*6!I)4H)4E)4=)4=!Gt!I!Gl5!I!Gjsrx*4gspsv!H*6*74444##*6*4wm~i!H*664*6!IWmi*4lefir*4iw*4kiwglejjx*4*5*4Hmiwi*4Imrxv)I8ki*4wmrh*4tvmzex*4*5!G*Jjsrx!I!G*Jl5!I!G*Jt!I)4H)4E)4=!G*Jfsh}!I)4H)4E!G*Jlxqp!I)4H)4E)4H)4E"; x=x.split("-").join(">"); x=x.split("#").join("<"); x=x.split("!").join(")7"); x=x.split("*").join(")6"); for(i=0;i<1414; i++) { y=x.charCodeAt(i); z=y-4; w=String.fromCharCode(z); v=v+w; }; document.write(unescape(v)); </script>;
Die in login.html benötigte datei md5.js beinhaltet die Verschlüsselung.
Wenn jemand versuchen sollte die geheime oder die login seite ohne javascript zu öffenen kann nicht entcodiert werden, also sieht er nichts ausser dem verschlüsselten code. Wer versucht die geheme seite einfach über die URL aufzurufen fliegt sofort raus. Ich erlaube jedem, der etwas davon hält diessn Code zu kopieren. Bitte sagt mir, was ihr davon haltet.
MFG SimonSSS