1

我需要爲我的站點實現CSRF保護。所以我開始在我的網站上爲所有表單實現這個功能,但是我在瀏覽器擴展(Chrome,Safari,Firefox)中執行它時遇到問題。我沒有想法如何做到這一點從我的擴展(表單和AJAX職位)的帖子。有沒有人實施過這個?瀏覽器擴展中的CSRF保護

回答

3

好了,這裏有一些東西,我看到人們實際使用 - 在我的addons.mozilla.org(碼)功能審稿:

  1. 設計合適的API。 SO和網絡上有大量資源,例如詳細說明如何正確構建例如Restful APIs並確保它們不受CSRF的影響。需要記住的是,與常規網頁相比,擴展API提供的XHR既不關心同源,也允許您定義允許擴展訪問的一組位置。因此,特定於擴展的API不需要實現CORS,CORS會在這些API上收縮攻擊面。當然,最好多花一點時間,並確保即使使用CORS,您的API也是安全的。
  2. 設計完整的Web API可能需要相當長的時間。我看到人們構建了一個非常小的API:這個API由一個單一的方法組成,用於獲得CSRF令牌與常規的非常APIy現有表單一起使用。
  3. 如果您無法實施適當的API,例如它不是你的網站/代碼,或者你只是缺乏時間,資源和/或技能來了解,然後設計和實現一個API,還有另一種方式:只是網站刮網站(XHR +正則表達式),並得到CSRF令牌的方式。同樣,擴展不必遵守同源,所以網絡抓取總是可能的,而網站不能做同樣的事情,除非CORS允許。
  4. 幾乎忘記了:一些擴展只不過是一個按鈕,它會在服務器上打開一個普通的網頁 - 不一定是在常規的選項卡中,但通常在您正在處理的擴展API提供的某種面板中。
+0

我也有同樣的想法。那麼沒有其他解決方案? – Urmelinho

+0

您只能使用服務器提供的「API」。而且由於它是一個http服務器(現在提供html),你可以使用它並且我建議人們實際使用的東西。或者如果你喜歡,可以在UDP數據報上滾動另一個API。但最後,需要擴展可以與之交互的一些API /接口。 – nmaier

+0

謝謝,我會去工作和實施這種方式。非常感謝! – Urmelinho