mod_rewrite und Sicherheit

modstyle

Mitglied
Hi!

Da ich seit geraumer Zeit über den "Hauptsache-es-funktioniert-Coding-Style" :-( hinaus bin, versuche ich möglichst hochwertigen Code zu produzieren :-).

Daher kam mir nun eine Frage auf, die ich leider nicht mit Hilfe von google beantworten konnte:

Für ein Projekt verwende ich mod_rewrite, um eben Variablen sauber weiterzugeben (name,1,2,3.html sieht eben besser aus als die übliche URL-Weitergabe). Wenn ich nun gar keine Variablen weitergeben möchte und beispielsweise alle Werte hinter "name" auf 0 gesetzt sind, überprüfe ich diese logischerweise nicht in der Zieldatei, da ich sie auch nicht verwende. Eigentlich müsste dies doch kein Problem darstellen oder kann jemand durch eine besondere Zeichenkette oder what ever trotzdem PHP dazu veranlassen etwas zu tun, obwohl die Variablen nirgens aufgerufen werden?
Das wäre dann wieder ein weiterer Schritt in Richtung sicheres Programmieren :).

Danke für die Hilfe!
 
URL-Design hat eigentlich nichts mit Programmierung zu tun, sondern ist ein oft wenig beachteter Aspekt der Benutzungsfreundlichkeit.


Dennoch muss ich sagen, dass ich dein Anliegen nicht ganz verstanden habe. Könntest du es bitte noch einmal präziser ausführen, wenn möglich mit ein paar anschaulichen Beispielen.
 
Hi!

Schonmal danke für die Antwort.

Was ich eigentlich meine (und ich hab es etwas blöde umschrieben, da es eigentlich egal ist ob mod_rewrite oder nicht) ist, ob ein User z.B. die Datei kontakt.php aufrufen kann mit kontakt.php?variable=ganz_boeser_string und ob man das irgendwie absichern muss auch wenn ich dann "variable" gar nicht im skript verwende oder ob das völlig egal ist.

Und um das ganze ein wenig zu ergänzen: Welche Sonderzeichen sind genrell gefährlich? Also wenn ich dem User z.B. in einem Anmeldeformular die Möglichkeit gebe einen Text frei zu schreiben und diesen Text dann überprüfen möchte, ob er nicht schädliche Code-Elemente enthält (z.B. irgendwelche MySQL-Anweisungen), welche Sonderzeichen kann man da erlauben? Also ich persönlich würde sagen, dass a-z,A-Z,0-9,Komma,?,!,(),*,.,- ausreichen müssten um einen Text zu schreiben und soweit ich weiss kann man damit auch nichts bösartiges basteln, oder täusche ich mich da?
 
Zuletzt bearbeitet:
Hallo!

So wie ich es verstehe, glaubst du, dass die Variable, die Übergeben wird im Script evtl. verwendet werden musst (oder weisst es zumindest nicht genau) und möchtest nun wissen, ob irgendwas "passiert", oder es etwas "ausmacht", wenn du die übergebene(n) Variable(n) nicht benutzt.
Sollte dies der Fall sein, hier ein ganz klares Nein!
Das wäre ja auch ziemlich schräg! Dann könnte man ein Script einfach "kaputt" machen, indem man nur zum Spass ein paar Variablen an die URL hängt... ;)
 
Hi!

Ja ich weiss, das klingt kurios und wäre ein wenig dämlich von den Programmierern aber es würde ja durchaus die Möglichkeit bestehen, dass es eine Hintertür in PHP gibt o.ä. Denn sobald irgendeine Variable an die URL gehängt wird muss PHP diese ja in gewisser Weise verarbeiten damit man die hinterher überhaupt im Skript verwenden kann, d.h. selbst wenn ich sie nicht verwende passiert ja etwas damit, von daher kam mir dieser Gedanke aber vielleicht kriege ich ja auch nur Paranoia wegen den ganzen Artikeln zum Thema Sicherheit, die ich gelesen habe *g*.

Den Thread davor habe ich editiert während du diese Antwort geschrieben hast, vielleicht kannst du mir da ja noch ein paar Tipps geben:

Und um das ganze ein wenig zu ergänzen: Welche Sonderzeichen sind genrell gefährlich? Also wenn ich dem User z.B. in einem Anmeldeformular die Möglichkeit gebe einen Text frei zu schreiben und diesen Text dann überprüfen möchte, ob er nicht schädliche Code-Elemente enthält (z.B. irgendwelche MySQL-Anweisungen), welche Sonderzeichen kann man da erlauben? Also ich persönlich würde sagen, dass a-z,A-Z,0-9,Komma,?,!,(),*,.,- ausreichen müssten um einen Text zu schreiben und soweit ich weiss kann man damit auch nichts bösartiges basteln, oder täusche ich mich da?
 
Zurück