Hallo,
ich habe auch schon Hoster gesehen, die für den Datenbankzugriff gar kein Passwort verlangen, weil aufgrund der geltenden Routing- und Firewall-Regeln der Zugriff sowieso nur von localhost kommen kann, und der darf ja immer.
Ich gehe mal davon aus, dass Du nicht die Möglichkeit meinst, den MySQL/MariaDB-Benutzer und dessen Passwort in einer php.ini bzw. .user.ini zu verewigen:
doch, vermutlich meine ich das. Ich wusste damals noch nicht, wie das hinter den Kulissen funktioniert, aber wenn ich die Beschreibung zu mysql_connect() (seinerzeit noch ohne 'i'!) richtig deute, dann gelten bei fehlenden Angaben im Funktionsaufruf die in der PHP-Konfiguration eingetragenen Defaultwerte.
Das ist aber sicherer als in Skripten unterhalb von Document-Root.
Mag sein; ich finde, das hat trotzdem einen bitteren Beigeschmack. Denn eine .user.ini passt eben nicht auf das Muster ^\.ht, das in der typischen Apache-Konfiguration ausgeschlossen ist. Eine .user.ini könnte ein Angreifer also leicht runterladen und anschauen. Ob ihm das hilft, wenn er die DBMS-Zugangsdaten kennt, ist eine andere Frage. Da wäre wieder meine ursprüngliche Mutmaßung, dass der DBMS-Server nur Verbindungen von localhost oder zumindest aus dem eigenen Netz akzeptiert.
Das kann (eigentlich, jenseits von Skript-Konstruktionen, bei denen dem MySQL-Client ein Passwort anhand des Unix-Benutzerkennzeichens automatisch „untergejubelt“ wird, siehe oben) nur bei einem eigenem (virtuellem) Server der Fall sein (nicht beim „shared hosting“)
Doch, das war damals ein billiges Shared-Hosting-Paket - aber frag mich nicht nach Einzelheiten. Dafür ist es schon zu lange her.
Auf einem eigenem Server (ganz gleich ob Hardware oder virtuell) ist man also selbst in der Verantwortung.
Das gilt ja grundsätzlich, nicht nur für das DBMS.
Einen schönen Tag noch
Martin
Мир для України.