Django - 403 Forbidden - CSRF 令牌丢失或不正确

     2023-02-24     178

关键词:

【中文标题】Django - 403 Forbidden - CSRF 令牌丢失或不正确【英文标题】:Django - 403 Forbidden - CSRF token missing or incorrect 【发布时间】:2013-12-03 13:10:18 【问题描述】:

当我按下“注销”按钮时,我已更新到 Django 1.6 并遇到 CSRF 令牌问题。

我的代码: --views.py

@login_required(login_url='/login/')
def show_matches(request):
    errors = []
    logged = True
    if request.method == "POST":
        if 'edit' in request.POST:
            return HttpResponseRedirect("/edit_matches/")
        elif 'view' in request.POST:
            return HttpResponseRedirect("/view_matches/")
        elif 'logout' in request.POST:
            return HttpResponseRedirect("/logout/")
        else:
            errors.append('Incorrect operation!')
    return render_to_response('admin/match_main.html', RequestContext(request, locals()))  

-- match_show.html

% extends "admin/base_admin.html" %
% block title %Administration referee page % endblock %
% block content %
        <form action='.' method='post'>% csrf_token %
            <input class="btn btn-medium btn-primary" type="submit" value="Edit Matches" name="edit" />
            <input class="btn btn-medium btn-primary" type="submit" value="View Matches" name="view" />
        </form>
% endblock %

如何解决这个问题?

【问题讨论】:

【参考方案1】:

添加隐藏输入

<input type='hidden' name='csrfmiddlewaretoken' value='csrf_token'>

【讨论】:

% csrf_token % 将为您完成这一整行。【参考方案2】:

您显示的模板不包括注销按钮。如果您想通过发布请求注销,则必须在包含注销按钮的表单中包含一个 csrf 令牌。

【讨论】:

在 django 项目中删除文件时出现 403 FORBIDDEN

】在django项目中删除文件时出现403FORBIDDEN【英文标题】:403FORBIDDENwhendeletefileindjangoproject【发布时间】:2016-10-1118:50:38【问题描述】:将django-jquery-file-upload集成到我的Django项目中。现在上传和查看列表工作。但无法删除文件。详... 查看详情

Django - 403 Forbidden - CSRF 令牌丢失或不正确

】Django-403Forbidden-CSRF令牌丢失或不正确【英文标题】:Django-403Forbidden-CSRFtokenmissingorincorrect【发布时间】:2013-12-0313:10:18【问题描述】:当我按下“注销”按钮时,我已更新到Django1.6并遇到CSRF令牌问题。我的代码:--views.py@login_r... 查看详情

Django REST Framework 删除方法请求收到 Forbidden 403

】DjangoRESTFramework删除方法请求收到Forbidden403【英文标题】:DjangoRESTFrameworkDeleteMethodRequestreceivesForbidden403【发布时间】:2021-10-0500:04:01【问题描述】:views.pyclassDeviceView(viewsets.ModelViewSet):serializer_class=DevicesSerializerqu 查看详情

无法找到 403 Forbidden 错误的原因:Nginx Daphne Django

】无法找到403Forbidden错误的原因:NginxDaphneDjango【英文标题】:Unabletofindcauseof403Forbiddenerror:NginxDaphneDjango【发布时间】:2019-07-2908:59:42【问题描述】:我在另一个问题中确认我确实可以仅使用Nginx和Daphne运行Django应用程序,并根... 查看详情

Apache 上的 Django 与 mod_wsgi (Linux) - 403 Forbidden

】Apache上的Django与mod_wsgi(Linux)-403Forbidden【英文标题】:Djangoonapachewtihmod_wsgi(Linux)-403Forbidden【发布时间】:2014-02-1809:33:24【问题描述】:好的,所以我正在关注this教程。当我尝试通过本地服务器访问我的网站时,我收到了这个奇... 查看详情

Apache 上的 Django 与 mod_wsgi (Linux) - 403 Forbidden

】Apache上的Django与mod_wsgi(Linux)-403Forbidden【英文标题】:Djangoonapachewtihmod_wsgi(Linux)-403Forbidden【发布时间】:2014-02-1809:33:24【问题描述】:好的,所以我正在关注this教程。当我尝试通过本地服务器访问我的网站时,我收到了这个奇... 查看详情

Django/Nginx - 提供超过一定大小的媒体文件时出现错误 403 Forbidden

