https://example.net?foo=bar?query=123
ist dann wohl ein Parameter (Keyfoo
mit dem Wertbar?query=123
) und nicht wie beabsichtigt zwei (Keyfoo
mit dem Wertbar
und Keyquery
mit dem Wert123
).
Korrekt! Was man auch jederzeit nachprüfen kann. Nun, unter den modernen Frameworks gibt es sehr viele die mit Mustererkennung arbeiten, Magento, Mojo, Dancer, .Net usw.
D.h., daß ein match dazu führt, daß die zum URL gehörige Klasse erkannt und eine bestimmte Aktion ausgelöst wird. Diese Mustererkennung führt aber auch dazu, daß QueryStrings matchen die so vom Programmierer gar nicht vorgesehen waren.
Dazu ist Folgendes zu sagen: Solange sich daraus kein Sicherheitsproblem ergibt ist das in Ordnung. Im Booleschen Kontext ist es egal ob ein Schlüsselparameter einmal oder mehrfach vorkommt solange die sich daraus ergebende Bedingung erfüllt ist.
In Fakt jedoch liegen gerade Sicherheitslücken darin begründet, daß man mit Mustererkennungen eben nicht alle Fälle abdecken kann, also auch die Bösartigen.
Vielleicht hat es sich ja auch schon herumgesprochen daß man mit URL Parametern keine gleichnamigen Funktionen aufrufen sollte 😉
MfG