django – 错误是什么意思? :“禁止(推荐人检查失败 – 没有推荐人.):”

前端之家收集整理的这篇文章主要介绍了django – 错误是什么意思? :“禁止(推荐人检查失败 – 没有推荐人.):”前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我有一个网站运行,似乎工作正常.然而,现在我第一次在日志中看到了这个错误.

Forbidden (Referer checking Failed - no Referer.): /pointlocations/
[pid: 4143|app: 0|req: 148/295] 104.176.70.209 () {48 vars in 1043 bytes} [Wed Jul 26 19:49:35 2017] POST /pointlocations/?participant=A2TYLR23CHRULH&assignmentId=3P4MQ7TPPYF65ANAUBF8A3B38A0BB6 => generated 2737 bytes in 2 msecs (HTTP/1.1 403) 1 headers in 51 bytes (1 switches on core 0)

发布到/ pointlocations /时会发生这种情况,但仅限于一个特定的人(每个参与者对于每个帐户都是唯一的,所以我知道它只有一个人,反复出现这个问题.超过500个其他参与者没有这样的问题/错误.

这个错误意味着什么,可能导致它的原因,我能解决这个问题吗?

最佳答案
TLDR:尝试将csrf_exempt装饰器用于您的视图:

from django.views.decorators.csrf import csrf_exempt

@csrf_exempt
def my_webhook(request):
    # Do some stuffs...

    # Return an HHTPResponse as Django expects a response from the view
    return HttpResponse(status=200)

只有在绝对需要时才应该这样做,以避免潜在的安全漏洞.

更多背景:

我在使用第三方调用的Web挂钩时遇到了类似的问题,这是一种支付解决方案.第三方调用该网络挂钩的Django视图,以便每次付款状态发生变化时通知我们(例如,从“打开”变为“付费”).

由于支付平台仅在请求POST中提供支付ID,因此不应执行CSRF检查. Django允许您通过csrf_exempt装饰器执行此操作.

原文链接:https://www.f2er.com/nginx/434351.html

猜你在找的Nginx相关文章