2011-09-04 92 views
0

我想建立一個應用程序,並且沒有參數的網址,而不是/ Race/2只有/ Race等等。 我正在考慮使用Post-Redirect-Get,每個帖子都帶有[ValidateAntiForgeryToken]。在發佈後的行動結果我保存在TempData中的參數,我重定向到視圖結果我想我在哪裏檢查TempData。 我認爲xsrf攻擊不會成爲問題。 我這樣做是因爲我不想讓網址成爲ctrl-c ctrl-v。 你覺得呢?Asp.net mvc 3沒有參數的網址

回答

1

我這樣做是因爲我不希望網址是ctrl-c ctrl-v。你怎麼看?

雖然這將工作,並使您的網站安全它會打開另一個問題:搜索引擎優化。您可能會忘記從網站排名,索引等...從搜索引擎的思考。您的網站將不可索引。如果這是一個內聯網應用程序,搜索引擎優化不是你的問題,那麼你可以繼續做下去。或者,如果這是一個公共互聯網應用程序,你仍然不關心搜索引擎優化,你可以繼續做下去。當然,如果這只是在你的網站的認證部分內,那麼SEO當然不是一個問題,你可以繼續實施它。

+0

感謝您的答覆。這將是一個互聯網應用程序,但搜索引擎優化不是我關心的問題。該網站不會允許客人。 – gigi

+0

@吉吉,好吧,那你應該沒問題。我在答案中忘記提到的另一個重要問題是TempData存儲位置。如果您將其存儲在內存中(這是會話的默認設置),如果您在Web場中運行,則會遇到問題。因此,如果您在Web場中運行應用程序,則應絕對確保使用進程外會話提供程序或服務於來自節點1的POST請求的客戶端,並且例如來自節點2的GET請求不會能夠獲取數據。 –

+0

偉大的觀察。我將只使用一臺服務器而不是一組服務器。 – gigi

0

在TempData中存儲值有時可能會導致問題。如果我們管理頁面重定向並仔細張貼這將是安全的,否則由於執行過程中可能發生的任何其他錯誤,TempData將無法在您想要的頁面中使用。