gelöschter Benutzer
Mysql Verbindung aufbauen abhängig von Url Eingabe
Hallo
Ich denke gerade darüber nach ob ich $_SERVER['REQUEST_URI'] dafür verwende nur in bestimmten Fällen eine Datenbankverbindung aufzubauen.
Was spricht für diese Vorgehensweise und was spricht dagegen um Mysql Injection zu verhindern?
Gruß
Jörg
gelöschter Benutzer
Wie stellst du dir das genau vor?
Man kann im Grunde alles für MySQL verwenden, und SQL-Injection darf eigentlich kein Thema sein (das zu verhindern sollte eigentlich das Unterbewusstsein automatisch machen).
gelöschter Benutzer
Hallo Florian
Ich nehme die Abfrage vor meinetwegen ob die Url etwas gefährliches enthält. In dem Fall öffne ich auf gar keinen Fall die Datenbankverbindung und gebe eine 404er Seite dann zurück.
Ich sehe jetzt keinen Sinn darin die Datenbank durch Sicherheitsabfragen zu schützen wenn ich bereits vorher schon durch diese Abfrage in der Lage bin gar keine Verbindung aufzubauen.
Den genauen Code muss ich mir noch schreiben. Soll ich dir dann eine PN schicken zum Drüberschauen?
Gruß
Jörg
gelöschter Benutzer
Die URL kann nichts gefährliches enthalten, genauso wie Inhalte von Formularen.
Sicherheitstechnisch gesehen wird\'s erst kritisch, wenn du Befehle mit diesen Komponenten zusammenbastelst, wie z.B. Systembefehle mit PHP oder MySQL-Statements. Dann muss man den Inhalt aber natürlich "entschärfen" und dazu reicht bei MySQL mysql_real_escape_string(), egal welcher Art der Input ist.
Wenn du die MySQL-Verbindung aufbaust, verwendest du ja keine "externen Komponenten" und daher ist das nicht gefährlich. Es kommt also nicht drauf an, ob du die Verbindung aufbaust oder nicht.
gelöschter Benutzer
Wenn ich es richtig sehe, geht es dir in erster Linie darum, eine Fehlerseite anzuzeigen bzw. auf eine Fehlerseite weiterzuleiten.
Ob die MySQL-Verbindung aufgebaut wird, ist davon erstmal unabhängig, auch eine Fehlerseite kann eine MySQL-Verbindung benötigen (z.B. zum Loggen der fehlerhaften URLs).
gelöschter Benutzer
Hallo
Ich glaube ihr beide versteht mich nicht so ganz richtig worauf ich hinaus will.
de.wikipedia.org/wiki/SQL-Injection
Diese Veränderung der Abfrage der Datenbank kommt durch die URL die man eingibt.
Oder ich verstehe das dann doch nicht richtig.
Mit $_SERVER[\'REQUEST_URI\'] bekomme ich aber das was derjenige in der url eingegeben hat und kann danach im Skript bereits über einen Aufbau der Mysql Verbindung entscheiden.
Und wenn mir dann nicht gefällt was in der url steht dann kommt die Fehlerseite.
Roman schreibt hier häufiger mal das man die Hütte so sicher wie möglich machen sollte.
Das mysql_real_escape_string dazu dann nochmal beiträgt ist mir klar.
Ich weiss jetzt nur nicht was daran schlimm sein soll es zur Mysqlabfrage wenn einem die Eingabe im Browser nicht gefällt man bereits die Hütte dicht macht.
Gruß
Jörg
gelöschter Benutzer
Du kannst es machen und es wird deiner Seite nicht schaden, aber letztendlich auch nicht wirklich zur Sicherheit beitragen.
Letztendlich musst du halt bei jeder Query die Query selbst z.B. durch mysql_real_escape_string absichern. Eine Vorabfilterung anhand der Request-Uri ist zwar möglich, bringt dir aber keine erhöhte Sicherheit (die Queries selbst müssen schließlich schon sicher sein).
Wenn du mich fragst, gibt es sinnvollere Dinge, die man mit seiner Zeit machen kann, aber wenn du das gerne einmal umsetzen möchtest, warum nicht, Übung macht den Meister.
gelöschter Benutzer
Hallo Oskar
Ich habe nichts gegen solche Fingerübungen.
Es fördert halt eben mein Verständnis.
Sinnvoll finde ich es schon denn damit habe ich ein Skript was $_SERVER[\'REQUEST_URI\'] verwendet aufgebaut. Ausser jetzt einer Seite wo ich mit der Eingabe im Browser die Ausgabe beeinflussen kann fällt mir momentan kein Sinn dafür ein.
Gruß
Jörg
Das Seitenreport Forum hat aktuell 5272 Themen und 36104 Beiträge.
Insgesamt sind 496 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren