2012-04-04 65 views
0

我想從直接打開我的網站(有點滑稽,但是這是該方案)限制用戶。檢查從哪個網站我正在重定向到我的網站在MVC .NET

用戶應先轉到另一個網站,登錄那裏,然後只對它們進行允許重定向到我的網站只從該網站。

我試圖訪問請求對象下面的方法,但它拋出一個異常:

protected void Application_Start() 
     { 
      AreaRegistration.RegisterAllAreas(); 
      RegisterRoutes(RouteTable.Routes); 
     } 

我的網站是在MVC2 C#

沒有會話,登錄我的網站上

在此先感謝

回答

1

可以使用referer這一點。然而,由於這是一個HTTP變量,它是絕對不是防故障。它取決於瀏覽器是否發送,使用Tamper Data等工具修改相當容易。爲了達到這個目的,我不會推薦依賴引用者。

如果您還管理其他站點的用戶被重定向從,你可能會產生某種散列,並與URL作爲請求參數發送。當散列正確時,用戶是受歡迎的。

+0

我試過Request.UrlReferrer.AbsolutePath和Request.UrlReferrer,但它只有應用程序的作用域,當我來自其他應用程序/ URL時它不工作 – 2012-04-04 12:19:02

+0

正如我所說的,它依賴於瀏覽器是否發送包含引薦者與否。當我創建一個鏈接一個新的HTML文件,然後從我的本機上運行,​​無需服務器,引用者不包括在內,但是當我把它的服務器上它是。如果你用這種方式進行測試,你可能也不會看到它。嘗試在http://www.jsfiddle.net或類似的東西上創建一個到您的應用程序的鏈接(本地主機是好的),以便在服務器上進行快速測試。 – 2012-04-04 12:34:03