X-CSRF-Token

Odata服务HTTP测试总是出现烦人的 CSRF token validation failed

(for all modifying requests)忽略下图中的报文错误

X-CSRF-Token_第1张图片

怀疑是服务器参数的设置问题,临时应急的话可以先针对这个服务把CSRF校验关掉

SICF找到这个服务

X-CSRF-Token_第2张图片

增加一个参数

X-CSRF-Token_第3张图片

  • Modifying request的CSRF这样的工作的:
    1. 用一个非修改(non-modifying)的请求(GET)返回CSRF。首先发送GET请求时X-CSRF-Token参数值 指定为'Fetch',在成功返回的header里有参数 X-CSRF-Token
    2. 然后才是modifying 请求(POST),这里要带上第一步返回的X-CSRF-Token,这里如果validation不通过一样会返回403forbidden错误,失败的请求中是不会有有效的X-CSRF-Token的
    3. 如果X-CSRF-Token检验通过,正常的POST

  • 如果要禁用HTTP的话可以把login/ticket_only_by_https这个参数设为1,这个HTTP的任何请求都会返回403forbidden ‘CSRF token validation failed’下面这个服务器就是这么搞的,别问我为什么知道的

 X-CSRF-Token_第4张图片

X-CSRF-Token_第5张图片 参考 :https://help.sap.com/saphelp_gateway20sp12/helpdata/en/e6/cae27d5e8d4996add4067280c8714e/frameset.htm

你可能感兴趣的:(ODATA,ODATA,CSRF,ISSUE)