我在使用@login_required装饰器并设置LOGIN_URL变量时,发现一种信息泄漏的形式。
我的网站要求所有内容都必须登录才能访问。问题是当你访问一个已存在的页面时,会被重定向到登录页面,并且next变量也被设置了。
因此,当未登录时请求以下内容时:
http://localhost:8000/validurl/
你看到了这个: http://localhost:8000/login/?next=/validurl/
当请求一个不存在的页面时:
http://localhost:8000/faultyurl/
你看到这个: http://localhost:8000/login/
我希望能够避免暴露一些信息。我考虑重写登录方法,将下一个参数强制设为空,并在子类化的方法中调用'super'。
另外一个问题是如果不设置LOGIN_URL,我的一些测试会失败。它们会重定向到'/accounts/login/'而不是'/login/'。因此,我想使用LOGIN_URL但禁用'自动下一步'功能。
有谁能给我指点一下吗?
十分感谢。
Gerard。