我有django在使用mod_wsgi的apache服务器上运行,还有一个angularjs应用程序直接由apache提供服务,而不是由django提供。我想对django服务器(运行rest_framework)进行POST调用,但我遇到了csrftoken问题。有没有办法从服务器设置token而不将{%csrftoken%}作为模板的一部分(因为这些页面没有通过django)?我希望能够通过GET请求获取csrftoken作为cookie。然后我希望能够使用csrftokencookie值向django服务器发出POST请求。 最佳答案
我有django在使用mod_wsgi的apache服务器上运行,还有一个angularjs应用程序直接由apache提供服务,而不是由django提供。我想对django服务器(运行rest_framework)进行POST调用,但我遇到了csrftoken问题。有没有办法从服务器设置token而不将{%csrftoken%}作为模板的一部分(因为这些页面没有通过django)?我希望能够通过GET请求获取csrftoken作为cookie。然后我希望能够使用csrftokencookie值向django服务器发出POST请求。 最佳答案
我正在开发SpringWeb应用程序,我需要避免登录页面上过期csrftoken的问题,因为如果用户等待太久并尝试登录,解决csrf问题的唯一方法是重新加载页面并尝试再次登录。但它对用户不友好,我想避免这种情况。第一个问题:一般情况下是否可能(通过springsecurity3.2.4)?不禁用csrf。我尝试对登录页面使用security="none"和springseciruty"login_check",但它不起作用,我得到无限重定向或者我收到错误,即没有映射url"myhost/login_check"。第二个问题:我该怎么做? 最佳答案
我正在开发SpringWeb应用程序,我需要避免登录页面上过期csrftoken的问题,因为如果用户等待太久并尝试登录,解决csrf问题的唯一方法是重新加载页面并尝试再次登录。但它对用户不友好,我想避免这种情况。第一个问题:一般情况下是否可能(通过springsecurity3.2.4)?不禁用csrf。我尝试对登录页面使用security="none"和springseciruty"login_check",但它不起作用,我得到无限重定向或者我收到错误,即没有映射url"myhost/login_check"。第二个问题:我该怎么做? 最佳答案
我已经尝试了其他帖子中关于它的几乎所有内容,与我的问题无关。如果我尝试通过GET恢复我的URL(例如:path/users/edit/1)一切正常,我会被重定向到用户编辑页面,但如果我尝试通过POST访问此页面,springsecurity拒绝我访问该页面。这两个方法都映射到我的Controller类中。@RequestMapping(value="/users/edit/{id}",method={RequestMethod.POST,RequestMethod.GET})publicModelAndViewlogin(ModelAndViewmodel,@PathVariable(
我已经尝试了其他帖子中关于它的几乎所有内容,与我的问题无关。如果我尝试通过GET恢复我的URL(例如:path/users/edit/1)一切正常,我会被重定向到用户编辑页面,但如果我尝试通过POST访问此页面,springsecurity拒绝我访问该页面。这两个方法都映射到我的Controller类中。@RequestMapping(value="/users/edit/{id}",method={RequestMethod.POST,RequestMethod.GET})publicModelAndViewlogin(ModelAndViewmodel,@PathVariable(
我正在尝试对HTML登录表单实现安全的CSRF保护,我知道实现CSRF保护的最佳方法是在session中存储随机csrf_key,但我想将CSRF添加到我的登录和注册表格中......我不想为任何匿名未注册用户存储许多session......所以我想在不使用session或数据库的情况下创建最好的安全方案,只使用表单隐藏字段/&cookie,登录后我将使用sessioncsrf保护。我对仅保护user_storagecsrf的想法:csrf_token=AES(ip+useragent+timestamp+random_data,csrf_aes_site_key)当csrf_aes
Spring安全文档says:"WhenyouuseCSRFprotection?OurrecommendationistouseCSRFprotectionforanyrequestthatcouldbeprocessedbyabrowserbynormalusers.Ifyouareonlycreatingaservicethatisusedbynon-browserclients,youwilllikelywanttodisableCSRFprotection."如果我的服务将被“浏览器”和“非浏览器”客户端(例如第三方外部服务)使用,SpringSecurity是否提供了一种专
Spring安全文档says:"WhenyouuseCSRFprotection?OurrecommendationistouseCSRFprotectionforanyrequestthatcouldbeprocessedbyabrowserbynormalusers.Ifyouareonlycreatingaservicethatisusedbynon-browserclients,youwilllikelywanttodisableCSRFprotection."如果我的服务将被“浏览器”和“非浏览器”客户端(例如第三方外部服务)使用,SpringSecurity是否提供了一种专
我正在使用Codeigniter并通过其config.php文件启用了CSRF...$config['csrf_protection']=TRUE;$config['csrf_token_name']='csrf_token_name';$config['csrf_cookie_name']='csrf_cookie_name';然后在我的ajax请求中我得到了cookienamevarcct=$.cookie('csrf_cookie_name');和参数:csrf_token_name:cct我的问题:我还需要做其他事情吗? 最佳答案