2017-05-30 3 views
2

Ich habe zu diesem Problem gesucht, aber habe keine Lösung gefunden. Was ich gefunden habe, ist, entweder eine INI-Datei (die meisten Antworten folgen, um zu sagen, jemand kann diese Dateien leicht zu greifen und zu lesen), und sie in einer anderen Datenbank zu speichern (natürlich wäre nicht sicherer als jetzt, weil andere Datenbank Anmeldeinformationen würden angezeigt - Zugriff auf die ursprüngliche Datenbank bleibt bestehen. So ziemlich alles, was ich fand, war entweder unbeantwortet oder mit den beiden oben genannten, angeblich unsicheren Optionen beantwortet.php speichern Datenbank Zugangsdaten außerhalb der Öffentlichkeit

Wie kann ich meine Zugangsdaten für die Datenbank sicher außerhalb der Öffentlichkeit aufbewahren? Ich habe sie derzeit direkt in PHP mit Variablen platziert. Ich verwende GoDaddy als Host und PHPMyAdmin für die Datenbanknutzung.

+3

Datei außerhalb des Webstamms ist die verwendete Option 99,9% der Zeit – rtfm

+1

Mögliches Duplikat von [Sicherer Speicher der Anmeldedaten für die Datenbankverbindung] (https://stackoverflow.com/questions/7220590/secure-storage-of-database-connection -credentials) –

+0

Ihre Anwendung benötigt die Creds, um zu arbeiten, also speichern Sie sie entweder an einer Stelle, auf die die Anwendung zugreifen kann (Dateisystem, separate Datenbank), oder stellen Sie die Anfrage bereit. Letzteres hat seine eigenen Probleme, so dass Filesytem außerhalb Webroot die übliche Praxis ist. – Steve

Antwort

0

Die beste Antwort bisher, mit einer 'INI' Datei außerhalb des öffentlichen Zugriffs (der gleiche Ordner wie httpdocs für mich), die Login-Informationen enthält. Dann in PHP, die Datei zugreifen und analysiert es mit:

"parse_ini_file (Filelocation)"

Hier ist es in Beispiel meiner Nutzung:

ACCESS.INI (in demselben Ordner wie httpdocs-)

[database] 
dbhost = xx.xx.xxx.xxx:xxxx 
username = xxxxxxxxxxx 
password = xxxxxxxxxxxxxxxx 
dbname = xxxxxxxxxxxxxx 

page.php (in Ordner httpdocs)

$DatabaseAccess = parse_ini_file('../access.ini'); 
dbhost = $DatabaseAccess['dbhost']; 
username = $DatabaseAccess['username']; 
password = $DatabaseAccess['password']; 
dbname = $DatabaseAccess['dbname']; 

Es bisher weiter zu arbeiten und fühlt sich sicher genug. Außerdem ist es viel einfacher, sich daran zu erinnern, Datenbankanmeldeinformationen zu löschen/zu ersetzen, wenn Sie Hilfe zu einem Bitcode erhalten.

Verwandte Themen