On Sun, 26 Oct 2003 14:35:27 +0000 (UTC), NetHead <ingen@mail.her>
wrote:
>Jeg er newbie hvad angår ASP, og har nu sat mig for at skrive et
>simpelt login-system...
Jamen, velkommen til og held og lykke med projektet.
>Jeg har "regnet" mig frem til at det vil involvere nogle
>sessions, for at huske at brugeren er logget ind mens personen er
>på siden.(?)
>- Er det nødvendigt at lægge en cookie her, hvis personen
>alligevel skal logge ind næste gang?
Nej.
>Hvis ikke jeg foretager mig noget mht. sikkerhed, hvor
>"eksponeret" er brugerens user/passw så, som standard?
>- Og er det her muligt at skjule at disse oplysninger?
Jeg vil klart opfordre dig til at skule dine brugeres adgangskoder
mest muligt - specielt, hvis de selv kan vælge deres adgangskoder.
Mange (de fleste) brugere bruger samme pw til mange ting, og du bør
sætte dig som mål, at det ikke er fra din side, at andre kan få adgang
til brugernes bankkonti o.l.
Den mest simple ting du kan gøre er at lægge din database uden for
webscope, så andre ikke kan få fat i den direkte med http.
Men det giver stadig dig selv (og evt. ansatte på webhotel) adgang til
at læse dem. Så det eneste rigtige er at beskytte dem med en form for
kryptering (hashing). Jeg plejer at bruge MD5-hashing. Se:
<url:
http://asp.stocholm.dk/hash/>
- hvor Jesper har et uundværligt script liggende.
Metoden er at man hasher pw, inden det gemmes i db'en. Når så brugeren
forsøger at logge inden, hasher man brugerens indtastning, inden man
sammenligner den i databasen.
Man *kan* selvfølgelig også hashe brugernavn, men det plejer jeg ikke
at gøre, da det samtidig gør det mere besværligt at vedligeholde
bruger-databasen.
Men sikkerhed er jo afhængig af formålet, så afgørelsen er din.
>Selve "opret bruger"-delen er jeg meget i tvivl om. Det
>indlysende er vel at have en form, hvor man opretter en bruger,
>der derefter skriver oplysningerne til en database. Eller hvad? -
Sådan plejer jeg at gøre.
>Kan dette gøres nemmere/bedre/anderledes?
Man kan bruge XML eller en tekst-fil i stedet for en database. Det er
anderledes, men om det er bedre eller nemmere ...?
>- Jeg forventer ikke at nogen sætter sig ned og skriver en
>tutorial, men hvis jeg kunne få et link til en artikel/tutorial,
>ville jeg blive meget glad.
Det sjove kommer, når du vil give brugerne et tidsbegrænset pw og
mulighed for at ændre pw og stiller krav om, at det fx skal indeholde
mindst x tegn, hvoraf y skal være tal og z skal være bogstaver, og at
det i øvrigt skal være forskelligt fra det foregående for mindst æ
tegn.
Så får du et ret personligt forhold til Regular Expressions
Desuden bør du overveje, om der skal være forskellige adgangsniveauer,
hvilket ofte er ret praktisk, især hvis man har en
administrator-funktion el. lign.
Så tilføjer du blot et ekstra felt i din database med adgangsniveau
(100, 200, 300, osv.) og gemmer adgangsniveauet i en Session-variabel,
når der logges ind. På den måde kan du ikke blot styre dagnagen til
forskellige sider, men også bestemte funktioner på samme side (fx også
i en menu, bestemte kolonner i en tabel, bestemte variable i et
Sql-udtræk osv.).
Good luck!
--
Jørn Andersen,
Brønshøj