Mailinglisten-Archive |
> > Das direkte Ausführen des übergebenen Stings als Query ist > brandgefährlich. > > So erlaubst du jedem Surfer, beliebige Queries zu schicken. Ich > könnte z.B. > folgende Anfrage schicken: > "free like 'x'; DROP DATABASE db_name" Frage: Wie soll denn der User aufgrund des Spaltennamens auf den Datenbanknamen kommen? > Du baust den String seelenruhig in deine Query ein und mit etwas > rumprobieren habe ich deine Datenbank ziemlich schnell zerhackt. > > Grundregel für Sicherheit von Web-Applikationen: Niemals übergebene > Parameter direkt und ungeprüft ausführen (auch nicht, wenn sie > nur Teil der > Query sind). > > Warum übergibst du nicht einfach nur das "j" als parameter, das löst dann > auch die Probleme mit dem en-/decoden. ganz einfach: Weil dies nur eine Dimension ist. Der gesamte String kann durchaus bis zu 15 unterschiedliche Komponenten enthalten. Das in jeweiligen Parametern zu speichern ist etwas zu umständlich. Zu Deinem Einwand: Auf die Datenbank kann via Query nur von denjenigen IP- Adressen zugegriffen werden, die für diesen Zugriff auch registriert sind. Meint: Der Webserver, von dem die Requests geschickt werden muß im gleichen Subnet wie der DB-Server stecken. Somit wird der normale Surfer kaum eine Chance haben, eine normals Query abzusetzen. Weiterhin ist das Modul, das letztendlich die mysql_query ausführt, gekapselt. Meint: Dieses Modul ist nicht direkt anzusprechen, weil der Surfer immer nur das Hauptmodul sieht und nur dieses Hauptmodul weiß, wo sich die jeweiligen Unterbereiche befinden. Das Hauptmodul testet mit jedem Zugriff die jeweilige Zugriffberechtigung und gibt dann erst an das Untermodul weiter. Zudem wird jedes Untermodul nur dann ausgeführt, wenn es direkt vom Hauptmodul her aufgrufen wurde. Ich glaube, die beiden Aspekte sollten sicher genug sein. Aber dennoch! Meine Überlegungen gehen tatsächlich dahin, eine Art Zwischentabelle Anzulegen, in der solche Informationen gespeichert werden können. Ist vielleicht doch besser. Danke für die Anregungen. Tim > Gerald. >
php::bar PHP Wiki - Listenarchive