Un système complètement sûr est virtuellement impossible, donc, une approche souvent utilisée par les professionnels de la sécurité est d'équilibrer les risques et l'utilisabilité. Si chaque variable fournie par l'utilisateur demandait deux formes de validation biométrique (comme un scan de la rétine et une empreinte digitale), on obtiendrait un système avec un niveau de traçabilité extrêmement élevé. Il faudrait aussi une bonne demi-heure pour remplir un formulaire un peu compliqué, ce qui aurait tendance à encourager les utilisateurs à trouver un moyen de contourner cette sécurité.
La meilleure sécurité est suffisamment discrète pour répondre aux besoins sans ajouter de contraintes insurmontables pour l'utilisateur ni de systèmes trop complexes de programmation. En fait, certaines attaques sur des scripts sont justement des exploitations de systèmes de sécurité trop complexes, qui s'érodent au cours du temps.
Un principe qu'il est bon de retenir : un système est aussi sûr que son maillon le plus faible. Si toutes les transactions sont bien notées, avec l'heure à laquelle elles ont été exécutées, depuis quel emplacement géographique, leur type, etc. mais que l'utilisateur est identifié uniquement par un cookie, la robustesse du lien entre l'utilisateur et les logs de transactions est sévèrement réduite.
Lors des tests d'un site, il faut garder à l'esprit qu'il est impossible de tester toutes les situations, même pour les pages les plus simples. Les valeurs attendues seront toujours complètement différentes des valeurs entrées par un employé mécontent, un hacker qui a des mois devant lui, ou encore le chat de la maison qui marche sur le clavier. C'est pourquoi il est préférable de regarder le code d'un point de vue logique, pour repérer les points où des données inattendues peuvent être injectées, puis de voir comment elles pourront être modifiées, réduites ou amplifiées.
L'Internet est rempli d'individus qui tentent de se faire une renommée en piratant des programmes, en bloquant des sites, en envoyant des contenus inappropriés, ou en rendant les journées « intéressantes » d'une manière ou d'une autre. Peu importe qu'il s'agisse d'un grand portail ou d'un petit site web, tout site peut être la cible de tout quidam avec une connexion. En fait, tout système est une cible potentielle dès qu'il est connecté. Certains programmes de piratage ne font pas dans la demi-mesure, et testent systématiquement des millions d'IP, à la recherche de victimes ; essayez de ne pas en devenir une.