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