Beveiligde pagina

  • Onderwerp starter Onderwerp starter vpw
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

vpw

Gebruiker
Lid geworden
24 okt 2001
Berichten
426
Hallo,

Van internet heb ik onderstaand script gedownload:

<!-- Functie die ervoor zorgt dat de pagina wordt geopend als de bezoeker het juiste wachtwoord geeft -->
<script language="Javascript" type="text/javascript">

<!--Hide from non-JavaScript Browsers
function correct() {

document.write("<html><head><title>Password correct!</title></head> <body background='bgm2.gif'><center><font color='#000000' face='verdana size='4'> Welkom in het ledengedeelte"+"<p><a href='http://www.bovenstemouderkerk.nl/leden.htm' target=_self> <font color='#0000ff' face='verdana' size='2'>Klik hier om verder te gaan.</a> "+"</p></center></body></html>");document.close();

}
<!-- Error function when visitors gets the password wrong -->

function error() {

document.write("<html><head><title>Password incorrect!</title></head> <body background='bgm2.gif'>"+"<font color='#000000' face='verdana' size='5'>"+"<center> Fout wachtwoord </b></font><br><br> <font color='#000000' face='verdana' size='3'>Probeer het nog eens of sluit af. </font><br><br><input type='button' value='probeer nog eens' onclick='history.go(-1)'> <br><br>"+"<input type='button' value='Sluiten' onClick='window.close()'> </center></body></html>");

document.close();

}

//Stop hiding-->

</script>

<!-- Wachtwoord functie -->

<script language="JavaScript" type="text/javascript">

<!--Hide from non-JavaScript Browsers

var password = prompt("Uw wachtwoord a.u.b.:","");

//EERSTE PASSWORD
switch(password){
case"wim" : window.location="javascript:correct()"
break ;


//DERDE PASSWORD
case"theo" : window.location="javascript:correct()"
break ;

//FOUTMELDING BIJ VERKEERD WACHTWOORD
default : window.location="javascript:error()"
break ;

}

//Stop hiding-->


</script>
</body>

</html>

Dit script opent een schermpje waarbij ik een wachtwoord in moet geven. Als ik dat wachtwoord heb ingegeven dan kom ik eerst op een pagina waar ik moet doorklikken naar een andere pagina. Nu wil ik graag dat ik na het wachtwoord direkt op de juiste pagina terecht kom. Volgens mij zit het ergens in het onderstreepte gedeelte, alleen kom ik er niet uit. Wie kan mij hierbij helpen? ik wil dus af van de pagina met de tekst 'klik hier om verder te gaan'
Ik hoop dat ik duidelijk ben, ik weet niet hoe ik het anders moet omschrijven:(
 
ik heb dit script zelf ook in gebruik gehad...
ik weet niet of je er al achter bent, maar het is niet echt een veilige beveiliging...
als je mozilla firefox gebruikt kan je nadat je een fout wachtwoord ingetypt hebt met rechtermuisknop op probeer nog eens klikken en dan naar dit deelvenster en dan deelvensterbron bekijken... daar komen dan alle wachtwoorden te staan die jij ingestelt heb...
dit gewoon ff ter informatie... het kan trouwens ook zo zijn dat het bij mij gewoon niet goed werkt... als dat et geval is zou ik graag willen weten hoe je die wachtwoorden wel verborgen kan houden...

groet R2daR
 
Iets als dit: :)
PHP:
<html>
 <head>
  <title>Wachtwoord Script | Egel 070123 ;)</title>
  <script language="JavaScript">
   function login(f) {
    var s = '_abcdefghijklmnopqrstuvwxyz0123456789';
    var c = (f.pass.value).toLowerCase();
    var t = 0;
    for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
    t = t % 41; if (c.length < 4) t = -1;
    // alert(t);
    // de dubbele / voor de alert tijdelijk weghalen en de waarde
    // hieronder invullen bij if (t == ?)    (ipv het vraagteken)
    if (t == 20) location.href = c + '.html'; else alert('Wachtwoord fout!');
    return false;
    };
  </script>
 </head>
 <body>
  <form onsubmit="return login(this)">
   <input name="pass" type="password" size="12" maxlength="10">
   <input type="submit" value="Login"><br>
  </form>
 </body>
</html>
dat leidt de pagina om naar wachtwoord.html na het invullen van het wachtwoord.

98% van willekeurige woorden geeft een foutmelding, dat gebeurt ook als het wachtwoord kleiner is dan 4 karakters. Het is hoofdletterongevoelig maar dat is nog wel te veranderen.

