Avatar billede oasen Nybegynder
24. marts 2001 - 05:48 Der er 4 kommentarer og
1 løsning

Simpel password-beskyttelse

Jeg har brug for at kunne logge ind bare med et brugernavn og en kode. Jeg har følgende meget simple script, men som tilsyneladende er udemærket:

<html>

<head>
<title>Password</title>
</head>

<body>
Indtast brugernavn og adgangskode for at logge ind...
<br></br>
<FORM METHOD=\"GET\" NAME=\"adgangskontrol\">
Brugernavn:<INPUT TYPE=\"TEXT\" NAME=\"Brugernavn\">
Adgangskode:<INPUT TYPE=\"TEXT\" NAME=\"Adgangskode\">
<INPUT TYPE=\"Button\" OnClick=\"window.location.href=(document.adgangskontrol.Brugernavn.value + \'--\' + document.adgangskontrol.Adgangskode.value + \'.html\')\" VALUE=\"Login\">
</FORM>

</body>
</html>

Men kan det ikke laves lidt smartere (evt. med JS og helst uden asp og cgi), så der kommer en lille fejlmeddelelse ved forkert indtastning i stedet for, at man ser siden \"the page cannot be displayed\"? Og også gerne sådan, at curseren automatisk sættes i tekstfeltet \"Brugernavn\"?
Avatar billede hyperactive Nybegynder
24. marts 2001 - 07:34 #1
Javascript er ikke særligt velegnet til passwordbeskyttelse - i hvert fald ikke, hvis det skal være særlig sikkert, da den besøgende altid kan se koden. Jeg vil klart anbefale dig at bruge ASP i stedet.
Avatar billede jakoba Nybegynder
24. marts 2001 - 07:42 #2
Dit script er allerede ren javascript, og bruger hverken asp eller cgi.

opret en \'hemmelig\' mappe med 2 undermapper i:

fx:
mappen \"hemlig\" med undermapperne \"brugerid\" og \"passwrd\". I alle 3 mapper placerer du en lille index.html fil:

<html><head><script language=\'javascript\'>
self.location.href = \"http://dit_domæne.dk/\"; // din forside
</script></head><body></body>
</html>

i mappen brugerid placerer du også en lille billedfil (fx din \"transparent1x1.gif\") navngivet til brugernavn.gif.
i mappen passwrd placerer du samme billedfil men nu med navnet password.gif.

<script language=\'javasvript\'>

var testpic = new Image();
var bn = \"\":
var pw = \"\";
function checkbp ( frm ) {  // initiering og check brugernavn
  bn = frm.Brugernavn.value;
  pw = frm.Adgangskode.value;
  frm.Brugernavn.value = \"\";
  frm.Adgangskode.value = \"\";
  testpic.onError = failbp;
  testpic.onLoad = checkp;
  testpic.src = \"hemlig/brugerid/\"+bn+\".gif\"; 
};
function checkp () {  // brugernavn.gif blev fundet. check password.
  testpic.onLoad = brugbp;
  testpic.src = \"hemlig/passwd/\"+pw+\".gif\"; 
};
function brugbp () {  // begge billedfiler blev fundet.
  testpic.onLoad = null;
  testpic.onError = null;
  testpic.src = \"a.jpg\" // bare en tilfeldig fil, helst en der findes.
  window.location.href = (bn + \'--\' + pw + \'.html\')
};
function failbp () {  // brugernavn eller password var forkert
  testpic.onLoad = null;
  testpic.onError = null;
  testpic.src = \"a.jpg\" // bare en tilfeldig fil, helst en der findes.
  alert( \"brugernavn eller password er ikke korrekt\" );
  document.forms.adgangskontrol.Brugernavn.focus();
};
</script>
<FORM METHOD=\"GET\" NAME=\"adgangskontrol\">
Brugernavn:<INPUT TYPE=\"TEXT\" NAME=\"Brugernavn\">
Adgangskode:<INPUT TYPE=\"TEXT\" NAME=\"Adgangskode\">
<INPUT TYPE=\"Button\" OnClick=\"checkbp( this.form )\" VALUE=\"Login\">
</FORM>

Der kommer lidt forsinkelse før de indtastede værdier benyttes. Måske forsinkelse nok til at brugeren når at begynde på noget andet. Test og se om det er ok.

mvh JakobA
Avatar billede oasen Nybegynder
24. marts 2001 - 15:13 #3
Hej Jacob...

Jeg roder lidt rundt i navnene \"brugernavn\", \"password\", \"adgangskode\", \"brugerid\".
Men jeg kom i tanker om, at jeg faktisk kun behøver et felt til indtastning af password, da det kun er mig, der skal logge in.
Det må gøre det lidt lettere...?
Min udbyder understøtter asp, men jeg så som sagt helst bare et javascript alá det du lige lavede...

Venligst
Avatar billede jakoba Nybegynder
24. marts 2001 - 16:21 #4
opret en \'hemmelig\' mappe og kald den fx \"hemlig\"

fx:
I mappen \"hemlig\" placerer du en lille index.html fil:

<html><head><script language=\'javascript\'>
self.location.href = \"http://dit_domæne.dk/\"; // din forside
</script></head><body></body>
</html>

i samme mappe placerer du også en lille billedfil som du omdøber så den hedder det samme som dit password skal være ( + .gif eller .jpg altefter hvad slags billedfil det er. Så hvis dit hemmelige password er \"oasen\" kalder du billedet \"oasen.gif\".
Din password-beskyttede fil skal så hedde \"oasen.html\"

<script language=\'javasvript\'>

var testpic = new Image();
var pw = \"\";

function checkp ( frm ) {  // initiering og check brugernavn
  pw = frm.Adgangskode.value;
  frm.Adgangskode.value = \"\";
  testpic.onLoad = brugp;    // brugp aktiveres hvis billedet findes
  testpic.onError = failp;  // failp aktiveres hvis billedet ikke findes
  testpic.src = \"hemlig/\"+pw+\".gif\";
};

function brugp () {  // begge billedfilen blev fundet så password er rigtigt.
  testpic.onLoad = null;
  testpic.onError = null;
  testpic.src = \"a.jpg\" // bare en tilfeldig fil, helst en der findes.
  window.location.href = (pw + \'.html\')
};

function failp () {  // password var forkert
  testpic.onLoad = null;
  testpic.onError = null;
  testpic.src = \"a.jpg\" // bare en tilfeldig fil, helst en der findes.
  alert( \"password er ikke korrekt\" );
  document.forms.adgangskontrol.Adgangskode.focus();
};
</script>

<FORM METHOD=\"GET\" NAME=\"adgangskontrol\">
Adgangskode:<INPUT TYPE=\"TEXT\" NAME=\"Adgangskode\">
<INPUT TYPE=\"Button\" OnClick=\"checkp( this.form )\" VALUE=\"Login\">
</FORM>

Der kommer lidt forsinkelse før de indtastede værdier benyttes. Måske forsinkelse nok til at brugeren når at begynde på noget andet. Test og se om det er ok.

mvh JakobA
Avatar billede oasen Nybegynder
25. marts 2001 - 04:01 #5
Tak for hjælpen! :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester