除了Apache Sling Referrer Filter外,Ache還提供新的CSRF保護架構,以防止這類攻擊。
該框架利用令牌來保證客戶端請求的合法性。 當表單傳送至用戶端時產生代號,並在表單傳回至伺服器時驗證。
匿名使用者的發佈例項上沒有代號。
任何依賴granite.jquery
相關性的元件都將自動受益於CSRF保護框架。 如果任何元件的情況不是這樣,則必須先將相依性聲明為granite.csrf.standalone
,然後才能使用框架。
若要使用代號,您必須將/etc/keys/hmac
二進位檔複製到部署中的所有例項。 將HMAC密鑰複製到所有實例的一個方便方法是建立包含密鑰的包,並通過包管理器在所有實例上安裝它。
也請務必進行必要的Dispatcher設定變更,以便使用CSRF保護架構。
如果您將資訊清單快取與網頁應用程式搭配使用,請務必將「*」新增至資訊清單,以確保Token不會讓CSRF代號產生呼叫離線。 如需詳細資訊,請參閱此link。
如需CSRF攻擊的詳細資訊及緩解方法,請參閱跨網站請求偽造OWASP頁面。