2015-06-04 16 views
0

我正在構建一個返回圖像的端點。我只想允許來自同一個域的請求訪問此端點,以便其他人無法訪問它。我無法使用CORS,因爲您可以在圖像標記內進行調用,並繞過任何cors限制。無論如何要做到這一點?基於主機或域的白名單API端點

回答

0

如果你的目標是爲了防止簡單的盜鏈,你可以做一個引薦檢查:檢查Referer[!原文]頭,確保它包含列入白名單的域。

請記住,Referer標題有時會丟失,例如,因爲它已被關注用戶隱私的安全軟件刪除。

此外,不用說,任何決定濫用您的服務的人都很容易規避基於引薦來源的支票。

雖然你不能(據我所知)在瀏覽器請求中僞造引用者(例如,用AJAX下載圖片),但你可以簡單地設置一個代理服務器,它將下載具有僞造引用者頭部的圖像,將它們交付給實際的客戶。

但是,至少需要一定的精力才能這樣做,並且您可以通過IP地址輕鬆阻止這樣的服務器(除非它是IP地址池)。