javascript - 如何保证数据库里的信息安全?
世界只因有你
世界只因有你 2017-05-02 09:25:58
0
2
729

没接触过网络安全,请教各位大佬,把用户信息放到数据库后怎么保证安全?

世界只因有你
世界只因有你

répondre à tous(2)
phpcn_u1582

Cette question est grande... Commençons par les aspects suivants :

  1. 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

  2. .
  3. 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

  4. 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.

  5. application web :
    1. 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
    2. .

    3. 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
    4. .

    5. Si possible, essayez d'utiliser HTTPS
    6. Lors du rendu HTML, essayez d'utiliser l'encodage avant la sortie pour empêcher XSS
    7. 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
    8. 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
  6. 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 !

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!