05. februar 2006 - 17:07Der er
7 kommentarer og 1 løsning
Mangler jeg flere sikkerheds tjek
Hvis i har fulgt med har jeg lavet et par sikkerheds spørgsmål på det seneste, og de har udviklet sig til nogle ret hyggelig tråde hvor vi fik diskutteret alle mulighede ting igennem. Nu har jeg så samlet alle de ting jeg har tilføjet, og vil gerne høre hvad jeg mere kan gøre:
- Jeg notere vigtige ting ned i en log. Fx hvis en bruger er banned, hvis et login forsøg er mislykket. Hvis noget på siden bliver slettet/redigeret. - Forummet er beskyttet via htmlentities - Alle inputs som kommer udefra bliver tjekket via mysql_real_escape_string(); - Alle steder hvor jeg bruger $_GET['id']; så tjekker jeg om GET værdien er et tal - Jeg bruger GDlib til at generere et billede på 3 cifre som man skal udfylde korrekt før at man kan oprette en bruger. - Man har kun 3 forsøg i træk til at logge ind, hvis alle tre fejler, så er man bannet i en time. Derefter kan man prøve igen. - Man kan kun skrive en besked hvert 30. sekund i forummet. - Alle passwords i hele systemet er md5 hashet.
Det gør du sikkert :) Når kontrollen af data typerne er overstået, skal du i gang med den logiske kontrol.
En typisk feature jeg ser blive stillet tilrådighed, er manipulering af hidden form values. Forventer du f.eks. et tal mellem 0 og 3, er det ikke nok at kontrollere at det er et tal, du skal også kontrollere, at værdien rent faktisk ligger i dette interval.
En lille kommentar til "Man har kun 3 forsøg i træk til at logge ind, hvis alle tre fejler, så er man bannet i en time. Derefter kan man prøve igen.".
Du skal nøje overveje hvad det er du beskytter. Hvis jeg vil genere en af dine brugere, kan jeg bare forsøge at logge på hans konto 3 gange, og så vil han ikke selv kunne komme på i en time.
Personlig synes jeg du skal lade folk prøve logins så tit de vil, men i stedet lave en login-fejl ala: Brugernavn og/eller kodeord er ikke korrekt. På den måde vil en bruger der forsøger at skaffe sig uretmæssig adgang ikke vide om det brugernavn der forsøges brugt er korrekt.
Jo det har jeg tænkt lidt på, jeg tror jeg retter det til IP baning. :)
Forresten fik jeg 2 ting ud af dine herlige artikel bufferzone :)
- Jeg skal til at give brugerne mulighed for at få hjælp til at lave sikrere kodeord - jeg skal til at ændre navnet på mine filer i administrator panelet
Syntes det er en dum ide at IP banne. Hvis folk sidder i fx et større firma, (ja, folk surfer også i arbejdstiden ;-) ) og en i firmaet bliver bannet, er hele firmaet bannet.
Brugernavnet skal jo blot bannes fra den pågældende IP-adresse, men er en time ikke lidt i overkanten?
Ti minutters tid er da rigeligt.
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.