0
在編寫代碼時,請求帶有附加「下一個」查詢字符串參數的頁面很常見。urlencode所有下一個參數是否方便? - django
例如,在下面的模板代碼旁分回給用戶的頁面:
<a href="{%url some_view%}?next={{request.get_full_path}}
這裏我下面一個約定:如果下一個功能,我沒有控制的東西,如用戶輸入的搜索關鍵字,我urlencode它。否則我不會。
<a href="{%url some_view%}?next={{request.get_full_path|urlencode}}
不是爲每一個參數判斷是否會被用戶提供或不提供,這將是方便,如果我URLEncode的所有未來的字符串?會不會有副作用,我目前沒有看到?
+1:只有您可以防止基於僞造請求的攻擊,這些請求可以讓事情變得很酷,因爲太多錯誤類型的信息都是URL的一部分。如果他們的搜索字符串中包含「&somefield = someValue」,那麼您的應用程序將如何運行? – 2009-11-09 16:20:28
不過,在他的問題的上下文中,下一個參數可以根據有效域列表進行檢查,或者要求它是相對的。 – 2009-11-09 16:21:51