】Django/Nginx-提供超过一定大小的媒体文件时出现错误403Forbidden【英文标题】:Django/Nginx-Error403Forbiddenwhenservingmediafilesoversomesize【发布时间】:2018-12-2814:20:22【问题描述】:当用户上传图片时,图片保存在项目目录内的media文件夹... 查看详情

django使用form表单提交数据报错:forbidden(403)(代码片段)

Issue:使用from表单submit之后报错入下:Action:把django工程文件的setting.py中的django.middleware.csrf.CsrfViewMiddleware’,这一句注释掉MIDDLEWARE=[‘django.middleware.security.SecurityMiddleware‘,‘django.contrib.sessions.middlewa 查看详情

POST 方法总是返回 403 Forbidden

】POST方法总是返回403Forbidden【英文标题】:POSTmethodalwaysreturn403Forbidden【发布时间】:2012-05-2615:59:42【问题描述】:我已阅读Django-CSRFverificationfailed以及与django和POST方法相关的几个问题(和答案)。对我来说最好但不工作的答案... 查看详情

apache部署django出现403forbidden错误怎么解决

参考技术A两种解决方式:修改httpd.conf文件,中里面添加声明,开放django所在目录位置的访问权限;将django部署到apache的hotdocs目录中;本回答被提问者和网友采纳 参考技术B因为你的django工程目录没有访问权限,你需要在httpd.conf... 查看详情

Apache mod_wsgi 在部署 Django 项目时抛出错误“403 Forbidden”

】Apachemod_wsgi在部署Django项目时抛出错误“403Forbidden”【英文标题】:Apachemod_wsgithrowingerror"403Forbidden"whendeployingaDjangoproject【发布时间】:2014-12-1911:31:40【问题描述】:我最近一直在尝试在CentOS服务器上使用mod_wsgi部署Djang... 查看详情

Django CORS 请求仅在服务器上创建 403 Forbidden Error

】DjangoCORS请求仅在服务器上创建403ForbiddenError【英文标题】:DjangoCORSrequestscreating403ForbiddenErroronlyonserver【发布时间】:2021-07-2719:08:35【问题描述】:我有一个应用程序,它使用Django作为后端并为前端做出反应,所以我设置了djang... 查看详情

通过heroku在亚马逊云前端提供django应用程序时,发布请求出现403 Forbidden错误

...oku在亚马逊云前端提供django应用程序时,发布请求出现403Forbidden错误【英文标题】:Getting403ForbiddenerroronpostrequestswhenservingdjangoapponAmazoncloudfrontthroughheroku【发布时间】:2021-09-1420:40:35【问题描述】:我在heroku中部署了一个django应... 查看详情

django 403 禁止 - 重定向到登录

】django403禁止-重定向到登录【英文标题】:django403forbidden-redirecttologin【发布时间】:2014-05-0201:59:21【问题描述】:遇到403Forbidden时如何将用户重定向到登录页面?考虑以下代码:urls.pyrouter=routers.DefaultRouter()router.register(r\'users\',... 查看详情

获取 403(禁止)React + Django

】获取403(禁止)React+Django【英文标题】:Getting403(Forbidden)React+Django【发布时间】:2021-07-1116:16:06【问题描述】:当我尝试删除或编辑任务(待办事项)时,我收到DELETEhttp://127.0.0.1:8000/api/tasks/4/403(Forbidden)。但是,当我只想完成... 查看详情

前端ajax访问django报错posthttp://127.0.0.1:8001/xxx403(forbidden)(代码片段)

前端使用ajax访问后端django程序报错误: POSThttp://127.0.0.1:8001/xxx 403(Forbidden)错误原因:参数中未携带 csrfmiddlewaretoken解决方案:在前端页面中设置 %csrf_token%ajax访问参数中设置$.ajax(url:‘http://127.0.0.1:8001/xxx‘,m 查看详情

django框架中form表单post方法无法提交forbidden(403)csrfverificationfailed.requestaborted.

问题如图:解决方法:在视图函数中引入并使用装饰器fromdjango.views.decorators.csrfimportcsrf_exempt@csrf_exempt  查看详情

Django Rest Framework + React JWT 身份验证,403 Forbidden on protected views

】DjangoRestFramework+ReactJWT身份验证,403Forbiddenonprotectedviews【英文标题】:DjangoRestFramework+ReactJWTauthentication,403Forbiddenonprotectedviews【发布时间】:2020-08-2920:53:16【问题描述】:我正在尝试使用DRF+react制作一个CRUD网站,我在某种程度... 查看详情