Amazon web services AWS S3 HTTP POST-重定向到URL中带有参数的页面

Amazon web services AWS S3 HTTP POST-重定向到URL中带有参数的页面,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,我有一个表单可以上传到S3的一个图像中,它工作得非常好。但是,对于success\u action\u redirect键,我希望有一个URL使用表单中的模板变量,即 {"success_action_redirect": "localhost/account/{{account.id}}"}, 我似乎无法在我的邮政政策中使用这一点。有办法绕过它吗 编辑: 以下是表格中的相关行: <input type="hidden" name="success_action_redirect" va

我有一个表单可以上传到S3的一个图像中,它工作得非常好。但是,对于
success\u action\u redirect
键,我希望有一个URL使用表单中的模板变量,即

{"success_action_redirect": "localhost/account/{{account.id}}"},
我似乎无法在我的邮政政策中使用这一点。有办法绕过它吗

编辑:

以下是表格中的相关行:

<input type="hidden" name="success_action_redirect" value="http://localhost:8000/account/{{account.id}}">

此外,我尝试使用
{%templatetag%}
来阻止
{{account.id}}
成为变量,尽管它进入了S3,但它(显然)没有重定向到正确的页面

在您的策略中,您必须使用
开头,而不是
$eq
,以允许成功操作重定向URL匹配前缀

因此,您的策略可能如下所示:

["starts-with", "$success_action_redirect", "localhost/account/"],
请参阅政策文档:


在您的策略中,您必须使用
开头,而不是
$eq
,以允许成功操作重定向URL匹配前缀

因此,您的策略可能如下所示:

["starts-with", "$success_action_redirect", "localhost/account/"],
请参阅政策文档:


您是否尝试过创建一个名为success\u action\u redirect的隐藏表单,以及带有所需redirect\u url的值?它实际上应该可以工作。在问题中添加了更多的细节,但是是的,我在表单中得到了一个隐藏的输入。您是否尝试过创建一个名为success\u action\u redirect的隐藏表单,以及带有所需redirect\u url的值?它实际上应该可以工作。在问题中添加了更多的细节,但是是的,我在表单中得到了一个隐藏的输入。我不能相信我错过了它,即使我在策略中的其他两个键中使用了它!非常感谢:)+1表示正确,但@monadoboi注意您不能相信这一点,因为account.id值不再受策略约束。恶意用户可以在上载对象之前操纵HTML表单。最好在策略(生成签名时)和表单呈现时都插入所需的文本值。永远不要信任用户。@Michael sqlbot account.id是一个变量。将其作为文字值意味着每个帐户都有不同的post策略/签名。你是在暗示每次用户发帖时我都应该生成一个新的签名吗?或者重定向到URL中没有变量的页面更好吗?是的,绝对正确——这正是您应该做的:为每次上载生成新策略、签名和表单,将过期时间设置为不超过必要的时间。我不能相信我错过了这一点,尽管我已经将其用于策略中的其他两个键!非常感谢:)+1表示正确,但@monadoboi注意您不能相信这一点,因为account.id值不再受策略约束。恶意用户可以在上载对象之前操纵HTML表单。最好在策略(生成签名时)和表单呈现时都插入所需的文本值。永远不要信任用户。@Michael sqlbot account.id是一个变量。将其作为文字值意味着每个帐户都有不同的post策略/签名。你是在暗示每次用户发帖时我都应该生成一个新的签名吗?或者重定向到URL中没有变量的页面更好吗?是的,绝对正确——这正是您应该做的:为每次上载生成新策略、签名和表单,将过期时间设置为不超过必要的时间。