Considérations générales
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 sécurité d'un bon niveau. Il faudrait aussi une bonne 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.
Lorsque vous testez votre site, gardez à l'esprit que vous ne pourrez jamais tester toutes les situations, même pour les pages les plus simples. Les valeurs auxquelles vous pouvez vous attendre 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, amplifiées ou réduites.
L'Internet est rempli d'individus qui tentent de se faire une renommée en piratant vos programmes, en bloquant votre site, en envoyant des contenus inappropriés, ou en rendant vos journées "spéciales" d'une manière ou d'une autre. Peu importe que vous ayez un grand portail ou un petit site web, vous pouvez être la cible de tout quidam avec une connexion. En fait, vous êtes une cible potentielle dès que vous êtes connecté vous-même. 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.