如何解决使其只能通过重定向访问 url
我正在将我的用户从 paypal 付款重定向到 register.html,以便您只有在支付订阅费用后才能注册。
如何使此重定向成为访问页面的唯一方法,而不是简单地将 mysite.com/register 放入浏览器?
我有需要登录的页面,但显然这是在用户注册之前进行的,所以不能这样做。
解决方法
您可以在网址中添加付款 ID,例如:
mysite.com/register/
对于 OP 中发布的要求,您可能有兴趣使用 HttpRequest.META 中可用的 HTTP_REFERER
来告诉您用户从何处重定向。
这是关于如何在 django 中实现它的示例视图
def your_view(request):
print(request.META.get('HTTP_REFERER'))
if request.META.get('HTTP_REFERER') == 'whatever url of paypal you want to allow':
some_context = {}
return render(request,'yourhtml.html',some_context)
return redirect('/') # it can be redirected to anywhere if user is not intended audience
因此它只会向来自您在 if 条件中设置的 url 的用户显示此视图
注意:我不会说它是安全的,但它会成功
为了确保安全,我建议您设置一个短暂的临时令牌,例如 jwt 或用于用户验证的东西(如果可能)。我对 paypal 不太了解,所以就不多说了。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。