Ich möchte meinen Website-Benutzern beliebigen schreibgeschützten Zugriff auf eine SQLite3-Datenbank geben, ohne sie in die Datenbank schreiben zu lassen oder irgendeinen anderen Schaden anzurichten. Wie?Sichere schreibgeschützte sqlite3-Datenbank
Making the db Datei schreibgeschützt hilft ein wenig, aber Befehle wie „Attach“, „.load“ und „.output“ zulassen, dass Menschen lesen/schreiben andere Dateien, die möglicherweise nicht geschützt.
Natürlich, wenn ich alle diese Befehle kannte, würde ich nur gegen sie filtern, , aber ich mache mir hauptsächlich Sorgen über Befehle, an die ich nicht gedacht habe.
ich kurz versucht sqlite3 den Quellcode zu verändern, schreibt zu verbieten, aber das ist schwieriger als es aussieht: auch die SELECT-Anweisung erscheint einige interne EINSÄTZE/etc zu tun.
Hinweis:Ich habe DoS-Angriffe in Betracht gezogen, und wird cputime bis 5s oder etwas ulimit. Mein Hauptanliegen ist der Schaden an Dateien/"Hacking", nicht an DOS.
chroot() kann funktionieren, scheint aber extrem.
Gedanken?
EDIT: Wow, habe ich das wirklich vor 3 Jahren gefragt?
Seitdem I've actually written a program to do this.
die ich denke, ziemlich sicher ist (aber ich könnte falsch sein).
Ich denke, ich bin wirklich auf der Suche nach einer "Meta-Lösung" hier. Wenn ich zum Beispiel mein gesamtes System von einer schreibgeschützten CD aus ausführen würde, müsste ich mir keine Gedanken darüber machen, was sqlite3 kann/kann. Das ist in meinem Fall zu extrem, aber die allgemeine Idee ist, dass ich eine Lösung finden möchte, die abhängig von sqlite3 Eigenschaften funktioniert. – barrycarter