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