README
Allgemeines
Die Version 0.1 der part-db ist vor allem ein experimentelles Release. Prinzipiell sollte alles funktionieren, allerdings wurden einige Dinge noch nicht umgesetzt:
- Zum einen werden Nutzereingaben nicht gefiltert. Das bedeutet, dass bösartige Nutzer die Datenbank der part-db manipulieren können. Eine Veränderung anderer Datenbanken ist bei korrekter Einstellung der Zugriffsrechte beim MySQL-Server ausgeschlossen, aber das Auslesen der Daten kann dennoch möglich sein.
- Das Fehlerhandling müsste überarbeitet werden. Im normalen Betrieb sollten aber dennoch keine Fehler auftreten.
- Keinerlei Passwortabfragen. Jeder mit Zugriff auf den Server kann die Daten nach Belieben verändern.
- Der Code ist unaufgeräumt und z.T. nicht kommentiert.
- Es können nicht mehrere Nutzer parallel Daten ändern, ohne dass es zu Datenkorrumption kommt.
- ...
Obrige Liste erhebt natürlich keinerlei Anspruch auf Vollständigkeit.
Die meisten der oben genannten Probleme/Sicherheitslücken lassen sich allerdings mit einer Passwortabfrage durch den Web-Server beheben. Stichwort ".htaccess". Für Apache 1.3 siehe http://httpd.apache.org/docs/1.3/howto/auth.html. Für Apache 2.0 siehe http://httpd.apache.org/docs/2.0/howto/auth.html. Gegebenenfalls sollte man dann noch über eine SSL-Verbindung nachdenken.
Neue Versionen gibt es auf der Homepage des Autors: http://www.cl-projects.de/.
Lizenz
Die part-db wird unter der GPL veröffentlicht. Siehe dazu in der beiliegenden Datei gpl.txt oder auf der Seite der Free Software Foundation.
Installation
Auch wenn ich aus Zeitmangel keine Zeit hatte, diese Anleitung zu testen, ich gebe sie dennoch an. Ein einigermaßen erfahrener Nutzer sollte es auch ohne die Anleitung unten schaffen, die Software zu installieren.
- Legen Sie eine Datenbank namens part-db an. (Sie können den Namen der Datenbank auch ändern. Werfen Sie dazu einen Blick in die Datei lib.php)
- Erzeugen Sie einen MySQL-User mit einem beliebigen Namen. Stellen Sie für diesen Nutzer ein Password ihrer Wahl ein, ein zufälliges Password ist natürlich am besten. Stellen Sie die Zugriffsrechte dieses Nutzers so ein, dass er auf die oben erzeugte Datenbank Vollzugriff und auf die anderen Datenbanken keinen Zugriff hat. Diese Daten müssen Sie in der Datei lib.php entsprechend eintragen.
- Die mitgelieferte Datei createtables.sql enthält alle SQL-Anweisungen, um die nötigen Datenstrukturen anzulegen.
- Kopieren Sie alle mitgelieferten Dateien in ein Verzeichnis Ihres Webservers. Schützen Sie dieses Verzeichnis mit einem Password (s.o.)
- Ausserdem sollten Sie die Zugriffsrechte der Datei lib.php so einstellen, dass nur der PHP-Interpreter sie lesen kann. Dies schützt jedoch noch nicht vor anderen Usern deren PHP-Skripte unter demselben Nutzernamen laufen. Optimal ist es, wenn die Skripte jedes Users unter einem anderen Nutzernamen laufen.
Homepage
Die Homepage des Autors der part-db ist http://www.cl-projects.de/. Dort können Sie auch Bugs melden.
Ich wünsche mir natürlich *viel* Feedback, d.h. was funktioniert hat, was zu verbessern ist, was fehlt etc.
Copyright by C. Lechner, 2005.