如何在页面之间安全重定向

时间:2019-05-03 09:27:52

标签: security redirect flask flask-wtforms

我有一个Flask Web应用程序,其中包含许多彼此重定向的不同子页面。到目前为止,我总是接下来再传递一个HTTP参数。

假设用户来自

/old/url

访问

/new/url?next=/old/url

然后我只解析Http请求并检查是否存在下一个参数:

return redirect(request.args.get('next') or url_for('.index'))

我发现的问题是我也有一个要删除的API端点。 因此可能存在恶意制作的链接,例如:

/new/url?next=/item/delete/<item_id>

因此,在重定向用户时,该项目将被删除。并且由于用户很可能已通过身份验证,因此服务器会将请求视为有效请求。

是否有针对此类内容(我的api端点或重定向)的最佳做法?

问候

0 个答案:

没有答案