2012-05-08 200 views
2

爲了構建一個具有相當多信息的實體,我需要執行一系列表單提交。每次我從控制器返回一個視圖時,我都需要傳遞一些關於尚未建立的實體的ID。現在,我將這些信息注入隱藏字段,並在發回服務器時繼續構建實體。 這種情況會持續幾次。 我對這種傳遞敏感信息的方式並不滿意,並且很想知道是否有其他更合適的方法來做到這一點。我使用授權和身份驗證,但仍然擔心在某些情況下,一個用戶可能會竊取這些ID,然後再將其發送回服務器,然後修改錯誤的實體。如何將敏感數據從視圖傳遞到控制器

此外,似乎有點辛苦來回傳遞相同的數據。我取消了會話的使用資格,因爲它揭示了一種不同類型的數據中斷威脅。 (如果一次使用多個瀏覽器)。

我該如何執行上述操作?

+1

見@傑森的有關注冊(又名創建哈希)回答的例子。隱藏的字段不會保護您,也不會「只讀」輸入字段。加密/解密也不太合適 - 客戶端(瀏覽器)將始終以明文形式發送原始數據。如果你在考慮客戶端的加密庫 - 當然,但是,這是客戶端(可以看到/檢查,不管是什麼)。創建一個哈希服務器端並比較哈希服務器端。 – EdSF

+0

謝謝!不幸的是我不能投票您的評論... –

回答

0
+0

謝謝,我當然要對此進行調查... –

+0

我看不到如何防止用戶惡意成功通過更改表單域之前修改DB實體帖子。 –

+1

使這些字段只讀,您可以加密/解密關鍵數據,並將解密的數據與相應的數據庫實體進行比較,以防止用戶更新它。 –

0

利用跨站點請求與令牌,以確定每次僞造你寄的它包含在服務器端生成的相同標記並從您的html返回

+0

謝謝,我會檢查這個選項.. –

+0

這似乎是一個不同的問題的答案。它有意避免「跨網站請求」。我對嗎? –

相關問題