2016-12-10 3 views
0
funktioniert

Zfcuser eine Option, um auf bestimmte Strecke mit Abfrage param "umleiten" so umleiten:Zf3 Zfcuser umleiten param nicht

/user/login?redirect=/en/about 

Zfcuser 1. * Version auf ZF2 funktioniert perfekt. Aber vor kurzem habe ich zu ZF3 und Zfcuser 2.0.0 Version migriert und festgestellt, dass diese Funktionalität nicht funktioniert.

Alles ist richtig konfiguriert. Hat jemand das gleiche Problem erlebt?

Antwort

0

Ich machte mehr Forschung zu dem Problem, und es scheint, dass das Modul die Weitergabe eines uri als Redirect-Parameter nicht unterstützt. Es akzeptiert nur benannte Routen. Außerdem gibt es ein Problem mit der Codierung und wenn eine Route wie "home/about" verwendet wird, versagt sie mit dem "/", welches urlen codiert ist und sollte decodiert werden.

Ich verzweigte das Modul Repo und reparierte dies. Auch eine Option, um nicht nur benannten Routen, sondern und bestimmte uri

+1

zu übergeben Passing URI ist eine Sicherheitslücke, bitte werfen Sie einen Blick auf @ GEEH Erklärungen der OWASP Top 10 (https://www.youtube.com/ watch? v = qMkiZ3Ehv5M), möglicherweise eines der einfachsten Gespräche zu diesem Thema. Die Verwendung von nur benannten Routen ist wie eine Art Whitelist und schützt Sie und Ihre Benutzer. –

+0

Das wusste ich nicht. Ich habe den Vortrag gesehen. – Ivo

+0

Aber was ich jetzt denke. Wenn wir eine URL als Redirect-Parameter übergeben haben, versucht der Router des Frameworks, die Route anzupassen und den Inhalt dann zu laden. Wenn Sie also keine gültige URI oder eine Abfrage übergeben, die eine Art Bedrohung für unsere Site darstellt, wird der Router sie nicht zuordnen und 404 oder was auch immer zurückgeben. Wenn es das tut, dann ist das Problem ein anderes. Aber in unserem Fall, wenn ich einen Umleitungs-URI übergeben habe, ist das erste, was zu tun ist, diesen URI zu validieren - stimmt die Route mit dieser URL überein oder nicht? Wenn nicht - es wird auf null gesetzt und dieser Redirect-Parameter ist weg. Wenn dies der Fall ist, ist der URI gültig. – Ivo