Avatar billede rit Nybegynder
18. juli 2001 - 13:50 Der er 18 kommentarer og
1 løsning

Kan man gemme info ?

Jeg ved godt at der tidligere er stillet spørgsmål om password m.m. med JavaScript og, at mange mener at man ikke kan få en  100% sikker password-løsning med JavaScript.
På trodt af dette søger jeg en JavaScript løsning, som kan gemme navn og password, som brugerne selv opretter (bestmmer)og bruger. Det vil sige en løsning, som den man bruger på Eksperten.
Jeg har tænkt mig, at navn og password, som brugerne opretter blir gemt i en tekstfil. Og at brugerne kan bruge navn og password, som de før har oprettet.
Er det muligt og hvordan ser koden ud ?
På forhånd tak.
Avatar billede jakobandersen Nybegynder
18. juli 2001 - 13:53 #1
Du får meget svært ved gemme de data brugeren opretter vha. javascript da dette ligger på klienten. Men du kan vha. javascript cookies lave noget tilnærmelsesvis sikkert sådan noget med at tjekke om brugerens indtastede password er lig med det der står i hans cookie, men så vil brugerens login jo også gå tabt hvis han sletter cookies eller lign.
Avatar billede nute Nybegynder
18. juli 2001 - 13:53 #2
Avatar billede olebole Juniormester
18. juli 2001 - 14:01 #3
<ole>
Svaret er et rungende \'NEJ...!\'
Det er ikke rigtigt, at \"...mange mener at man ikke kan få en  100% sikker password-løsning med JavaScript\". Du kan ikke have nogen som helst form for tilnærmet sikkerhed uden server-side scripting.
Heller ikke med cookies! Noget skal sætte og læse en cookie - og hvis det er client-side JavaScript, så kan enhver newbie læse hvad password og login er.
Du SKAL bruge server-side scripting til den slags...det KAN ikke lade sig gøre på anden måde.
/mvh
</bole>
Avatar billede jakoba Nybegynder
18. juli 2001 - 14:06 #4
Alle de moderne browsere (NS6, IE5+) tilbyder at huske \"indtastede datta her i denne formular\". Hvorfor ikke bare lade dem om det.
Det er SVÆRT at lave skudsikkert. Se fx hvordan eksperten.dk\'s bryder ned hvergang de skifter server.

mvh JakobA
Avatar billede olebole Juniormester
18. juli 2001 - 14:08 #5
Jo, men autocomplete løser jo ikke problemet....hvad skal validere password og login...?
Avatar billede jakoba Nybegynder
18. juli 2001 - 14:21 #6
ja og nej.

0) på siden er der en variabel \"urørt\" der bliver false hvis der skrives i felterne.
1) start med at lade browseren autocomplete.
2) check at der ikke har været en eneste keyup eller keydown i de felter, og at der alligevel står noget i dem.

så er det brugerens autokompletterede pasword. lad ham komme ind.

Den holder næppe i byretten, men til en privat side er det da OK.

mvh JakobA
Avatar billede olebole Juniormester
18. juli 2001 - 15:25 #7
Så skal man sørge for at vælge nogle langt ude navne til de to felter...ikke \'username\' og \'login\', f.eks.
Autocomplete genkender nemlig felter på deres navne og vil - hvis den støder på et navn, der er bekendt - foreslå den tekst, du sidst indtastede i et felt med det navn.
Hus også at tillade keydown af \'Enter\', da mange brugere anvender den til submit\'ering af en form.

Det har stadig ingen lighed med noget somhelst, der kan forveksles med sikkerhed, da du kan bruge et hvilket som helst ord som password og login...!
/mvh
Avatar billede rit Nybegynder
18. juli 2001 - 15:58 #8
Jeg må først sige, at jeg har fået nogen fine kommentarer.
Jeg må understrege, at jeg ikke søger en \"skudsikker løsning\", og derfor synest jeg at jeg saktens kan bruge cookies. Men hvordan kommer jeg i gang. Er der en rar sjæl som har kode, som jeg må bruge ?
Og så til sidst: Kan man med JavaScript gemme info, som brugerne taster, (e-mail  m.m.) f.eks. i en tekstfil på webhotellet ?
Avatar billede jakobandersen Nybegynder
18. juli 2001 - 16:03 #9
Du kan finde masser af information om cookies ved at kigge i diverse javascript tutorials bl.a. Thaus på: http://hotwired.lycos.com/webmonkey/programming/javascript/tutorials/tutorial1.html

Og så kan du se et praktisk eksempel jeg har lavet her som gemmer info i cookies:
http://hjem.get2net.dk/moonduck/test/querystring/

