Cette question est grande... Commençons par les aspects suivants :
Autorisations de la base de données : n'utilisez pas toujours root pour vous connecter à la base de données. Ouvrez un compte distinct pour l'application Web et réduisez les autorisations
.
Mot de passe de base de données : n'utilisez pas de mot de passe faible, essayez d'avoir un mot de passe généré aléatoirement de plus de 16 caractères
Serveur Web : identique à la base de données, rendez le mot de passe aussi complexe que possible. Essayez de ne pas utiliser directement le compte root. Ouvrez un compte séparé uniquement lorsque cela est nécessaire.
application web :
Essayez de choisir une meilleure bibliothèque DB ou ORM et utilisez des requêtes SQL paramétrées. Ne mettez pas de paramètres directement dans SQL pour empêcher l'injection SQL
.
Ne stockez pas directement les informations de mot de passe des utilisateurs (y compris les utilisateurs de gestion backend). Elles doivent être hachées avec du sel avant de les stocker
.
Si possible, essayez d'utiliser HTTPS
Lors du rendu HTML, essayez d'utiliser l'encodage avant la sortie pour empêcher XSS
Lorsque vous devez générer un morceau de texte enrichi HTML contrôlé par l'utilisateur, utilisez un filtre comme htmlpurifier pour empêcher XSS
Suivez la sémantique des verbes HTTP, utilisez POST/DELETE/PUT pour les opérations d'ajout, de suppression et de modification, et ajoutez csrf_token pour empêcher les attaques CSRF
En y réfléchissant pour le moment, il y a encore de nombreux points auxquels il faut prêter attention en matière de sécurité web, je suggère à LZ d'embaucher directement un consultant en sécurité.
Tout d'abord, vos codes front-end et back-end doivent assurer leur sécurité et éviter les attaques de vulnérabilités telles que XXS ou injection SQL. Deuxièmement, le serveur de base de données et le serveur web doivent être séparés, ce qui ne peut qu'améliorer une partie. des performances de sécurité, mais également utiliser les sites Web pour améliorer l'efficacité. De plus, il est préférable que tous les mots de passe des informations utilisateur soient cryptés à l'aide d'une méthode de cryptage spécifique avant d'être stockés dans la base de données. Cela garantit que même en cas de vol, il sera difficile pour le voleur de connaître le vrai mot de passe. j'espère que vous l'adopterez !
Cette question est grande... Commençons par les aspects suivants :
Autorisations de la base de données : n'utilisez pas toujours root pour vous connecter à la base de données. Ouvrez un compte distinct pour l'application Web et réduisez les autorisations
Mot de passe de base de données : n'utilisez pas de mot de passe faible, essayez d'avoir un mot de passe généré aléatoirement de plus de 16 caractères
Serveur Web : identique à la base de données, rendez le mot de passe aussi complexe que possible. Essayez de ne pas utiliser directement le compte root. Ouvrez un compte séparé uniquement lorsque cela est nécessaire.
Essayez de choisir une meilleure bibliothèque DB ou ORM et utilisez des requêtes SQL paramétrées. Ne mettez pas de paramètres directement dans SQL pour empêcher l'injection SQL Ne stockez pas directement les informations de mot de passe des utilisateurs (y compris les utilisateurs de gestion backend). Elles doivent être hachées avec du sel avant de les stocker Si possible, essayez d'utiliser HTTPS
Lors du rendu HTML, essayez d'utiliser l'encodage avant la sortie pour empêcher XSS
Lorsque vous devez générer un morceau de texte enrichi HTML contrôlé par l'utilisateur, utilisez un filtre comme htmlpurifier pour empêcher XSS
Suivez la sémantique des verbes HTTP, utilisez POST/DELETE/PUT pour les opérations d'ajout, de suppression et de modification, et ajoutez csrf_token pour empêcher les attaques CSRF-
.
.
Tout d'abord, vos codes front-end et back-end doivent assurer leur sécurité et éviter les attaques de vulnérabilités telles que XXS ou injection SQL. Deuxièmement, le serveur de base de données et le serveur web doivent être séparés, ce qui ne peut qu'améliorer une partie. des performances de sécurité, mais également utiliser les sites Web pour améliorer l'efficacité. De plus, il est préférable que tous les mots de passe des informations utilisateur soient cryptés à l'aide d'une méthode de cryptage spécifique avant d'être stockés dans la base de données. Cela garantit que même en cas de vol, il sera difficile pour le voleur de connaître le vrai mot de passe. j'espère que vous l'adopterez !