MySQL - Sicher?
markus_walther
- datenbank
0 EKKi- php
0 markus_walther0 EKKi
0 Tom0 hotti
Hallo!
Ich stehe jetzt kurz davor, meine erste Homepage hochzuladen. Hoster usw. ist alles gefunden...
Jetzt stellt sich mir die Frage, ob meine MySQL-DB nicht ein wenig unsicher ist:
Die DB ist mit einem Usernamen+Passwort geschützt. Diese Daten stehen in der db.inc.php. Die Rechte die der User hat, der in diese Datei eingetragen ist, sind INSERT, SELECT ... Wenn jetzt jemand auf seiner Seite die db.inc.php einfach included, könnte er ja theoretisch auf die Datenbank zugreifen oder?
Wie kann ich mich davor schützen
mfg
markus
Mahlzeit markus_walther,
Wenn jetzt jemand auf seiner Seite die db.inc.php einfach included,
Wie sollte er das tun?
könnte er ja theoretisch auf die Datenbank zugreifen oder?
Nein.
Wie kann ich mich davor schützen
Das brauchst Du nicht.
MfG,
EKKi
okay danke schonmal, aber warum kann er nicht auf meine Datenbank zugreifen, wenn er die Verbindung hat?!
markus
Mahlzeit markus_walther,
okay danke schonmal, aber warum kann er nicht auf meine Datenbank zugreifen, wenn er die Verbindung hat?!
Woher sollte er die Verbindungsdaten haben?
MfG,
EKKi
<?php
include("www.meine-domain.de/includes/db.inc.php");
?>
Und dann is er drauf oder nich?
Bzw.: Wie viel kann er damit anfangen? ;)
Hi,
<?php
include("www.meine-domain.de/includes/db.inc.php");
?>
Und dann is er drauf oder nich?
Nein, damit bekommt er die Datei eingebunden, die bei ihm im Verzeichnis www.example.com/includes [1] liegt, sofern sowas unterhalb des aktuellen Verzeichnisses existiert.
Vermutlich meinst du http://www.example.com/includes/db.inc.php?
Wenn jemand das einbindet, bekommt er genau das gleiche wie du, wenn du diese Ressource mit deinem Browser abrufst - ausschliesslich die *Ausgabe* dieses Scriptes.
Bzw.: Wie viel kann er damit anfangen? ;)
So gut wie gar nichts.
[1] Für Beispiele gibt es u.a. explizit example.com/.net/.org. Bitte verwende diese, und keine potentiell existierenden Domains anderer Leute!
MfG ChrisB
Hallo Markus,
Bzw.: Wie viel kann er damit anfangen? ;)
Nichts. Neben der von ChrisB schon angesprochenen Tatsache, dass er nicht den PHP-Code sondern nur die Ausgabe des Scriptes (also vermutlich garnichts) bekommt, müsste er erstmal von außen auf den Datenbankserver zugreifen können. Zumindest bei meinem Provider ist es standardmäßig so, dass man nur von localhost aus auf die Datenbank zugreifen kann.
Gruß,
Tobias
Hello Markus,
Ich stehe jetzt kurz davor, meine erste Homepage hochzuladen. Hoster usw. ist alles gefunden...
Jetzt stellt sich mir die Frage, ob meine MySQL-DB nicht ein wenig unsicher ist:Die DB ist mit einem Usernamen+Passwort geschützt. Diese Daten stehen in der db.inc.php. Die Rechte die der User hat, der in diese Datei eingetragen ist, sind INSERT, SELECT ... Wenn jetzt jemand auf seiner Seite die db.inc.php einfach included, könnte er ja theoretisch auf die Datenbank zugreifen oder?
Wie kann ich mich davor schützen
Die Sicherheit Deiner Datenbank hängt an unterschiedlichen seidenen Fäden, die i.d.R. parallel gespannt sind, also die Zugriffswege erweitern und somit die Sicherheit vermindern.
Deine Datenbankdaten sind irgendwo physisch gespeichert.
Wer hat lesenden oder sogar schreibenden Zugriff auf diesen Speicherort?
Deine Datenbank wird durch einen Dienst bedient, den Datenbankserver
Wer hat Rechte auf diesen Server? Wer hat ihn gestartet oder kann ihn stoppen?
Dein Datenbankserver ist per Socket vom Local Host erreichbar
Wer kennt die Zugangsdaten?
Dein Datenbankserver ist per Port (typisch 3306) erreichbar.
Wer kennt die Zugangsdaten?
Jeder Datenbankuser kann per eigenem Host, Usernamen und Passwort identifiziert werden. Wenn Du nun einem User@Localhost mit Passwort 123456 alle Rechte gibst, dann kann jeder, der sich als dieser User ausgeben kann, auf deinen Datenbankserver zugreifen, nicht aber auch unbedingt auf die Datenbank-Datenverzeichnisse.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
hi,
[..] Wenn jetzt jemand auf seiner Seite die db.inc.php einfach included,
includen wohl kaum, aber reingucken kann jeder, wenn der PHP-Parser mal spinnt.
Hotti