【问题标题】:Django: Forbidden (CSRF cookie not set.), Why this is happening , and How to fix it [duplicate]Django:禁止(未设置 CSRF cookie。),为什么会这样,以及如何解决它[重复]
【发布时间】:2020-02-29 07:25:36
【问题描述】:

我写了一个测试文件来检查 URL 是否有效并且它一直打印 Forbidden (CSRF cookie not set.) 请检查是什么问题

#post handler
@csrf_exempt
    def post(self, request, *args, **kwargs):
        valid_json = is_json(request.body)
        if not valid_json:
            error_data = json.dumps({'message': 'Invalid data sent, please send using JSON format'})
            return self.render_to_response(error_data, status=400)
        data = json.loads(request.body)
        form = SupervisorForm(data)
        if form.is_valid():
            obj = form.save(commit=True)
            obj_data = obj.serialize()
            return self.render_to_response(obj_data, status=201)
        if form.errors:
            data_error = json.dumps(form.errors)
            return self.render_to_response(data_error, status=400)
        json_data = json.dumps({'message': 'Not Allowed'})
        status_code = HTTP_400_BAD_REQUEST
        return self.render_to_response(json_data, status_code)


def post():
    data = {
        'supervisor_name':'name',
        'supervisor_phone': '76786875',
        'supervisor_email': 'sdsds@sdsd.com',
        'supervisor_image': 'path to local image',
    }
    json_data = json.dumps(data)
    json_loads = json.loads(json_data)
    print(type(json_data))
    print(type(json_loads))
    print(help(requests.put))
    r = requests.put('http://127.0.0.1:8000/api', json = json.dumps(data))

    return r.json()

【问题讨论】:

    标签: python django


    【解决方案1】:

    您可能已将 Django 配置为使用 CSRF 令牌,但尚未为您的 API 设置它。你能在你的配置中禁用 CSRF 吗?否则,您必须按照documentation 进行设置

    CSRF 对于极有可能通过脚本/iframe 被黑客入侵的网站非常重要。 CSRF 是防止您的银行帐户通过电子邮件/弹出脚本向黑客汇款的原因。除非您要构建的网站包含用户范围内的机密数据(例如 Facebook、Venmo、PayPal),否则不需要 CSRF。

    【讨论】:

      猜你喜欢
      • 2012-05-03
      • 2016-11-26
      • 2019-12-29
      • 2021-10-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-10
      • 2022-09-27
      相关资源
      最近更新 更多