Postgres akzeptiert jedes Passwort

8

Ich habe den folgenden Code, der eine Verbindung zu einer Datenbank auf meinem Remote-Server herstellt (das Verbindungsskript befindet sich auf demselben Server):

%Vor%

Das Problem ist, ich kann das Passwort ändern, um überhaupt etwas zu sein und die Verbindung wird noch hergestellt! Wie ernsthaft, was zur Hölle!?!

Kann meine Datenbank mit jedem PHP-Skript, das auf einem anderen Server läuft, verbunden werden (vorausgesetzt, Sie kennen den IP- und Datenbanknamen)?

Wie kann ich Passwörter erzwingen, habe ich die folgende Stack-Überlaufseite angeschaut und habe getan was sie gesagt habe aber immer noch kein Glück: Wie kann man das PostgreSQL-Benutzerkennwort ändern?

>

Ich betreibe Ubuntu 12.04 Server mit PHP 5.5 und Apache2

    
Kevin Orriss 10.01.2014, 21:15
quelle

1 Antwort

9

Natürlich kann Ihre postgresql-Datenbank so konfiguriert werden, dass nur bestimmte Benutzer (Rollen in Postgres) von bestimmten IPs / Sockets mit authentifizierten Benutzern verbunden werden.

Einige Überlegungen:

  • Sehen Sie Daten? Oder können Sie nur eine Verbindung zum Server herstellen? Können Sie die Datenbanken auflisten?

  • Schauen Sie sich Ihre pg_hba.conf und das Setup an die richtigen Berechtigungen pro Rolle pro Datenbank pro Quelle

  • Haben Sie allen Benutzern Zugriff auf mydatabase gewährt? Welche Rollen haben Sie gewährt?

  • Hat die Datenbank ihre Tabellen im öffentlichen System? Und gewährte Zugang zur Öffentlichkeit?

  • Ja, mit dieser Konfiguration kann jeder, der Ihren IP- und Datenbanknamen kennt, eine Verbindung zu Ihrer Datenbank herstellen.

stUrb 10.01.2014, 21:21
quelle

Tags und Links