oldbee0925 2023-02-20 00:04 采纳率: 91.4%
浏览 31
已结题

在需要验证访问的django中,ajax如何防止用户注销后被访问?

我的前端时jquery,后端是django。我用django自带的auth验证系统授权访问页面。在使用中发现了一个漏洞:
我有2个页面,“ip/a/ “和 “”ip/b/“”,都在views的index函数中定义(判断a或者b的值后流转)。
我打开a页面后,再打开b页面,然后因为没操作用户被自动注销。这时我点击浏览器(谷歌)的后退按键,回到了a页面,
a页面有很多ajax应用,点击页面发送请求的按钮,这些ajax居然都是正常的!!
我的ajax都是以路由的方式映射到后台的view的对应函数,如下:

    path('ajax_rio/', views.ajax_rio,name='ajax_rio'),
    path('ajax_stock_mv/', views.ajax_stock_mv,name='ajax_stock_mv'),
    path('ajax_stock_R_D_bend/', views.ajax_stock_R_D_bend,name='ajax_stock_R_D_bend'),
    path('ajax_stock_risk/', views.ajax_stock_risk,name='ajax_stock_risk'),

请问:我应当在每个ajax函数前加上@login_required装饰器来限制吗?还有没有更好的办法?

  • 写回答

4条回答 默认 最新

  • 阳光宅男xxb 2023-02-20 00:24
    关注

    其实,并不需要,每个view都加,你可以配置全局的登录验证,这个功能可以通过Middleware中间件来实现。具体怎么写这个中间件,你直接搜索Django全局登陆验证login_required等类似的关键字找,有很多教程。或者我给你找一个:
    https://blog.csdn.net/myy1066883508/article/details/106477893

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 2月27日
  • 已采纳回答 2月27日
  • 创建了问题 2月20日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部