Zoals je ziet wordt het wachtwoord niet opgeslagen. :cool: ;)


Vr.Gr. Egel.
 
Iets als dit: :)
PHP:
<html>
 <head>
  <title>Wachtwoord Script | Egel 070123 ;)</title>
  <script language="JavaScript">
   function login(f) {
    var s = '_abcdefghijklmnopqrstuvwxyz0123456789';
    var c = (f.pass.value).toLowerCase();
    var t = 0;
    for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
    t = t % 41; if (c.length < 4) t = -1;
    // alert(t);
    // de dubbele / voor de alert tijdelijk weghalen en de waarde
    // hieronder invullen bij if (t == ?)    (ipv het vraagteken)
    if (t == 20) location.href = c + '.html'; else alert('Wachtwoord fout!');
    return false;
    };
  </script>
 </head>
 <body>
  <form onsubmit="return login(this)">
   <input name="pass" type="password" size="12" maxlength="10">
   <input type="submit" value="Login"><br>
  </form>
 </body>
</html>
dat leidt de pagina om naar wachtwoord.html na het invullen van het wachtwoord.

98% van willekeurige woorden geeft een foutmelding, dat gebeurt ook als het wachtwoord kleiner is dan 4 karakters. Het is hoofdletterongevoelig maar dat is nog wel te veranderen.

Zoals je ziet wordt het wachtwoord niet opgeslagen. :cool: ;)


Vr.Gr. Egel.


oke bedankt egel...
ik snap all1 1 ding niet helemaal... die tekst in het oranje moet je helemaal weglaten...??
en waar moet je een wachtwoord instellen en kan je meer dan 1 wachtwoord hebben...??
mvg, R2daR
 
Volgens mij is dit script, voor de pagina's die zijn aangemaakt.

Bijv. Je hebt een pagina met de naam 589454.htm dan is het wachtwoord ook 589454.
 
dus als ik het goed begrijp dan is het wachtwoord hetzelfde als je .html bestand...??
maar hoe zit het precies met die oranje tekst... die moet je weglaten...??
 
dus als ik het goed begrijp dan is het wachtwoord hetzelfde als je .html bestand...??
Dat klopt. :)
maar hoe zit het precies met die oranje tekst... die moet je weglaten...??
de // voor alert(t); haal je tijdelijk weg. Als je dan het wachtwoord invult krijg je een alert met de waarde van t. Door die waarde in te vullen bij if (t== ?) laat het script het goede wachtwoord vervolgens door.

Het is bedoeld voor 1 wachtwoord, meerdere zou een stuk moeilijker worden. :)


Vr.Gr. Egel.
 
maar hoe zit het precies met die oranje tekst... die moet je weglaten...??

Neen.....
Code welke je hier op het forum plaatst kan problemen geven.

Vandaar dat er speciale tags zijn:
code html en php (De drie rechter opties in het invulscherm)

Gebruik je de php tag, dan krijg je inderdaad gekleurde teksten.
Maar het is makkelijk te kopieren en plakken,
daar code tussen code tags geen line feed of break hebben.
Kopieer je die, dan zit alles achterelkaar.

De code als hier geplaats heb je dus allemaal nodig.
 
ok dat snap ik nu, maar waar moet ik neerzetten naar welke .html hij moet gaan...??
dat krijg ik nog niet helemaal voor elkaar...
 
ok dat snap ik nu, maar waar moet ik neerzetten naar welke .html hij moet gaan...??
dat krijg ik nog niet helemaal voor elkaar...
Nergens, want dat is het wachtwoord. :)

Dat gebeurt automatisch:
if (t == 20) location.href = c + '.html'; else alert('Wachtwoord fout!');
c is het wachtwoord (in kleine letters)

Stel je wilt abcde als wachtwoord gebruiken.

Eerst verwijder je de // voor de alert(t);
dan ververs je de pagina, vul je abcde in als het wachtwoord en klik je op login
dan krijg je een alert die in dit geval 14 weergeeft
dat cijfer vul je in:
if (t == 14) location.href = c + '.html'; else alert('Wachtwoord fout!');
en de // zet je weer voor de alert(t);

Daarna wordt het wachtwoord abcde doorgelaten en abcde.html weergegeven.


Vr.Gr. Egel.
 
