2013-02-12 127 views
3

我有以下情況: -如何驗證Web服務器上的http請求

1)用戶打開網頁test1.aspx並單擊test1.aspx上的某個按鈕。點擊後,用戶被重定向到網頁callback.aspx。
2)callback.aspx使用javascript執行一些跨域http請求到另一個服務器(如facebook服務器)
3)callback.aspx然後發送收集到的數據(從另一個服務器)到網頁test2.aspx(簡單的web表單發佈)。

現在,我的問題是如何確保收集的數據到test2.aspx只來自callback.aspx而不是其他任何地方。 我的意思是任何黑客都可以通過發佈或獲取請求將錯誤的數據發送到test2.aspx。

callback.aspx與身份驗證腳本類似,如果它說用戶已通過身份驗證,則test2.aspx必須相信用戶 已通過身份驗證。基本上,我使用oauth-2.0客戶端流的身份驗證用戶。

+0

沒有辦法使用客戶端。客戶端腳本和值都是來自控制檯的視圖 – Dineshkani 2013-02-13 15:58:17

回答

2

從網頁執行HTTP請求 - 通常稱爲「屏幕抓取」的任務 - 涉及服務器端代碼向某個其他網站發出HTTP請求,檢索返回的結果以及以某種方式處理這些結果。例如,屏幕抓取通常用於從另一個網站抓取數據,例如從Yahoo!抓取HTML。財經頁面獲取特定股票代碼的當前股價。在ASP.NET中執行簡單的HTTP請求只需要幾行代碼,這要歸功於WebClient類。 System.Net命名空間中的此類提供了少量用於進行簡單HTTP請求的屬性和方法。

http://www.4guysfromrolla.com/articles/102605-1.aspx

+0

嗨,其實我沒有從服務器端請求,但客戶端使用javascript.Can你可以相應地幫助我嗎? – Arsalan 2013-02-12 16:32:08

1

有許多實現這樣的要求。首先想到的是將您從callback.aspx發送到test2.aspx的數據進行加密。如果你能夠在test2.aspx中解密,那麼你確信數據是好的。

+0

嗨,感謝您的回覆。加密需要密鑰,我們必須在客戶端進行加密,任何黑客都可以從源頭獲得密鑰。 – Arsalan 2013-02-12 15:02:55

相關問題