Maison > Article > développement back-end > Mesures de sécurité courantes dans le développement PHP
PHP est un langage de programmation largement utilisé dans le développement Web. Depuis que PHP est largement utilisé, les problèmes de sécurité sont devenus un problème inévitable dans le processus de développement PHP. Dans cet article, nous explorerons les mesures de sécurité couramment utilisées lors du développement PHP.
La validation des entrées est une mesure de sécurité cruciale lors du développement PHP. La validation des entrées fait référence à la vérification que les données fournies par l'utilisateur sont conformes à des règles spécifiques. Avant de recevoir les données soumises par les utilisateurs, les développeurs doivent effectuer une vérification des données pour garantir que les données fournies par les utilisateurs sont légales et sûres.
Par exemple, dans un formulaire de connexion, les développeurs doivent effectuer une validation de saisie du nom d'utilisateur et du mot de passe. Le nom d’utilisateur ne doit contenir que des lettres et des chiffres et doit comporter entre 3 et 20 caractères. Les mots de passe doivent contenir au moins un chiffre, une lettre majuscule et une lettre minuscule, et doivent comporter entre 8 et 20 caractères. La validation des entrées permet d'empêcher les utilisateurs malveillants de soumettre des données malveillantes.
L'attaque par injection SQL est une méthode d'attaque réseau courante. Vous pouvez obtenir un accès illégal à la base de données en entrant du code SQL dans la zone de saisie. Par exemple, un attaquant peut saisir le code SQL suivant dans un formulaire de requête :
SELECT * FROM users WHERE username = 'admin' OR 1=1;
Cette requête renverra les enregistrements de tous les utilisateurs, pas seulement ceux des administrateurs. Pour empêcher les attaques par injection SQL, les développeurs doivent utiliser des requêtes paramétrées et des instructions préparées. En utilisant ces méthodes, les développeurs peuvent transmettre les valeurs d'entrée en tant que paramètres à l'instruction de requête, plutôt que d'intégrer les valeurs saisies par l'utilisateur dans l'instruction de requête.
Ce qui suit est un exemple d'utilisation d'instructions préparées pour empêcher les attaques par injection SQL :
$stmt = $pdo->prepare('SELECT * FROM users WHERE username = ?');
$stmt->execute( [ $username]);
Les attaques par script intersite (XSS) sont une méthode d'attaque réseau courante. Les attaquants insèrent des scripts malveillants dans les pages Web pour obtenir les informations sensibles des utilisateurs. Par exemple, un attaquant pourrait insérer le code Javascript suivant dans un formulaire de commentaire :