【问题标题】:Django url obfuscate with GET parameters使用 GET 参数混淆 Django url
【发布时间】:2016-08-13 21:32:56
【问题描述】:

我一直在使用django-unfriendly 来混淆网址,但它似乎只适用于没有 GET 参数的网址,例如: http://yoursite.com/music/awesome/the-melvins/ 然后它转换为: http://yoursite.com/u/E5v4uxuNSA8I2is33c6V8lqFTcdv_IxPLDGG/ 如链接所示。

我需要发送带有混淆 URL 的 GET 参数,例如

http://yoursite.com/u/E5v4uxuNSA8I2is33c6V8lqFTcdv_IxPLDGG/?param=Hello&param2=Bye

但是当我调试请求时,URL 是在没有任何参数的情况下传递的,似乎它们在反混淆过程中被忽略了。

有什么建议可以完成这项工作吗?也许还有其他选择?

【问题讨论】:

  • 你使用的是哪个 Django 版本?
  • 虽然根据source code,它实际上试图保留url查询参数..
  • 是的,好像保留了参数,但是它只保留了POST参数,没有GET,不知道为什么,顺便说一下我用的是Django 1.8+。

标签: python django url obfuscation


【解决方案1】:

更换

environ['QUERY_STRING'] = query

from urllib import urlencode

environ['QUERY_STRING'] = query + urlencode(request.GET) if request.GET.items() else ''

在不友好视图的反混淆功能中解决了它。

【讨论】:

    猜你喜欢
    • 2021-10-07
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 2019-03-28
    • 2011-12-21
    • 1970-01-01
    • 1970-01-01
    • 2011-05-17
    相关资源
    最近更新 更多