django中如何对url中的参数进行过滤

在django中,用户可能会传入"localhost:8000/admin/?user=test&haha=xss"

处理时采用的是 request.GET.get('user')

haha这个参数是用户非法传入。同时可能会有千奇百怪的输入。

不能采用限制参数个数的方式,因为我允许一些参数默认缺省。

有没有好的解决方案?

阅读 4k
2 个回答

用户在网址后面添加其他非法参数,这个是程序无法控制,django唯一能控制的是愿意接受那些参数,你可以通过user-agent/cookie/session来判断用户是否是合法性,再决定是否接受请求。

可以考虑使用如下的路由规则:

url(r'^admin/(?P<user>\w+)/$', views.index),
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题