2009-09-15 47 views

回答

8

使用Request.Form更安全。這將阻止用戶僅通過更改URL來「發佈」表單參數。使用Request.Form並不能保證「真正的黑客」的安全,但恕我直言,最好使用Form集合。

+1

+1非常好的一點。 – 2009-09-15 12:49:18

+0

到目前爲止,我認爲你回答了我正在尋找的東西,爲了避免殺死這個問題的興趣,我會標記它,明天 – DevelopingChris 2009-09-15 13:03:36

6

通過使用請求下的屬性,您正在縮小您的檢索到適當的集合(這對於可讀性和性能來說是一件好事)。我認爲你的方法是最佳實踐,並且自己遵循。

+3

+1。除了'Form'和'QueryString'之外,許多人都不知道'Params'集合還包含'Cookies'和'ServerVariables'。 – LukeH 2009-09-15 12:51:54

0

我一直使用 的Request.Form(「參數」) 或 的Request.QueryString(「參數」)

這純粹是下降到語法,更易於閱讀。我嚴重懷疑這是否會對性能產生影響。

0

我用Request.Params代替FormQuerystring的唯一情況是,如果我不知道是否通過該參數將被傳入的方法。

要提出,在背景下,10年來,我已經使用Request.Params憤怒只有一次:)

善良,

d

0

我覺得這是更好地使用表單和查詢字符串的集合,除非明確您明確地試圖在應用程序中定義靈活的行爲,例如在搜索表單中,您可能希望將搜索參數定義在URL中或保存在Cookie(如分頁首選項)中。

0

我會明確使用Request.Form和Request.QueryString。原因是兩者不可互換。查詢字符串用於HTTP Get請求,用於HTTP Post請求的FORM變量。

獲取請求通常適用於請求數據的地方,例如做一個谷歌搜索,搜索字詞在查詢字符串中。這篇文章是在您將數據發送到Web服務器進行處理或存儲的時候。所以,當我說這兩個不可互換時,我的意思是說你不能在不破壞功能的情況下使用GET來改變頁面。

所以恕我直言,頁面的實現可以非常清楚地反映你打算由GET或POST請求調用它的事實。

/Pete