Det er ikke muligt at gemme på serveren vha. javascript
Avatar billede jakobandersen Nybegynder
18. juli 2001 - 16:04 #10
Hov, det er i Thaus advanced tutorial han snakker om cookies:
http://hotwired.lycos.com/webmonkey/programming/javascript/tutorials/tutorial2.html
Avatar billede olebole Juniormester
18. juli 2001 - 16:09 #11
Nej, JavaScript er under normale omstændigheder kun client-side. En server kan dog godt sættes op til at bruge JS, men så kan du ligeså godt bruge et andet server-sprog  :)
/mvh
Avatar billede rit Nybegynder
18. juli 2001 - 22:08 #12
Først tak til moonduck.
Jeg synest andre også skal ha glæde af dit svar/eksempel, men først må jeg vel be om lov til at paste ?
Er det muligt at lave en knap som både sender data og virker som link ?
Den ku vi måske kalde \"Send data og log in\" ?
Gider du lave om på koden ?
Avatar billede jakobandersen Nybegynder
18. juli 2001 - 22:38 #13
Jeg har da ikke lavet noget eksempel?
Avatar billede jakobandersen Nybegynder
18. juli 2001 - 22:39 #14
Hovsa... Jow det har jeg, hvis du mener det må du copy paste alt hvad du vil.
Avatar billede rit Nybegynder
19. juli 2001 - 01:02 #15
Her er moonduck\'s kode:
<HTML>
<HEAD>
    <TITLE>Indtast</TITLE>
</HEAD>
<BODY>
<SCRIPT TYPE=\"text/javascript\">
function hentkage(kagenavn){
            startsted = document.cookie.indexOf(kagenavn+\"=\");
        if (startsted != -1) {   
            startsted +=kagenavn.length+1;
            slutsted = document.cookie.indexOf(\";\",startsted);
            if (slutsted == -1) slutsted = document.cookie.length;
            return unescape(document.cookie.substring(startsted, slutsted)); }
return null;
}
if(document.cookie.length > 0){
var navn = hentkage(\"navn\");
var tlf = hentkage(\"tlf\");
var adresse = hentkage(\"adresse\");
var email = hentkage(\"email\");

document.write(\"<FORM ACTION=\'writeout.htm\' METHOD=\'GET\' NAME=\'minform\'><BR>\");
document.write(\"Navn:<INPUT TYPE=\'text\'  SIZE=\'12\' VALUE=\'\" + navn + \"\' MAXLENGTH=\'50\' NAME=\'navn\'><BR>\");
document.write(\"telefon:<INPUT TYPE=\'text\' SIZE=\'12\' VALUE=\'\" + tlf + \"\' MAXLENGTH=\'50\' NAME=\'tlf\'><BR>\");
document.write(\"Adresse:<INPUT TYPE=\'text\' SIZE=\'12\' VALUE=\'\" + adresse + \"\' MAXLENGTH=\'50\' NAME=\'adresse\'><BR>\");
document.write(\"E-mail:<INPUT TYPE=\'text\' SIZE=\'12\'\' VALUE=\'\" + email + \"\' MAXLENGTH=\'50\' NAME=\'email\'><BR>\");
document.write(\"<INPUT TYPE=\'submit\' VALUE=\'Send data\' NAME=\'Submit\'><BR>\");
document.write(\"</FORM>\");
}
else{
document.write(\"<FORM ACTION=\'writeout.htm\' METHOD=\'GET\' NAME=\'minform\'><BR>\");
document.write(\"Navn:<INPUT TYPE=\'text\'  SIZE=\'12\'  MAXLENGTH=\'50\' NAME=\'navn\'><BR>\");
document.write(\"telefon:<INPUT TYPE=\'text\' SIZE=\'12\' MAXLENGTH=\'50\' NAME=\'tlf\'><BR>\");
document.write(\"Adresse:<INPUT TYPE=\'text\' SIZE=\'12\' MAXLENGTH=\'50\' NAME=\'adresse\'><BR>\");
document.write(\"E-mail:<INPUT TYPE=\'text\' SIZE=\'12\' MAXLENGTH=\'50\' NAME=\'email\'><BR>\");
document.write(\"<INPUT TYPE=\'submit\' VALUE=\'Send data\' NAME=\'Submit\'><BR>\");
document.write(\"</FORM>\");
}
document.write(document.cookie);

</SCRIPT>

</BODY>
</HTML>

Det ville glæde, hvis vi lige ku få en meget enkel forklaring på hvordan det fungerer i praksis eller hvilke muligheder der ligger i koden.
Jeg tænker her specielt på, at brugeren skal komme videre med et link til en anden side, og om der kan inkluderes i \"Send data\".
Kan mit forslag foroven bruges, det som jeg kaldte \"Send data og log in\" (tekst på knappen) ?
Avatar billede rit Nybegynder
19. juli 2001 - 01:13 #16
Da jeg siger forklaring - tænker jeg f.eks. på at der er en fil som hedder: writeout.htm
Hvad er det for en fil ?
Og hvis jeg vil ha at brugeren automatisk skal komme videre til en side, som hedder info.htm (når han har trykket \"Send data\") - hvordan laver jeg så koden om ?
Avatar billede rit Nybegynder
19. juli 2001 - 13:56 #17
Er der en rar sjæl, som kan sige et par ord om filen i eksemplet ovenfor, som hedder write.htm ?
Hvilken funktion har filen ?
Avatar billede jakobandersen Nybegynder
19. juli 2001 - 15:04 #18
Den skriver blot informationerne fra formfeltet til cookies..
Avatar billede rit Nybegynder
20. juli 2001 - 01:32 #19
Til moonduck:
Nu mangler jeg kun et svar (se foroven):
\"Og hvis jeg vil ha at brugeren automatisk skal komme videre til en side, som hedder info.htm (når han har trykket \"Send data\" - hvordan laver jeg så koden om ?

Håber du gider gi mig koden, og du får de 150 poeng.
På forhånd tak :)
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