Tom: Unterscheidung lokale Installation / Webserver

Beitrag lesen

Hello,

ich hätte mal eine grundsätzliche Frage zum Arbeiten mit Datenbanken in PHP. Irgendwo hab ich ja in der Regel ein Konfigurationsfile liegen, in dem die Zugangsdaten zur DB gespeichert sind.

Das ist schon deshalb gut, damit die Daten nicht offenligen, wenn der Parser mal spinnt (ausfällt) und stattdessen den Klartext der Scripte ausliefert.
Eine mit require_once() eingelesene Kontanten-Datei wird in diesem Falle nicht ausgeliefert. Sie sollte auch außerhalb der Document-Root liegen, damit sie nicht nach Einblicknahme in den ausgelieferten Script-Code noch per HTTP angefordert werden kann.

Da ich nun ja auf meinem lokalen XAMPP andere Zugangsdaten habe als am Produktionsserver,

Das verstehe ich nicht. Warum richtetst Du nicht die gleichen User und Passworte ein?

muss eine Art "Umgebungsunterscheidung" her. Wie löst ihr das? Ich glaube eine richtig saubere Lösung habe ich da bis jetzt nicht gefunden...

Ich richte meine Testumgebung möglichst als genaues Abbild der Produktivumgebung ein. Durch Einrichtng eines passenden Virtual Hosts auf dem Test-Webserver und Eintrag in die lokale Hosts Datei kann ich dann den Auftritt unter realen Bedingungen testen.

Zur Sicherheit kann man in den Scripten noch $_SERVER['SERVER_ADDR'] auswerten und eine Kontrollausgabe einbauen, dass die angeforderte IP des Hosts jetzt eine lokale ist. So vermeidet man, dass man aus Versehen die Daten des Life-Auftrittes versaut. Fehlt diese Anzeige in den Formularen, arbeitet man augenscheinlich auf dem Life-Host, was im Eifer des Gefechts schon mal passieren kann.

Liebe Grüße aus dem schönen Oberharz

Tom vom Berg

--
 ☻_
/▌
/ \ Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de