2011-02-05 44 views
6

我見過像Google這樣的服務,需要您在創建JavaScript調用時添加API密鑰,就像這樣。當看到js代碼的任何人都可以看到javascript API key的時候點什麼

https://www.google.com/jsapi?key=thekeygoeshere 

當代碼可以被看到並且密鑰可以被讀取時,這個javascript api鍵有什麼意義。有人不能複製這個密鑰並將其用於他們自己的網站?還是有其他的事情,他們在後臺做,以確保密鑰屬於網站撥打電話?

回答

6

推測他們檢查引用HTTP頭。

大多數用戶發送它。所以,如果是:

  • ,關鍵匹配的網站,就可以正常運行。
  • 如果網站與密鑰不匹配,他們可以拒絕該請求。
  • 空白,他們可以正常運行,並允許一小部分人在錯誤的網站上使用API​​。

大多數使用錯誤密鑰的網站訪問者都會被阻止,因此首先在網站上使用錯誤的密鑰是不值得的。

+0

這將是相當危險的,因爲Referer-Header可以根據標準爲空(並且對於許多用戶而言,因爲他們不希望網站知道他們以前在哪裏)。 – anroesti 2011-02-05 14:11:31

+0

更新了答案,解釋了爲什麼它沒有真正的風險。 – Quentin 2011-02-05 14:20:06

0

谷歌代碼將使用AJAX或類似的東西,將打電話給他們的服務器詳細說明您的密鑰,以及它正在使用的網站的網址。然後谷歌可以檢查它是否爲該密鑰的正確站點,如果不是則停止工作。

雖然,地圖API似乎可以在任何網站上使用任何鍵。

相關問題