oke bedankt... het is nu helemaal gelukt en heb een goede beveiliging:)
ik ben hier behoorlijk blij mee aangezien het een site is voor een project voor mijn studie.
bedankt voor de hulp en mijn probleem is nu opgelost en volgens mij ook de oorspronkelijke vraag:thumb:
 
Ik ben hiermee ook aan de slag gegaan, maar wat ik ook probeer het lukt niet.
Ik wil dus na het invullen van een wachtwoord naar de pagina bvBs073.html gaan. hoe te doen???



<html>
<head>
<title>Wachtwoord Script | Egel 070123 ;)</title>
<script language="JavaScript">
function login(f) {
var s = '_abcdefghijklmnopqrstuvwxyz0123456789';
var c = (f.pass.value).toLowerCase();
var t = 0;
for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
t = t % 41; if (c.length < 4) t = -1;
// alert(t);
// de dubbele / voor de alert tijdelijk weghalen en de waarde
// hieronder invullen bij if (t == ?) (ipv het vraagteken)
if (t == 21) location.href = bvBs073 + '.html'; else alert('Wachtwoord fout!');
return false;
};
</script>
</head>
<body>
<form onsubmit="return login(this)">
<input name="pass" type="password" size="12" maxlength="10">
<input type="submit" value="Login"><br>
</form>
</body>
</html>
 
if (t == 21) location.href = c + '.html'; else alert('Wachtwoord fout!');

zou dan moeten werken maar dat gaat wel naar bvbs073.html , met allemaal kleine letters.

Ik schrijf even een script dat ook hoofdletters accepteerd ... :) ...
PHP:
<html>
 <head>
  <title>Wachtwoord Script | Egel 070129 ;)</title>
  <script language="JavaScript">
   function login(f) {
    var s = '_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    var c = (f.pass.value);
    var t = 0;
    for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
    t = t % 61; if (c.length < 4) t = -1;
    // alert('t == ' + t);
    // de dubbele / voor de alert tijdelijk weghalen en de waarde
    // hieronder invullen bij if (t == ?)    (ipv het vraagteken)
    if (t == 46) location.href = c + '.html'; else alert('Wachtwoord fout!');
    return false;
    };
  </script>
 </head>
 <body>
  <form onsubmit="return login(this)">
   <input name="pass" type="password" size="12" maxlength="10">
   <input type="submit" value="Login"><br>
  </form>
 </body>
</html>
Bij deze zin laat je tijdelijk de // weg:
alert('t == ' + t);
dan vul je een password in, bijvoorbeeld bvBs073, klikt op login en krijg je een alert:
t == 46
dat vul je in deze zin in:
if (t == 46) location.href = c + '.html'; else alert('Wachtwoord fout!');
waarna je de // weer voor de alert zet.

Het wachtwoord wordt daarna doorgelaten. :)


Vr.Gr. Egel.
 
Laatst bewerkt:
<html>
<head>
<title>Wachtwoord Script | Egel 070129 ;)</title>
<script language="JavaScript">
function login(f) {
var s = '_ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
var c = (f.pass.value);
var t = 0;
for (var i = 0; i < c.length; i++) t += (i+1) * s.indexOf(c.charAt(i));
t = t % 61; if (c.length < 4) t = -1;
// alert('t == ' + t);
// de dubbele / voor de alert tijdelijk weghalen en de waarde
// hieronder invullen bij if (t == ?) (ipv het vraagteken)
if (t == 46) location.href = c + '.html'; else alert('Wachtwoord fout!');
return false;
};
</script>
</head>
<body>
<form onsubmit="return login(this)">
<input name="pass" type="password" size="12" maxlength="10">
<input type="submit" value="Login"><br>
</form>
</body>
</html>

Bij deze zin laat je tijdelijk de // weg:
alert('t == ' + t);
dan vul je een password in, bijvoorbeeld bvBs073, klikt op login en krijg je een alert:
t == 46
dat vul je in deze zin in:
if (t == 46) location.href = c + '.html'; else alert('Wachtwoord fout!');
waarna je de // weer voor de alert zet.

Sorry maar ik kom er niet uit :o ben nog een beginner:) Waar moet ik het wachtwoord invullen, Moet je na het invullen van het wachtwoord de html saven dan openen in IE dan op login klikken zodat je de "waarde" krijgt?
 
Vergeet niet dat beveiliging schrijven in Javascript een zeer beperkte beveiliging is... aangezien het helemaal client-side is.

Ik zou niks echt belangrijks achter zo'n beveiliging zetten, iedereen die over je schouder meekijkt kan de url (en dus het wachtwoord zien) en er in komen.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan