2011-08-23 27 views
0

我正在用C#製作桌面軟件。這個軟件會發送Http請求到我的站點,該站點有一個php腳本來定期響應請求。在我的網站上,我需要確認請求來自軟件,而不是來自用戶自己的程序。我的意思是用戶可以複製POST字符串並開始向我的服務器發送請求。我想這樣做,我將不得不隨着Microsoft應用程序一起發送一些證書和請求。我搜索了它,但沒有發現任何有用的東西。請告訴我如何進行身份驗證。驗證從桌面應用程序到我的網站的HTTP請求

回答

0

您需要做的是創建一個加密簽名以附加到標頭中的請求。我的意思是,你需要像URL,表單值,日期/時間等請求的一些相關方面,然後創建一個加密簽名,你的應用程序提供證明它擁有你的加密證書。這裏有一個簡單的例子:

Cryptographic Signatures

就像我說的,你生成這個簽名,然後將其追加爲HTTP標頭的請求。然後,您的服務器軟件需要驗證簽名。如果它可以驗證簽名,則可以合理確信請求者擁有證書並且請求(可能)來自您的軟件。

精明的用戶仍然可以反編譯您的代碼,獲得證書並構建他們自己的請求,但至少您已經使其變得更加困難。你可以做的最好的保護措施就是讓你的證書定期到期,但是你必須管理獲得新的證書給客戶。

相關問題