Regler från boken Innocent Code om IT-säkerhet.
1. Underskatta inte kraften från den mörka sidan.
Förstå hackern, räkna med att det värsta kommer att inträffa.
2. Använd POST när indatan kan ha sidoeffekter.
3. Det finns inget som heter Client-side Security.
4. Använd inte Referrer Header för autentisering.
Kan lätt hackas så lita inte på denna för autentisering.
5. Skapa alltid ett nytt sessions-ID vid inloggning.
6. Skicka aldrig detaljerade felmeddelanden till klienten.
Informationen kan användas för att hacka servern/applikationen.
7. Identifiera alla tänkbara metatecken till subsystem.
8. Ta alltid hand om metatecken när de sänds till subsystem.
9. Skicka helst data och kontrollinfo separat.
10. Akta dig för metatecken i flera nivåer.
Tecken kan ha olika betydelser i olika subsystem.
11. Sträva efter försvar på djupet.
Målet skall alltid vara att ha säkerhet hela vägen ner från gränsnittet/användaren till
databasen. Se alltid till att ha redundans.
12. Lita inte blint på API-dokumentationen.
13. Hitta alla tänkbara vägar till indata till applikationen.
14. Tänk på den osynliga säkerhetsbarriären och validera all indata.
15. Använd whitelist istället för blacklist vid filtrering.
En lista för godkända tecken och släng alla andra tecken. Istället för tvärtom då man kan glömma tecken att ta bort i en blacklist.
16. Rätta inte till felaktig input.
Försök inte rätta felaktig input utan kasta infon och be klienten börja om.
17. Gör loggning på applikationsnivå.
Logga allt som händer på applikationen.
18. Använd aldrig klientscript för säkerhet.
19. Använd etiketter(labels) istället för värden.
Försvårar att gå förbi filtreringar.
20. Skicka så lite tillståndsinfo som möjligt till klienten.
21. Anta inte requests kommer i rätt ordning.
22. Filtrera all data före den skickas till klienten.
Stoppar cross-site scripting attacker.
23. Använd färdiga kryptopfunktioner, skapa inte egna.
Hitta inte på egna algoritmer.
24. Lagra aldrig lösenord i klartext.
Skall alltid krypteras.
25. Använd aldrig GET för hemlig data.
26. Anta att kod på serversidan innehas av attackeraren.
27. Säkerhet är ingen produkt, det är en process.
Den sista regeln är sammanfattande för hela boken.

Hands up, hackers you are going down!