08. juli 2003 - 04:21Der er
12 kommentarer og 1 løsning
Lav et random-streng
Det har vendt et par gange før, men jeg kan ikke helt få det sat ordentligt sammen.
Jeg vil gerne have en lille funktion, der genererer en kode på 20 tegn bestående af tilfældigt udvalgte bogstaver og tal. Koden skal, lige inden min formular sendes, indlæses i et skjult felt og sendes med resten. Er det en sikker måde at gøre det på, hvis det er vigtigt, at man ikke kan få adgang til at se denne kode på nogen måde?
Altså noget lignende: <form onSubmit="this.kode.value=LavKode();"> <input type="hidden" name="kode"> </form>
Ja, næsten, for genereringen og afsendelsen tager kun et split-sekund, så medmindre der er installeret en sniffer, vil man ikke kunne få fat i det ...
function LavKode(f){ var tegn = "abcdefghijklmnopqrstuvwxyzæøåABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ0123456789"; var kode = ""; for(i=0;i<20;i++)kode+=tegn.charAt(Math.floor(Math.random()*tegn.length)) f.kode.value=kode; return true; }
Jeg skal bruge det i forbindelse med et loginsystem. Alle passwords brugeren indtaster, krypteres med MD5 inden afsendelsen - og det er fint nok. Men jeg aner ikke, hvordan jeg skal håndtere glemte passwords UDEN at sende noget ukrypteret. Jeg skal jo tildele vedkommende et nyt password, men jeg er nødt til både at have dette i rå version og i krypteret version. Den rå skal sendes til brugeren, og den krypterede skal i databasen.
Jamen så skal du jo ikke bruge det client-side ...
Så gør du vel bare det, når du får en request på glemt password, at du sender det ukrypteret (og samtidig gemmer den krypterede udgave ,-) og kræver at brugeren laver det om første gang han logger ind ...
-- og som jeg forstår md5 krypteres det på serveren, klienten har vel ikke krypteringsmaskinen installeret !-)
ASP kan tilsyneladende ikke - derimod kan ASP.net og PHP godt. Jeg ville dog foretrække at få det krypteret i databasen, men det er vist kun MySQL, der kan det, og jeg bruger MS SQL. Irriterende....
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.