Det er det basale setup af siden, jeg tænkte mere på, hvilken platform du kører på og hvad du har adgang til på serveren.
En løsning kunne være at du genererede et token på serveren, som blev anvendt til at identificere brugeren og vurdere om adgangen stadig var gyldig. Dette token kunne du gemme i en cookie på klienten (krypteret, cookien skal være secure og http only).
Hmm... der skal nok findes noget kode som kan generere et token på serveren og cookieteknologien understøttes også af ASP Classic. Det er nok bare lidt mere bøvlet at håndtere verificeringen af token på serveren end, hvis det var baseret på en nyere teknologi. .NET har en pipeline med noget middleware, hvor man kunne lægge sådan et tjek. Det kan jeg ikke huske om ASP Classic har (men jeg tvivler). Hvis du har struktureret din ASP-kode sådan, at der er noget som inkluderes på alle sider, kunne det være en mulighed at centralisere det token-tjek i et af de kodemoduler, men jeg kan ikke lige give dig en detaljeret opskrift på det, på stående fod.
Tanken er, at du for hvert request tjekker om der er behov for at være logget på. Hvis det er et krav tjekker du om der findes en cookie med et token. Er det tilfældet tjekker du om det token er gyldigt og om brugeren eksisterer. Er token OK, fortsætter sidens udførsel som forventet, ellers omdirigeres request til login-siden.
Når der logges på, genereres et token, hvis brugeren har afkrydset husk mig og dette gemmes så i en cookie til senere brug.
Jamen jeg har jo et gemt brugernavn og password i formularen, Så det er faktisk bare formularen der skal sendes via et javaScript i stedet for et klik på login-knappen.
Problemet er nok mest sikkerheden i det setup. Det er derfor jeg foreslår, at du genererer et krypteret token på serveren med en ingrediens, som kun kendes af serveren og derfor kun kan afkodes af serveren. Ellers åbner du jo op for, at andre kan bruge oplysningerne til at logge på en anden brugers konto...
Jeg forstår ikke at det har noget med sikkerhed at gøre. Login valideres i ASP script op i mod en MySql. Det handler kun om at få sendt formularen automatisk.
Ja, det jo egentlig bare et udvidet session-token du har brug for.
Ret beset, hvis det ikke er et problem for dig og dine brugere, kan du jo blot lægge et token, genereret på serveren, i en cookie og så gemme det samme token i databasen på serveren (knyttet til den bruger, som skal kunne logge ind med dette token).
Når en forespørgsel så rammer serveren, skal du først tjekke om bruger er logget på (f.eks. via en værdi i session) og i så fald bare gennemføre kaldet. Er brugere ikke logget på, tjekker du om det token tilhører en bruger (samt evt. andre tjek, som nævnt nedenfor) og i så fald, logger du brugeren på (f.eks. ved at oprette en værdi i session) og gennemfører kaldet. Matcher token ikke en eksisterende bruger, omdirigerer du til login-skærmbilledet.
Du bør dog forsøge at lægge en eller anden blokering for misbrug ind i dit token, f.eks. IP-adressen hvorfra login blev foretaget i første omgang og evt. andre elementer, så det bliver sværere at misbruge dette token. Desuden bør der være en udløbsdato på et token (som også skal bages ind i det token du udsteder), så det ikke kan bruges for evigt.
Hvis dette skal have nogen beskyttende værdi, skal token være krypteret, så parametrene (IP og andre tjek-værdier) ikke kan aflæses umiddelbart.
Du skriver, at du har gemt brugernavn og kodeord i formularen. Dette er jo et stort sikkerhedsproblem. Dels bør kodeordet være hashed i databasen, så det er slet ikke muligt for dig at forudfylde formularens kodeord, dels vil det være et problem, at du forudfylder en formular, hvis en browser anvendes af forskellige brugere.
Men kig lige på forslaget i #9. Det er ikke super sikkert, men noget bedre end en forudfyldt formular, som alle kan aflæse data fra, hvis de vil.
Det er ikke det jeg søger. men jeg giver trods alt point for dit besvær. Og lukker hermed. Tak.
Synes godt om
Ny brugerNybegynder
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.