Først og fremmest er der flere forskellige måder du kan sikre dine sager på, jeg vil dog vove den påstand at har du styr på følgende, kommer du langt:
* Validering
* Prepared Statements
* Hashed Passwords med salt i db
* Brug "communitiet"
Validering
Du bør kontrollere at al input du får fra brugeren er af den type du regner med. Det betyder at du tjekker om den email brugeren har tastet ind i login-formularen, vitterligt også er en valid email.
Hashed Passwords med salt i db
Når du har med bruger-login og registrering at gøre, så sørg for at gemme en hashed værdi af brugerens password i databasen, krypteret med et salt der også er gemt i databasen. Når brugeren logger ind køres login-passwordet igennem den samme kryptering og de to hash-værdier sammenlignes.
Prepared Statements
Det du mest skal bekymre dig om, når det gælder database sikkerhed, er sql injections. Der er flere forskellige måder at løse dette på, for eksempel kunne god validering være en løsning, en anden løsning kunne også være at benytte PDO. PDO står for PHP Data Objects, og er en måde at kommunikere med din database på (forsimplet forklaring). Det der gør PDO godt er at det er nemt at bruge prepared statements, og en af bonusserne ved prepared statements er at PDO automatisk sikrer dem mod sql injections.
Brug "communitiet"
Søg på sider som udvikleren.dk, eksperten.dk, stackoverflow.com, etc., når du er i tvivl om din kode er sikker, der vil helt sikkert være nogle der kan hjælpe og give råd. Måske det mest vigtige redskab i kampen for en sikker applikation.
EDIT: En anden stor sikkerhedstrussel er selvfølgelig udvikleren selv,kod derfor efter en standard og følg best practices.
Indlæg senest redigeret d. 16.12.2011 19:17 af Bruger #7688