Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

PHP: mysql_connect ohne das Passwort zu verraten

Empfohlene Antworten

Veröffentlicht

Hallo,

ich habe nur eine DB mit der ich verschiedene User verwalten will. Hab eine Tabelle mit Feldern UserName und Passwort. Um zu überprüfen, ob der User richtige Daten eingegeben hat, muss ich mich erstmal mit dem MySQL-Server verbinden. Dafür muss ich dann meine Daten in das php-Skript reinschreiben, also mysql_connect(Addr, User, Passw).

Ich such eine sicherere Möglichkeit, das Gleiche zu tun. Das Passwort vielleicht in einer Datei auslagern oder ähnliches. Wer hat sowas schon mal realisiert und kann mir Tipps geben?

Wenn du keinem FTP-Zugriff auf dein Verzeichnis gibst, dann ist das sicher. An den Browser wird kein PHP-Code übertragen sondern der daraus gebastelte HTML-Code. Der eintzige, dem du dabei dein Passwort verrätst, ist der Server. U nd wenn du es dem nicht sagst, lässt er dich auch nicht rein.:mod:

Originally posted by jomama

Wenn du keinem FTP-Zugriff auf dein Verzeichnis gibst, dann ist das sicher. An den Browser wird kein PHP-Code übertragen sondern der daraus gebastelte HTML-Code. Der eintzige, dem du dabei dein Passwort verrätst, ist der Server. U nd wenn du es dem nicht sagst, lässt er dich auch nicht rein.:mod:

Aber an das php-Skript kann man doch bestimmt mit irgendwelchen Tools irgendwie ran.

Originally posted by Executioner

Aber an das php-Skript kann man doch bestimmt mit irgendwelchen Tools irgendwie ran.

Nö. Solange keiner einen Systemuser mit Leseberechtigungen auf die Datei, das Verzeichnis, usw. hat, kommt auch keiner dran.

Also, kann ich (fast) ohne Bedenken mein Passwort im php_Skript verwenden?

Wenn das so ist, dann danke ich euch recht herzlich...

Originally posted by Executioner

Also, kann ich (fast) ohne Bedenken mein Passwort im php_Skript verwenden?

Wenn das so ist, dann danke ich euch recht herzlich...

Liesst du oder auch die anderen die hier geantwortet haben auch Links die man zu einer Frage postet?

Die schlechteste Lösung besteht darin, diese Include-Datein mit der Endung .php im normalen Dokumentenbaum zu hinterlegen und darauf zu vertrauen, dass Dateien mit dieser Endung immer geparsed werden. Während dies im Normalbetrieb immer der Fall ist, braucht der Webserver nur einmal ohne PHP-Modul gestartet zu werden und die Datei wird im Klartext ausgeliefert.

Dasselbe geschieht dann natürlich auch mit deinem Skript und nicht nur mit "includierten Dateien" .

Gruß Jaraz

Originally posted by Jaraz

Dasselbe geschieht dann natürlich auch mit deinem Skript und nicht nur mit "includierten Dateien" .

Gruß Jaraz

Wie sollen denn die includierten Dateien ausgeführt werden, wenn kein PHP läuft? Dann steht im Code bzw. im Browser z.B. include "login.php" oder hab ich Unrecht?

Originally posted by Executioner

Wie sollen denn die includierten Dateien ausgeführt werden, wenn kein PHP läuft? Dann steht im Code bzw. im Browser z.B. include "login.php" oder hab ich Unrecht?

Ja, aber wenn du das dann siehst und die Datei im Dokument Root liegt, kannst du einfach in die Browserzeile die include Datei angeben und er zeigt dir dann schön das Passwort an.

Und zu der Frage wann das ganze mal passiert, kann ich eigentlich nur mit dem Kopf schütteln. :rolleyes:

Wenn du natürlich nur dein privates Gästebuch verwaltest, kannst wegen meiner auch dein Passwort als Überschrift nehmen. ;) Bei Firmendaten kann man gar nicht paranoid genug sein. "Alles was schief gehen kann, geht irgendwann schief." Und erkläre dann mal deinem Chef warum er beim Aufruf der Seite das Passwort im Klartext sieht."

Gruß Jaraz

Originally posted by Executioner

Wie sollen denn die includierten Dateien ausgeführt werden, wenn kein PHP läuft? Dann steht im Code bzw. im Browser z.B. include "login.php" oder hab ich Unrecht?

Nein, du hast nicht unrecht IMHO.

Meine PHP-Config-Dateien liegen z.B. im Apache config Ordner (bzw. ein Unterordner davon) - da kommt bestimmt kein Surfer hin ;) (kommt aber auch darauf an, auf welche Ordner man selbst Zugriff hat)

Wenn der Server ohne PHP gestartet ist bzw. PHP einfach nicht funktioniert kann ja auch der include nicht ausgeführt werden und es ist nur die include Anweisung zu sehen.

Originally posted by JesterDay

Nein, du hast nicht unrecht IMHO.

Meine PHP-Config-Dateien liegen z.B. im Apache config Ordner (bzw. ein Unterordner davon) - da kommt bestimmt kein Surfer hin ;) (kommt aber auch darauf an, auf welche Ordner man selbst Zugriff hat)

Wenn der Server ohne PHP gestartet ist bzw. PHP einfach nicht funktioniert kann ja auch der include nicht ausgeführt werden und es ist nur die include Anweisung zu sehen.

Dann hast du bestimmt einen eigenen Server laufen oder? Welche Provider gibt einem schon Zugriffrechte auf den Apache Config Ordner?

Originally posted by JesterDay

Nein, du hast nicht unrecht IMHO.

Meine PHP-Config-Dateien liegen z.B. im Apache config Ordner (bzw. ein Unterordner davon) - da kommt bestimmt kein Surfer hin ;) (kommt aber auch darauf an, auf welche Ordner man selbst Zugriff hat)

Wenn der Server ohne PHP gestartet ist bzw. PHP einfach nicht funktioniert kann ja auch der include nicht ausgeführt werden und es ist nur die include Anweisung zu sehen.

Ein einigermassen intelligenter Mensch kann dann darauf schliessen, wo das Dokument liegt und sich das Teil dann in Klartext auswählen. Sovial dazu.

Originally posted by Executioner

Dann hast du bestimmt einen eigenen Server laufen oder? Welche Provider gibt einem schon Zugriffrechte auf den Apache Config Ordner?

Ein anständiger Provider hat aber als Document Root Verzeichnis ein Unterverzeichnis deines Webspaces.

Beispiel:


/webspace

  /www           //nur auf dieses Verzeichnis kann über http zugegriffen werden

     index.php

  /conf

     config.php //hier steht dein Passwort

In index.php "includest" du config.php.

Fällt nun der Parser aus, kann der Benutzer den Quelltext von index.php sehen. Da config.php aber außerhalb des document root liegt, kann per Browser nicht die Datei config.php gelesen werden.

Gruß Jaraz

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.