Onel Schnitzel: Problem mit User/Passwort für PHPMyAdmin

Hallo,

um mein phpmyadmin zu schützen, hab ich gerade meine config.inc.php folgendermaßen geändert:

$cfg['Servers'][$i]['auth_type']     = 'http';
$cfg['Servers'][$i]['user']          = '';      // MySQL user
$cfg['Servers'][$i]['password']      = '';          // MySQL password

Ich hatte gelesen, daß man mit diesen Einstellungen phpmyadmin mit den User/Passwort-Daten der MySQL-Datenbank sichern kann. Allerdings will phpmyadmin bei mir jetzt überhaupt nicht mehr starten. Das rattert nur wie verrückt, aber eine Eingabeaufforderung kommt nicht. Hat jemand ne Ahnung, worans liegt?

Gruß,
Onkel Schnitzel

  1. Hallo,
    als $cfg['Servers'][$i]['user'] = '';      // MySQL user musst du natürlich auch einen existierenden MySQL Username angeben, meistens root.
    Danach das Passwort für den Account.

    Aber phpMyAdmin schützt man normalerweise per .htaccess, glaube nicht das phpMyAdmin schon soetwas integriert hat.

    P.S. Diese Angaben sind 3 mal in der config.inc.php enthalten.

    MFG
    Andavos

    1. Hi Andavos,

      als
         $cfg['Servers'][$i]['user'] = '';
      MySQL user musst du natürlich auch einen existierenden MySQL Username angeben, meistens root.
      Danach das Passwort für den Account.

      Nein, dass stimmt so nicht. Es war der Authentifikationstype http gegeben:
      $cfg['Servers'][$i]['auth_type'] = 'http';

      In diesem Fall fragt PHPMyAdmin dann beim Login die Zugangsdaten über eine HTTP Authentifikation ab (das sieht dann für den Besucher aus wie .htaccess). Dabei können sich dann auch verschiedene User anmelden, also verschiedene User können das gleiche PHPMyAdmin nutzen und jeder sieht seine Datenbank(en) da drin.

      Alternativ kann man
        $cfg['Servers'][$i]['auth_type'] = 'config';
      angeben, dann wird gar keine Authentifikation durchgeführt - in dem Fall ist es dann sinnvoll das per .htaccess zu schützen - wobei das eigentlich dann umständlich gemacht ist ;-)

      Wo wir schon dabei sind, wollen wir auch die Möglichkeit 'cookie' nicht vergessen, da funktioniert der Login über eine Session (mit Sessioncookie).

      P.S. Diese Angaben sind 3 mal in der config.inc.php enthalten.

      Ja, die Angaben sind 3 mal vorhanden, es kommt aber nur die erste zur Geltung. Man kann (beliebig viele) weitere angaben machen (3 sind standardmäßig vorhanden), damit man verschiedene MySQL Server zugreifen kann - standardmäßig sind aber der 2. und 3. Eintrag deaktiviert.

      Um jetzt noch mal auf dein Problem zurückzukommen, Mr. Schnitzel (*g*): Eigentlich müssten die Einstellungen so stimmen, ich habs bei mir local mal so gemacht:

      $cfg['Servers'][$i]['auth_type']  = 'http';   // Authentication method (config, http or  
                                                    // cookie based)?  
      $cfg['Servers'][$i]['user']       = '';       // MySQL user  
      $cfg['Servers'][$i]['password']   = '';       // MySQL password (only needed  
                                                    // with 'config' auth_type)
      

      Beim Aufruf werde ich korrekt nach den Zugangsdaten gefragt, tippe ich als Benutzer z.B. root und kein Passwort ein, so kriege ich problemlos Zugriff.

      Gibt PHPMyAdmin bei dir irgendeine Fehlermeldung aus?

      MfG, Dennis.

      1. Hallo,
        erstmal danke für deinen Beitrag.

        Allerdings:

        das sieht dann für den Besucher aus wie .htaccess

        Da liegt natürlich das Problem.

        Denn die index.php (sowie weitere phpMyAdmin-Dateien) simulieren nur die Eingabemaske eines .htaccess Schutzes (bzw. vordern diese an).

        Wenn ich dies aber per .htaccess lösen würde, dann ist der gesamte Ordner aber vorallem auch alle Unterordner per .htaccess geschützt.

        Sofern dies simuliert wird, ist dies nicht der Fall.
        Und falls eine Datei ein Sicherheitsloch hat, wäre es möglich sich als beliebiger User einzuloggen.

        Aber für mehrere Benutzer ist es dennoch Sinnvoll dies so zu lösen.

        MFG
        Andavos

        1. Moin!

          Allerdings:

          das sieht dann für den Besucher aus wie .htaccess

          Da liegt natürlich das Problem.

          Nein, nicht "das" Problem - möglicherweise "ein anderes" Problem.

          Denn die index.php (sowie weitere phpMyAdmin-Dateien) simulieren nur die Eingabemaske eines .htaccess Schutzes (bzw. vordern diese an).

          Ja und?

          Wenn ich dies aber per .htaccess lösen würde, dann ist der gesamte Ordner aber vorallem auch alle Unterordner per .htaccess geschützt.

          Der "echte" Schutz basiert darauf, dass der Webserver bei jeder Anforderung einer geschützten Ressource prüft, ob die Benutherauthentifizierung in Ordnung ist - andernfalls gibts die Info nicht.

          Sofern dies simuliert wird, ist dies nicht der Fall.
          Und falls eine Datei ein Sicherheitsloch hat, wäre es möglich sich als beliebiger User einzuloggen.

          Man kann sich so oder so als beliebiger User einloggen, um auf phpMyAdmin Zugriff zu erlangen, aber ohne Kenntnis eines in der MySQL-Datenbank definierten Benutzeraccounts bringt einem das nicht viel, weil dann zwar phpMyAdmin erreichbar ist, aber die Datenbank nichts ausspuckt.

          • Sven Rautenberg