2014-01-13 25 views
5

在遊戲框架,我們可以申請全球CSRF檢查如何選擇禁用遊戲框架2(JAVA)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

這是可行的?

回答

5

我創建瞭如何做到這一點博客文章,在這裏看到:

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

2017年更新:與PlayFramework 2.6開始,這是現在包含在框架本身:https://www.playframework.com/documentation/2.6.x/JavaCsrf#applying-a-global-csrf-filter

+0

待辦事項你有這個答案的Java版本? – plade

+0

即,其中'Global'是用Java編寫的,而不是Scala。 – plade

+0

爲什麼你需要它在Java?正如在博客文章中看到的,你也可以從java控制器中使用這個功能。 –