2010-11-27 32 views
3

我有一個web API,我想允許任何域提交數據。然而,爲了保持垃圾郵件不變,我想找到某種方法來確保某個域名實際上來自的某個域名是來自該域名,並且某人不想通過代表其他域名進行欺騙。如何驗證來自某個域的API請求?

例如,如果http://example.com提交了一些數據 - 那很好。如果script kiddie#237提交聲稱是example.com的數據 - 那很糟糕。

起初我打算使用一個祕密密鑰系統來HMAC爲每個請求籤名 - 但是註冊將會對這個API開放,自由和自動化。我不確定我如何知道PersonA或PersonB是否真的擁有http://example.com並且值得API密鑰。

+0

分配綁定到域的API密鑰。然後檢查密鑰並確保請求源自有效的域。您的密鑰必須是密鑰有效的域的醃製散列。只是我的0.02美元。 – 2010-11-27 16:34:34

回答

2

提供密鑰文件,他們將不得不在該域上進行上傳。你可以根據你的內部數據庫檢查存在和有效的數據。

+1

偉大的想法,我忘了這一點,但即使谷歌使用這種方法。我會很高興,儘管如果有一些答案不涉及做HTTP請求來驗證。也許有一天。 http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html – Xeoncross 2010-11-27 16:42:15