2012-04-01 49 views

回答

3

如果您發送數據到客戶端,客戶端可以讀取數據。無法防止這種情況發生(如果JavaScript可以解碼,用戶也可以解碼)。爲了避免這種情況,您需要將數據(您的AppID)保存在您的網站上,並在您的服務器上處理請求。因此,JavaScript需要與您的服務器通話,然後您的服務器會將請求傳遞給eBay,添加AppID,然後將結果傳回給JavaScript。

+0

謝謝你的回答,Rob。 是的,我最終將烹飪服務器端PHP腳本來檢索數據。我想知道爲什麼eBay沒有實施任何安全措施:例如,Etsy JavaScript API控制面板允許開發人員根據每個域設置訪問限制。 – 2012-04-01 12:34:50

+0

我對Etsy界面並不熟悉。你能解釋一下嗎?我不知道你在這裏的「域名」是什麼意思。 AuthDomain? IP塊?當用戶獲得API密鑰時,這實際上如何工作? – 2012-04-01 12:53:36

+0

Etsy確實對推薦地址進行了檢查;如果它與控制面板中指定的域不匹配,則不返回任何數據。即使它當然不是100%可靠的安全措施,但它至少允許開發人員對可能利用JavaScript例程(使用可讀的AppID)進行最小限制。 – 2012-04-01 13:31:33

1

要回答你的問題...

這似乎並不可能限制AppIDs的限制並不在每個站點的基礎一樣,你所有的應用工作,你通常只有一個的AppID /網站。見2010年的this comprehensive thread(下面引用),我懷疑有很多變化。最終的結果是,對於只讀應用程序(如您的網站上的搜索結果)基本無關緊要。

更一般約在瀏覽器

確保JSON API調用檢查引用是確保否則公共API的最佳方式。這就是谷歌如何限制他們的API密鑰的地圖,例如:https://developers.google.com/maps/documentation/javascript/tutorial

關於唯一可以防止欺詐的是活動監視,因爲API是從第三方計算機調用的,所以必須跟蹤或者通過比較其他網站活動的調用列表,或者使用JSONP來檢查瀏覽器的AJAX屬性。例如,谷歌可以將他們的API調用與他們的谷歌分析呼叫進行交叉參考,儘管總會有誤報。

最後,如果怕是CSRF,有這樣的:How to reliably secure public JSONP requests?

從eBay的線程的情況下,該URL再次改變逐字引用:

有每個開發者帳號一個DEVID。

可能有多個AppID,但這些只能通過付費支持憑單獲得。

每個AppID可以有多個CertID。 CertID確定您的呼叫限制。

您可以爲每個AppID生成無限制令牌。每個令牌都是AppID,UserID和相關eBay用戶密碼的配對。代幣目前有效期爲18個月。他們必須再生。令牌也可以通過API或網站優先權過早「撤銷」。

對於需要令牌的API系列,您可以使用基於您自己的用戶ID的單個令牌來檢索大多數公共信息。但是,僅當您使用爲目標用戶標識生成的令牌時,私人交易詳情纔可用。有些調用實際上是從令牌派生出用戶標識。

如果多個應用程序共享相同的AppID,它們都會對日常呼叫限制做出貢獻。這就是爲什麼你可能想要請求一個單獨的AppID。

https://www.x.com/developers/ebay/ebay-api-call-limits

在圖表中示出的限制是對於給定的API家庭「骨料」。有一個隱含的每個AppID。對於交易API,易趣進一步限制每次通話或按時間間隔使用。像AddItem這樣的一些調用有更高的限制。 GetApiAccessRules將返回您的實際限制和使用情況。

每IP地址表示主叫機器的IP地址。如果你要通過多個IP地址輪換,你實際上會增加你的限制。在客戶端瀏覽器中運行的JavaScript或Flash中有許多隻讀的「小部件」,因此使用客戶端IP來撥打電話。在這種情況下,呼叫限制非常微不足道。

AppID,DevID和CertID屬於開發者帳戶的創建者。該創建者受API許可條款的約束。

作爲密鑰的所有者,您不允許任何第三方編程控制API。嚴格來說,這意味着密鑰和從這些密鑰派生的任何令牌都應該保持私有狀態(即在您的獨佔控制下)。

顯然,eBay並未強制執行這種嚴格的解釋,因爲FetchToken建議用於客戶端應用程序。一個複雜的用戶可以輕鬆地獲取令牌的來歷或去向。某人根據他們自己的UserID使用令牌可以造成什麼危害?

  1. 燒透你的日常通話限制
  2. 創建違反許可

更多辯論的API應用程序,看到這個早些時候線程。 (鏈接被破壞)

一旦您的應用程序通過易趣兼容應用程序檢查,您可以請求每個用戶1.5M共享或20K電話。

有關易趣的API的更多信息,我建議詢問their forum

相關問題