Qu'est-ce que la sécurité ?
La sécurité est une mesure relative et non une norme absolue.
Malheureusement, la plupart des projets logiciels considèrent la sécurité comme une simple exigence. Est-ce sécuritaire? La réponse à cette question est aussi subjective que de demander si quelque chose est chaud.
Les frais généraux nécessaires pour assurer la sécurité doivent être raisonnables.
Atteindre un niveau de sécurité adéquat est simple et peu coûteux pour la plupart des applications. Cependant, si les informations à protéger sont très précieuses ou si les exigences de sécurité sont très strictes, vous devrez payer davantage pour augmenter le niveau de sécurité. Ce coût doit être inclus dans le budget du projet.
La facilité d'utilisation doit être raisonnable pour assurer la sécurité.
Un phénomène très courant est que si la sécurité d’une application WEB est fortement augmentée, la facilité d’utilisation est également fortement réduite. Les mots de passe, les délais d’expiration des SESSIONS et les contrôles d’accès constitueront tous des obstacles pour les utilisateurs légitimes. Il est parfois nécessaire d’assurer une sécurité appropriée à une application, mais ce n’est pas la seule solution pour toutes les applications. Il est sage d'accorder plus d'attention aux utilisateurs légitimes lors de l'application des règles de sécurité.
La sécurité doit faire partie de la conception.
Si vous ne tenez pas compte de la sécurité lors de la conception de votre application, vous êtes voué à découvrir continuellement de nouvelles vulnérabilités en matière de sécurité. Des programmes soigneusement rédigés ne peuvent compenser une mauvaise conception.
Les étapes de base de l’application sont principalement destinées au bien des utilisateurs légitimes.
Une conception sécurisée n’est qu’une partie de la solution. Lors du développement, lorsque le codage commence, il est nécessaire de considérer les utilisateurs légitimes de l’application. Généralement, l'objectif est de faire fonctionner l'application comme prévu, alors qu'il est nécessaire de mettre en œuvre une fonctionnalité d'application appropriée, ce qui ne rend pas l'application plus sécurisée.
Entraînez-vous.
Ceux d'entre vous qui lisent ce guide sont préoccupés par la sécurité et, même si cela ressemble à un cliché, il s'agit d'une étape cruciale. Il existe de nombreuses ressources disponibles sur le Web ou dans des livres, et beaucoup sont incluses dans le référentiel de PHP Security Alliance : http://phpsec.org/library/
Tout d'abord, filtrez toutes les données externes.
Le filtrage des données est la pierre angulaire de la sécurité des applications WEB dans n’importe quel langage et sur n’importe quelle plateforme. L'initialisation des variables et le filtrage de toutes les données obtenues de l'extérieur permettent d'obtenir le double du résultat avec la moitié de l'effort, et à moindre coût, le gestionnaire évite d'éventuelles failles de sécurité majeures. Une liste blanche vaut mieux qu’une liste noire. Cela signifie que toutes les données doivent être considérées comme illégales jusqu'à ce qu'elles puissent être prouvées légitimes (c'est mieux que de considérer toutes les données comme légales jusqu'à ce qu'elles puissent être prouvées illégales).