Dies ist der erste Beitrag. Es ist das Ende des Jahres. Wenn ich also darüber nachdenke, was ich in diesem Jahr zurückgelassen habe, denke ich, dass mir zuerst [Post to Qiita] in den Sinn gekommen ist, also schreibe ich es als mein eigenes Memo und meine eigene Ausgabe. Dieses Mal werde ich das ausgeben, was ich bei der Entwicklung von Webanwendungen mit dem Python-Framework Django gelernt habe, aber die Idee ist für andere Sprachen und andere Frameworks dieselbe. Probieren Sie es also bitte aus. Dieses Mal werde ich darüber schreiben, wie die Vertraulichkeit von Authentifizierungsinformationen verbessert werden kann, indem der Wert von Authentifizierungsinformationen in der Umgebungsvariablen festgelegt wird und die Authentifizierungsinformationen nicht direkt in den Quellcode geschrieben werden.
Solide Authentifizierungsinformationen → Da die Authentifizierungsinformationen in den Code eingebettet sind, werden die Authentifizierungsinformationen möglicherweise so offengelegt, wie sie sind, wenn sie mit anderen geteilt werden. Es gibt auch Fälle, in denen eine AWS-Instanz entführt und eine große Menge Geld in Rechnung gestellt wurde. .. Eine Geschichte über einen Anfänger, der einen Fehler bei AWS gemacht hat und missbraucht wurde und 6.000 US-Dollar in Rechnung stellte, fast weinend.
Deshalb ,,, Der Hauptzweck dieses Artikels ist es, die Sicherheit aufrechtzuerhalten, ohne Authentifizierungsinformationen durch Lesen aus betriebssystemabhängigen Umgebungsvariablen fest in den Quellcode zu schreiben!
Es gibt zwei Einstellmethoden
Dieses Mal werde ich die zweite Methode zum Einstellen vom Terminal aus vorstellen. Verwenden Sie den Befehl ** SETX **, um Umgebungsvariablen festzulegen, die dauerhaft vom Terminal aus verwendet werden können. Halten Sie Strg + Umschalt gedrückt und führen Sie die Eingabeaufforderung im Administratormodus aus.
terminal
Name des Namens der SETX-Umgebungsvariablen#Benutzerumgebungsvariablen
SETX /M Wert des Namens der Umgebungsvariablen#Systemumgebungsvariablen
** Beachten Sie, dass Sie nach dem Festlegen der Umgebungsvariablen die IDE einmal schließen müssen, bevor Sie die neu festgelegte Umgebungsvariable lesen können! ** ← Ich war süchtig danach. ..
Sie können den gleichen Wert mit einer der folgenden Notationen erhalten: Beim Aufrufen einer nicht vorhandenen Umgebungsvariablen wird für die erstere der Standardwert "Keine" und für die letztere ein Fehler zurückgegeben.
test.py
import os
os.environ.get('Name der Umgebungsvariablen') # 'Name der Umgebungsvariablen'Umgebungsvariablen für abrufen
os.environ['Name der Umgebungsvariablen'] # 'Name der Umgebungsvariablen'Umgebungsvariablen für abrufen
Dies ist der Fall, wenn die Authentifizierungsinformationen solide sind
setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sample', #Datenbankname erstellt
'USER': 'root', #Login Benutzername,
'PASSWORD':'root', #Login Passwort Name,
'HOST': '',
'PORT': '',
}
}
Durch Umschreiben des obigen Quellcodes zum Lesen aus den Umgebungsvariablen wie unten gezeigt Ich verstecke meine Anmeldeinformationen.
setting.py
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'sample', #Datenbankname erstellt
'USER': os.environ.get('DB_USERNAME'), #Login Benutzername
'PASSWORD': os.environ.get('DB_PASSWORD'), #Passwort
'HOST': os.environ.get('DB_HOST'),
'PORT': os.environ.get('DB_PORT'),
}
}
Da der erste Beitrag und das Wissen oberflächlich sind, würde ich es begrüßen, wenn Sie mich wissen lassen könnten, wenn es irgendwelche schriftlichen Fehler gibt. Vielen Dank für das Lesen bis zum Ende.
Recommended Posts