Maison  >  Article  >  développement back-end  >  solution de désensibilisation Golang Log

solution de désensibilisation Golang Log

PHPz
PHPzoriginal
2023-05-15 09:03:071493parcourir

Avec le développement d'Internet, de plus en plus de programmeurs choisissent d'utiliser le langage Go pour développer des applications. Le langage Go présente les avantages de l’efficacité, de la simplicité et de la facilité de maintenance, il est donc très populaire. Dans le processus de développement, la journalisation est essentielle et la sécurité des journaux est de plus en plus valorisée.

La journalisation peut nous aider à comprendre l'état d'exécution de l'application, ce qui est très utile pour le débogage et le dépannage. Cependant, les journaux peuvent contenir des informations sensibles, et si les journaux ne sont pas désensibilisés, des informations sensibles peuvent être divulguées. Par conséquent, dans les applications pratiques, nous devons désensibiliser les informations sensibles contenues dans les journaux.

Le langage Go nous fournit de puissantes bibliothèques de journalisation, telles que Logrus, Zap, etc. Ces bibliothèques sont faciles à utiliser, mais lors de la désensibilisation des journaux, nous devons effectuer quelques opérations supplémentaires. Cet article explique comment utiliser la bibliothèque de journalisation dans le langage Go pour désensibiliser les journaux.

1. La nécessité d'une désensibilisation des journaux

Dans l'application, nous enregistrerons diverses informations, telles que : le nom de connexion de l'utilisateur, le mot de passe, le numéro de téléphone portable, l'adresse e-mail, l'adresse IP, etc. Ces informations sont très importantes, mais si elles sont enregistrées directement dans le journal, elles peuvent entraîner des fuites d'informations.

Par conséquent, lors de l'enregistrement des journaux, nous devons désensibiliser ces informations sensibles. Après désensibilisation, même en cas de fuite du journal, les informations sensibles de l'utilisateur ne seront pas directement exposées, garantissant ainsi la confidentialité et la sécurité de l'utilisateur.

2. Méthodes de désensibilisation des journaux

Nous pouvons désensibiliser les informations sensibles contenues dans les journaux de différentes manières. Voici plusieurs méthodes courantes :

  1. Remplacez directement les informations sensibles par "*"

C'est la méthode la plus courante, remplacez directement les informations sensibles par "*", par exemple :

Nom de connexion : Mot de passe : *

Numéro de portable : *

Adresse e-mail : *@.com

Cette méthode est simple, mais elle donne parfois lieu à des informations manquant de clarté, notamment lorsqu'un champ contient plusieurs informations sensibles et qu'il n'est pas facile de savoir lesquelles sont lesquelles.

  1. Désensibilisation partielle des informations sensibles

Pour certains scénarios, nous pouvons désensibiliser partiellement les informations sensibles, par exemple :

Numéro de téléphone portable : 138**1234

Numéro de carte d'identité : *1234

Numéro de carte bancaire : 1234

Cette méthode peut conserver certaines informations, mais il existe quand même certains risques de sécurité.

  1. Crypter les informations sensibles

Pour certains scénarios avec des exigences de sécurité élevées, nous pouvons choisir de crypter les informations sensibles, telles que :

Numéro de téléphone portable : f4e2be33ca0637acb68a562e012b0e9d

Numéro de carte d'identité : f5a0e74752ae1be43956 b4d 5e8b915f8

Numéro de carte bancaire : 72bb75e6b76f891deab8349735dc6058

Cette méthode est plus sûre, mais elle augmentera également la complexité du système et le rendra plus lourd à gérer.

3. Bibliothèques de journalisation en langage Go

Le langage Go possède une multitude de bibliothèques de journalisation tierces, parmi lesquelles les plus populaires sont Logrus et Zap. Ici, nous prenons Logrus comme exemple pour présenter Logrus est une puissante bibliothèque de journaux qui peut répondre à nos différents besoins en matière de journaux.

  1. Installer Logrus

Avant de commencer la pratique, nous devons d'abord installer Logrus. Utilisez la commande suivante pour terminer l'installation :

allez chercher github.com/sirupsen/logrus

  1. Introduisez Logrus

Présentez-le. dans le code Logrus :

import "github.com/sirupsen/logrus"

  1. Sortir des informations normales

Logrus fournit une variété de niveaux de journalisation, notamment Debug, Info, Warning, Error, Fatal, Panic, etc. Nous pouvons utiliser le code suivant pour générer des informations ordinaires :

logrus.Info("Hello, world!")

  1. Journaux de sortie avec des informations contextuelles

Dans les applications pratiques, nous pouvons avoir besoin d'enregistrer des journaux avec des informations contextuelles . Voici un exemple de sortie d'un journal avec des informations contextuelles :

logrus.WithFields(logrus.Fields{

"animal": "walrus",

}).Info("Un morse apparaît")

  1. Niveau de journal

Dans Logrus, le paramètre par défaut le niveau de journalisation est Info. Si vous souhaitez ajuster le niveau de journalisation, vous pouvez utiliser le code suivant :

logrus.SetLevel(logrus.DebugLevel)

  1. Sortie vers un fichier

En plus de la sortie vers la console, nous pouvons se connecte également dans un fichier, voici un exemple de sortie dans un fichier :

file, err := os.OpenFile("logs/app.log", os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0666)
if err != nil {

logrus.Error("Failed to open log file: ", err)
return

}
defer file.Close()

logrus.SetOutput(file)

  1. Désensibilisation du journal

Pour certaines informations sensibles, nous devons les désensibiliser pour protéger la confidentialité des utilisateurs. Voici un exemple de désensibilisation d'un numéro de téléphone portable :

mobile := "13812345678"
if len(mobile) > 7 {

mobile = mobile[0:3] + "****" + mobile[7:]

}

logrus.WithFields(logrus.Fields{

"mobile": mobile,

}). Info("Connexion utilisateur")

Avec le code ci-dessus, nous pouvons conserver les trois premiers et les quatre derniers chiffres du numéro de téléphone portable, et remplacer toutes les informations du milieu par "*".

4. Résumé

Grâce à l'introduction de cet article, nous comprenons la nécessité d'une désensibilisation journalière et des méthodes de désensibilisation courantes. Nous avons également appris à utiliser la bibliothèque de journalisation du langage Go pour désensibiliser les journaux, ce qui nous aidera à mieux protéger la confidentialité des utilisateurs.

Dans les applications pratiques, nous devons choisir une méthode de désensibilisation appropriée en fonction de nos propres besoins commerciaux et caractéristiques d'exploitation forestière, et l'utiliser de manière flexible. L’objectif ultime est de protéger autant que possible la confidentialité des utilisateurs et d’améliorer la sécurité du système.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn