当前位置: 首页 > 面试题库 >

如何在Play Framework 2(Java)中有选择地禁用CSRF检查

令狐灿
2023-03-14
问题内容

在Play框架中,我们可以应用全局CSRF检查

@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public <T extends EssentialFilter> Class<T>[] filters() {
    Class[] filters = { CSRFFilter.class };

    return filters;
}

在大多数情况下都可以。但是我想设置指向我们网站的Facebook
Canvas页面。问题是Facebook将POST请求发送到我们的网站,并且CSRF检查阻止了它。它始终返回 “无效的CSRF令牌”

因此,我想在某些操作中选择禁用CSRF检查,例如www.ourwebsite.com/canvas

这可行吗?


问题答案:

我创建了有关如何执行此操作的博客文章,请参见此处:

http://dominikdorn.com/2014/07/playframework-2-3-global-csrf-protection-
disable-csrf-
selectively/

2017年更新:从PlayFramework
2.6开始,现在已包含在Framework本身中:https
://www.playframework.com/documentation/2.6.x/JavaCsrf#applying-a-global-csrf-
filter



 类似资料:
  • 如果选择选项值是从循环中提取的,那么如何禁用该选项值?是否有其他方法解决此问题? 示例输出在循环和我想禁用选项值6和7。谢谢帮忙。

  • 我正在使用Primeface 4.0,我有一个具有多种选择功能的日期表。我愿意实现的是仅通过复选框按钮选择行,禁用单击行的功能。在当前场景中,即使我单击任何行,我也选中了复选框,我想禁用行选择。 我从这个论坛上得到了一些解决方案,但无法解决。请告诉我需要做什么。

  • 我想知道如何为添加排除。IE和Chrome似乎用appcache做了正确的事情,而不管我的头是什么,但FF似乎更奇怪一点,它注意到appcache何时发生了变化,我认为我的缓存头搞砸了。 编辑:我应该从WebMvcAutoConfiguration的源代码中添加,它显示了如何为资源设置缓存,我只是不确定如何选择性地禁用我的1case W/O,这可能会破坏spring boot在该文件中设置的其余内

  • 问题内容: 我在HTML页面上有一个div,每当我按下鼠标并移动它时,它会显示“不能放下”光标,就像它选择了某些内容一样。有没有办法禁用选择?我尝试了CSS用户选择,但没有成功。 问题答案: 的专有版本将在大多数现代浏览器中运行: 对于IE <10和Opera,您将需要使用希望不可选择的元素的属性。您可以使用HTML中的属性进行设置: 遗憾的是,该属性没有被继承,这意味着您必须在内每个元素的开始标

  • 我有两个表和 names表有以下列表: -男性姓名从nameID 1到nameID 10 -女性姓名从nameID 11到nameID 21 -两者都从nameID 23到nameID 31 性别表有三个属性: -女性 -男性 -两者 我正在使用引导选择选项,我想显示从nameID11到nameid21的名称,如果用户从gender选择选项中选择女性,等等,这是可能的吗?我看到其他帖子,我注意到他

  • 有inspect代码,这个网站使用angular应用程序作为前端。如何选择日期。如果所有日期都禁用,则转到下个月,如果不可用,则检查下个月 HTML: 当日期可用时,首先单击“另一个”转到下个月,检查是否找到任何可用日期,然后单击。 我该怎么做帮我我试过了但我做不到