javascript / expert
Snippet
Maskierung sensibler Daten mit customInspect
Durch die Implementierung des Symbols 'util.inspect.custom' können Sie steuern, wie ein Objekt dargestellt wird, wenn console.log oder util.inspect verwendet wird. Dies ist eine Best Practice für die Sicherheit, um das versehentliche Loggen sensibler Daten wie API-Keys oder Passwörter in Produktionsprotokollen zu verhindern.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
import util from 'node:util';class UserCredential {constructor(user, token) {this.user = user;this.token = token;}[util.inspect.custom](depth, opts) {return `UserCredential { user: '${this.user}', token: '[MASKED]' }`;}}console.log(new UserCredential('admin', 'secret_123'));
nodejs
Erklärung
1
[util.inspect.custom](depth, opts) {
Definiert eine benutzerdefinierte Formatierungsfunktion, die von Node.js-Interna aufgerufen wird.
2
return `... token: '[MASKED]' }`;
Stellt sicher, dass die sensible Token-Eigenschaft niemals im Ausgabe-String preisgegeben wird.