Avatar billede encorez Nybegynder
27. marts 2003 - 19:58 Der er 11 kommentarer og
1 løsning

Sikkerhed

Jeg skal lave en simpel hjemmeside, hvor en bruger logger ind og derefter skal vedkommende kunne indsætte i en database, ændre og slette data.

Mit problem er at jeg ikke er sikker på hvordan jeg laver den bedste form for sikkerhed omkring dette.

Forslag 1: Efter brugeren har indtastet user og pass, tjekker jeg om det er sandt i databasen. Er det det, opretter jeg en session-variabel, men et navn og en værdi (en streng). Hver gang brugeren så skal lave noget i databasen, kan jeg først tjekke om den session-variabel er rigtig sat og om værdien er rigtig. Det er bare ikke 100% sikker, fordi at man kunne lave en session variabel med sit eget script med det samme navn som jeg gav min. Men jeg ved ikke om session-variable bliver lavet på serveren eller client. Hvis det er på server er der vel ikke noget problem idenne løsning.

Foreslag 2: Efter en bruger logger ind gemmer jeg hans user og pass i 2 session-variable. Hver gang brugeren så skal lave noget i databasen, går jeg ind i databasen og tjekker hvorvidt user og pass er rigtig før det sker nogle ændringer.

Det kan være det bør laves på en helt tredje måde, for det er sikkert. Men jeg håber I forstår hvad jeg ønsker.

Mvh. Simon
Avatar billede fangel Nybegynder
27. marts 2003 - 19:59 #1
måske en ide at skrive i hvilket sprog det er lavet...

Morten
Avatar billede fangel Nybegynder
27. marts 2003 - 20:02 #2
men lidt kommentare...
1) session variabler er server-side... (alt ved PHP/ASP/JSP er faktisk serverside) derfor vil man ikke kunne lavet et script der ændre indholdet af disse...

2) jeg bruger selv den model i mine projekter... (altså tjekker user/paswd mod databasen HVER gang der skiftes side...)

Morten
Avatar billede encorez Nybegynder
27. marts 2003 - 20:07 #3
Det er PHP.

I mine tidligere projekter har jeg lavet det som forslag1. Hvad skulle fordelen/sikkerheden være ved forslag2 istedet? Som du selv siger, ligger sessionvariablen på serveren og derfor kan en bruger/hacker ikke ændre dem alligevel!
Avatar billede fangel Nybegynder
27. marts 2003 - 20:10 #4
bare ekstra sikkerhed... ;) ret unødvendigt, men dette var også til et system jeg har solgt for 2000kr, så det skulle være ret sikkert... ;)

Morten
Avatar billede encorez Nybegynder
27. marts 2003 - 20:16 #5
jo, men jeg forstår egentlig stadig ikke hvor forskellen skulle ligge. Om du tjekker én gang til at starte med, eller om du tjekker hver gang, hvad skulle forskellen være?
Avatar billede fangel Nybegynder
27. marts 2003 - 20:19 #6
en person kunne have hacket sig ind og ændret indholdet... det er af samme grund at man kryptere kodeord i databasen, selvom man også skal have kodeord for at se indholdet af databasen... ;)

Morten
Avatar billede encorez Nybegynder
27. marts 2003 - 20:36 #7
det forstår jeg ikke. Et argumentet for om man skal lave det som forslag2 frem for forslag1?
Avatar billede fangel Nybegynder
27. marts 2003 - 20:41 #8
der er ikke noget rigigt argument, andet end at det vil øge sikkerheden en lille bitte smule, da en evt (h/c)acker både skal hacke server variabler og database poster...

desuden vil det være nemt at fx kick'e en bruger, hvis man nogen side får brug for dette... (slet posten i databasen, næste gang han loader en side, så er det go'nat ... ;)

Morten
Avatar billede encorez Nybegynder
24. juli 2003 - 22:55 #9
smid et svar
Avatar billede fangel Nybegynder
28. juli 2003 - 13:40 #10
moi?
Avatar billede encorez Nybegynder
28. juli 2003 - 16:25 #11
præcis :)
Avatar billede fangel Nybegynder
28. juli 2003 - 18:07 #12
tak så... ;)
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
Kurser inden for grundlæggende programmering

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