2016-12-10 63 views
0

Zfcuser提供一個選項以重定向到指定的路由與查詢參數「重定向」這樣的:ZF3 Zfcuser重定向PARAM不起作用

/user/login?redirect=/en/about 

Zfcuser 1. *版本上ZF2完美的作品。但最近我遷移到ZF3和Zfcuser 2.0.0版本,並注意到這個功能不起作用。

所有配置都正確。有人遇到同樣的問題嗎?

回答

0

我對這個問題做了更多的研究,看來模塊不支持將uri作爲重定向參數傳遞。它只接受命名路線。還有一個編碼方面的問題,當使用像「home/about」這樣的路由時,由於urlencoded應解碼的「/」而導致失敗。

我分叉了模塊回購,並解決這個問題。還提供了一個選項,不僅可以傳遞命名路由,而且還可以傳遞特定的URI https://github.com/ivok/ZfcUser/tree/redirect

+1

傳遞URI是一個安全漏洞,請查看@ geeh對OWASP top 10的解釋(https://www.youtube.com/看?v = qMkiZ3Ehv5M),可能是這個問題上最簡單的話題之一。只使用命名路線就像擁有一個白名單,並保護您和您的用戶。 –

+0

我不知道。我看了演講。 – Ivo

+0

但我現在在想什麼。當我們傳遞一些URL作爲重定向參數時,框架的路由器嘗試匹配路由並加載內容。所以如果你傳遞的是不合法的URI或某種對我們網站有某種威脅的查詢,那麼路由器將不會匹配它,並且會返回404或其他內容。如果這樣做,那麼問題就是其他。但在我們的例子中,當我傳遞一個重定向URI時,首先要做的是驗證該URI - 路由是否匹配這個url。如果它沒有 - 它設置爲空,這個重定向參數已經消失。如果是,那麼URI是有效的。 – Ivo