2013-11-04 69 views
5

我想使用Flickr API方法flickr.photos.search在JavaScript中,尋找我所有的照片與特定的標籤:在客戶端JavaScript中使用我的Flickr API密鑰是否安全?

http://api.flickr.com/services/rest/?method=flickr.photos.search&api_key={API_KEY}&user_id=50001188%40N00&tags=fazynet&format=rest 

(要使它工作,改變{API_KEY}一個有效的Flickr API密鑰)。

我的問題是:在客戶端JavaScript中包含該鍵是否安全?

我見過一些教程網站在做它,但是如何阻止某人複製他們的API密鑰(或我的)並超過費率限制?當然,我可以設置一個運行在Node.js中的非常簡單的代理來插入密鑰(甚至可能是Apache或Nginx可以實現的),但是還需要設置和監控。

如果有一個安全的,純粹的JavaScript解決方案,我會接受。 :)

注意,我目前使用此查詢需要任何身份驗證:

http://api.flickr.com/services/feeds/[email protected]&tags=fazynet&format=json 

然而,結果似乎不再反映變化(至少24小時的等待後)。

+1

有沒有辦法解決它。如果您在客戶端代碼中使用它,則最終用戶可以看到它,並且可以將其複製到自己的腳本中。你可以做的最好的事情是混淆你的Javascript,讓他們難以接近它。 – Barmar

+2

[如何保護API密鑰使用JavaScript?](http://stackoverflow.com/q/11470389/710446) – apsillers

回答

1

沒有一種純粹的JavaScript方法可以實現這一點,恐怕您必須創建一個服務器端腳本來執行API調用並調用該腳本。

+0

可能的重複當然,我還沒有設法想到它可以用任何方式完成目前的Flickr API(也許他們可以將其更改爲僅允許來自特定域的請求,但是甚至不能確定這是可能的)。 – fazy

+0

不幸的是,由於請求將來自用戶瀏覽器,所以他們不知道(或確認)它來自哪個域。此外,這沒有任何必要。但很好的問題。 – George

相關問題