Jedes Datenbanksystem wird mit einem Programm zum Dumping des Inhalts geliefert.
Sie einfach das Programm von PHP aufrufen können system()
oder shell_exec()
verwenden.
Zum Beispiel, wenn Sie PostgreSQL mit aktivierter Ident authentication verwenden und wollen die Datenbank test
direkt als SQL-Text an den Browser entleeren, dann ist es so einfach wie:
<?php
header('Content-type: text/plain');
system('pg_dump test');
?>
Wenn MySQL mit Datenbank-Benutzer und Passwort gespeichert in ~/.my.cnf
, es ist auch sehr einfach:
<?php
header('Content-type: text/plain');
system('mysqldump test');
?>
jedoch dies nicht tun:
<?php
header('Content-type: text/plain');
system('mysqldump -utestuser -ptestpassword test');
?>
weil ein Passwort als Kommandozeilen-Übertragung Argument ist
very insecure.
Bin ich der Meinung, dass Sie dies auch über eine SQL-Abfrage ausführen könnten? Einige Shared Hosting-Anbieter erlauben keine Systemaufrufe. – Ross
Wenn Sie einen Hosting-Provider haben, der system() oder shell_exec() nicht zulässt, sollten Sie zu einem seriösen Provider wechseln. Eine solche Einschränkung fügt nicht wirklich Sicherheit hinzu. Es nervt nur die Kunden. – vog