关于xsrf的疑惑

好逑堂

来自: 好逑堂 2012-06-07 18:05:09

×
加入小组后即可参加投票
  • [已注销]

    [已注销] 2012-06-07 18:17:22

    def check_xsrf_cookie(self): # 禁用 xsrf pass

  • 好逑堂

    好逑堂 楼主 2012-06-07 21:15:02

    def check_xsrf_cookie(self): # 禁用 xsrf pass def check_xsrf_cookie(self): # 禁用 xsrf pass [已注销]

    不太明白,swfupload不能用xsrf?

  • 好逑堂

    好逑堂 楼主 2012-06-08 17:08:51

    我用pdb发现flash请求设置的headers Cookie: _xsrf=97aab8bfc56743babb41cbdb8f910226,如何让swfupload发送正确的cookie呢

  • [已注销]

    [已注销] 2012-06-10 10:53:34

    我用pdb发现flash请求设置的headers Cookie: _xsrf=97aab8bfc56743babb41cbdb8f910226,如何让s 我用pdb发现flash请求设置的headers Cookie: _xsrf=97aab8bfc56743babb41cbdb8f910226,如何让swfupload发送正确的cookie呢 ... 好逑堂

    不是不能用,只是一个折中方法而已.xsrf要在表单里面,在cookie里面不行。我做一个图片拖曳上传时,就是没找到怎么添加xsrf,只好用这种自宫的方法。

  • Fris

    Fris 2012-06-11 11:58:26

    在模板表单form里添加 {{ xsrf_form_html() }}

  • 大麦

    大麦 2012-07-28 16:45:55

    在swfupload的post_args中添加_xsrf cookie 值也不行么?

  • juju

    juju 2012-07-28 17:48:27

    在swfupload的post_args中添加_xsrf cookie 值也不行么? 在swfupload的post_args中添加_xsrf cookie 值也不行么? 大麦

    应该是可以的,官方给出post ajax的时候也是获取cookie中的_xsrf的值,然后与其他参数一起传递至服务器。_xsrf的验证针对post方法,get不需要。 http://sebug.net/paper/books/tornado/#_7

  • pynets

    pynets 2012-08-13 15:13:01

    我使用jquery的cookie插件,把$.cookie("_xsrf")传到后台

  • juju

    juju 2012-08-13 20:35:51

    我使用jquery的cookie插件,把$.cookie("_xsrf")传到后台 我使用jquery的cookie插件,把$.cookie("_xsrf")传到后台 pynets

    tornado官方中文文档还挺傻的给出了一个纯JS的获取cookie!

  • 基本不靠谱

    基本不靠谱 2014-12-29 13:52:16

    回复为毛不支持图片!

  • 自定义、

    自定义、 2015-03-04 17:15:17

    tornado的防范请求伪造要求表单页面需要有 “{% raw xsrf_form_html() %}”这个模块,这样能有效的防止XSRF攻击,但是也给需求造成了麻烦(从任意的服务器post数据到tornado,提示_xsrf missing)。通过修改源码的逻辑,可以自己在post时候添加一个_xsrf来解决 check_xsrf_cookie: 修改的地方: oken = (self.get_argument("_xsrf", None) or self.request.headers.get("X-Xsrftoken") or self.request.headers.get("X-Csrftoken")) if not token: raise HTTPError(403, "'_xsrf' argument missing from POST") _, token, _ = self._decode_xsrf_token(token) _, expected_token, _ = self._get_raw_xsrf_token() if token == '22222': # 在post的时候,添加_xsrf=22222 pass else: if not _time_independent_equals(utf8(token), utf8(expected_token)): raise HTTPError(403, "XSRF cookie does not match POST argument")

你的回应

回应请先 , 或 注册

1814 人聚集在这个小组
↑回顶部