2014-10-09 22 views
1

我們正在開發API以允許客戶和經銷商購買和管理我們的產品。在API上啓用CORE

目前我們沒有在服務器上啓用CORS。這可以防止js(例如Angularjs)訪問API。

我想讓這些頭文件啓用,以便客戶可以通過瀏覽器中的js訪問我們的API。

在通配符上實現CORS的風險是什麼?在基本上是公共API的基礎上允許這樣做的風險是什麼?這是否使我們的API本質上更容易受到濫用或任何事情?

Access-Control-Allow-Origin: * 

當我們向我們的老學校後端開發人員的開發人員提交論據時,還有什麼我應該考慮的嗎?謝謝。

回答

0

如果你的API是公開的,我沒有看到任何風險..(並且即使它是一個私人API認證) 簡而言之,人們可以從他們自己的域名中調用它。

但是,您可以將其限制到域中,而不是強制使用通配符。

+0

謝謝你,但我不能因爲聲譽。 – bbish007 2014-10-10 07:59:27

1

考慮:

  • 愛麗絲,運行一個網站
  • 鮑勃,誰使用Alice的網站
  • 馬洛裏的人,誰運行一個惡意網站

如果你一個人一個人使用CORS從瀏覽器啓用全局訪問您的API然後:

如果鮑勃可以欺騙訪問Mal然後Mallory的網站可以指示Bob的瀏覽器從Alice的網站獲取數據並將其提供給Mallory的網站。

如果Bob登錄到Alice的網站,那麼瀏覽器將發送任何需要認證爲Bob的cookie。

Mallory然後可以訪問Alice的網站上的任何數據,這些數據應該是Alice和Bob私有的(例如Bob的訂單歷史記錄,醫療記錄或Alice的網站存儲的任何其他數據)。

如果通過API提供的數據僅包含公共信息,那麼使其全局可訪問沒有問題。如果它包含個人數據,那麼你需要考慮使用一些輔助認證手段。

+0

謝謝@Quentin。該API目前設置有一個登錄API,其中24小時創建api密鑰。任何與API的進一步交互都需要此API密鑰。這是你會認爲是「第二手段的認證」? – bbish007 2014-10-10 08:01:00

相關問題