我在提交表单后看到了两种重定向方式。检查next
参数:
return redirect(request.args.get('next', '/'))
或使用referrer
:
return redirect(request.referrer)
每个人如何运作,两者之间有什么区别?
答案 0 :(得分:1)
第一个依赖于您在查询字符串中设置next
值,并且如果提供则将重定向到该URL(如果不是,则重定向到默认值)。第二个将重定向到浏览器到达当前页面的页面。
两者都不能被原样信任,因为两者都可以被用户更改。如果您只想重定向到自己应用程序中的页面,则需要验证目标是相对URL还是域名,端口和方案是相同的。