zoukankan      html  css  js  c++  java
  • play 学习 二: 关于play跨域

    默认, 在满足下面三个条件的情况下,Play框架会做一CSRF(跨站点请求伪造) 的检查:

    • 请求方法不是GET, HEAD 或 OPTIONS.
    • 情求包含Cookie或者Authorization头.
    • play没有配置CORS过滤相信请求

    通过如下配置,可以pass  CSRF检查:

    play.filters.csrf.header.bypassHeaders {
    X-Requested-With = "*"   // X-Requested-With头域表示请求是通过Ajax发的,就会pass CSRF 检查
    Csrf-Token = "nocheck"  // 这个也会pass CSRF检查
    }

    -----------------------------------------------------------------分割线-------------------------------------------------------------------------------

    我遇到的问题是:前端的两个请求, 成功的request 不带cookie, 不成功的带了cookie(相对路径), 而后端对于有cookie的会执行检查。我做了如下尝试:
    play.filters.csrf.header.bypassHeaders {
    X-Requested-With = "*"
    Csrf-Token = "nocheck"
    }

    问题解决。

  • 相关阅读:
    Django
    Django
    Django
    6.1
    Django
    Django
    Django
    Django
    Django简介
    web应用/http协议/web框架
  • 原文地址:https://www.cnblogs.com/liufei1983/p/9248749.html
Copyright © 2011-2022 走看看