Datenbank nur lesender Zugriff
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfrage
befehl
beispiel
benutzer
blockieren
code
datei
datenbank
funktion
limit
nehmen
ordern
server
system
tabelle
update
url
vorgefertigte funktionen
zugreifen
zugriff
-
Hallo,
gibt es eine Möglichkeit, nur lesende Befehle auf der Datenbank auszuführen?
Ein Beispiel: Ein Besucher darf einen SQL Befehl eingeben, und so auf meine Datenbank zugreifen. Allerdings soll dabei natürlich nur ein lesender Zugriff gestattet sein und kein schreibender.
Ich könnte jetzt natürlich jeden Befehl per PHP blockieren, der DELETE, UPDATE, INSERT, ... enthält, doch vielleicht gibt es ja bereits vorgefertigte Funktionen, die obriges Beispiel ermöglichen.
Vielen Dank schon mal. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
nie-genug-gewuerzt schrieb:
Ja, das gibt es und nennt sich Benutzer und deren Rechte. Die kannst du allerdings am lima-city-MySQL-Server nicht verändern, somit funktioniert das hier nicht.
… doch vielleicht gibt es ja bereits vorgefertigte Funktionen, die obriges Beispiel ermöglichen. -
Wie hackyourlife schon gesagt hat, wenn du die Rechte dazu hast einen neuen Benutzer anzulegen und dem Rechte zuzuweißen, kannst du es damit machen.
Wenn das aber nicht geht würde ich auch nicht versuchen Befehle zu rauszufilern wie UPDATE etc. sondern mit einer Whitelist arbeiten.
Das ist wesendlich sicherer!
Beitrag zuletzt geändert: 24.4.2013 8:41:05 von jam00 -
Vielen Dank,
ich hatte halt gehofft es gäbe bereits eine PHP-Funktion aber nagut. Dann werde ich wohl doch den von jam00 beschriebenen Weg nehmen. -
Das ist sicherer wenn der Server Überlastet ist kann es sein das die befehle für den Schreibzugriff nicht gelöscht werden .
Es gibt aber noch einen Dritten weg!
Das System ist ganz einfach du Steuerst die Abfrage über GET
Zugriff.php?superesfunktioniert=tabelle
Erstelle eine Datei Namens Zugriff.php die auf die Datenbank zugreift.
Der Code muss dann so ähnlich aufgebaut sein.
$tabelle = $_GET["GET"] ... $sql="SELECT * FROM $tabelle ORDER BY $wert DESC LIMIT $wert2,$wert3";
Beitrag zuletzt geändert: 24.4.2013 19:47:10 von hpage -
hpage schrieb:
Das ist sicherer wenn der Server Überlastet ist kann es sein das die befehle für den Schreibzugriff nicht gelöscht werden .
Es gibt aber noch einen Dritten weg!
Das System ist ganz einfach du Steuerst die Abfrage über GET
Zugriff.php?superesfunktioniert=tabelle
Erstelle eine Datei Namens Zugriff.php die auf die Datenbank zugreift.
Der Code muss dann so ähnlich aufgebaut sein.
$tabelle = $_GET["GET"] ... $sql="SELECT * FROM $tabelle ORDER BY $wert DESC LIMIT $wert2,$wert3";
SQL-Injection?! -
nie-genug-gewuerzt schrieb:
nur lese-zugriff auf mysql datenbanken musst du nicht unbedingt nur bei php suchen ;)
Vielen Dank,
ich hatte halt gehofft es gäbe bereits eine PHP-Funktion aber nagut. Dann werde ich wohl doch den von jam00 beschriebenen Weg nehmen.
nur lesezugriff auf db von mysql selbst: HANDLER. (jedem php-versuch turmhoch überlegen!) -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage