2011-01-26 122 views
4

我有一個傳統的ASP頁面,向我的ASP.net(c#)頁面「doSomething.ashx」發出一個XMLHTTP請求。它們都託管在同一臺服務器上。保證請求來自本地服務器

如何保證請求來自本地服務器,阻止惡意用戶訪問doSomething.ashx頁面併發出錯誤的請求?

編輯:

愚蠢的我忘記了我+ PW通過傳遞用戶名,但將:

HttpContext.Current.Request.IsLocal 

工作一樣好?或者這可能會受創意黑客的困擾?

+1

你有沒有想過加入一些認證請求的?通過HTTP或在您的請求中使用uid/pwd組合? – Lazarus 2011-01-26 12:03:10

+0

謝謝!這將工作 – 2011-01-26 12:06:36

回答

1

很簡單,您驗證請求。

+0

請問HttpContext.Current.Request.IsLocal的工作? – 2011-01-26 12:06:18

2

您需要添加一些對該請求/會話唯一的令牌。 如果只是通過身份驗證,您可以保證它來自具有詳細信息的人,但仍可以從該用戶「僞造」。

您可以檢查所有「已知」標記的過期時間,也可以使用基於會話的系統並檢查它在請求處理程序中是否有效。

如果只使用標記。您需要在發出發出請求的頁面時在服務器上生成它們,然後在處理請求本身時進行檢查。

相關問題