這回到我認爲的其他問題,我認爲是足夠的答案,但經過反思,我不確定它是(抱歉)。什麼阻止用戶將控件添加到ASP.NET頁面客戶端?
背景:
我動態生成的形式。我從數據庫中提取控件。
我必須和這不是用戶的會話ID數據庫ID每個控制關聯。我現在通過將我的ID存儲在Web控件的ID中以及其他一些東西來使它獨特/清楚我在做什麼。
在回帖中,我遍歷了網頁上的所有控件,檢查我的特殊標識符,即MyGeneratedTextBox_ID_Unique。該過程支持2個重要步驟,識別控件是我生成的,並且還獲取此輸入字段的ID。
而且,所有這些工作,但我仍然關心它的安全性。在這種情況下,我看不到顯示實際數據庫ID的安全問題,但同意這不是可取的。但是,我擔心的下列可能性:
如果用戶可以窮兇極惡的控件添加到我的收集和利用,對於SQL注入攻擊。
更學術,但是如果用戶能夠以某種方式存儲的領域,卻沒有改變的ID訪問過的數據。
我同意這是一種「黑客」的方式來做到這一點。但是我的問題是,這是一種安全風險嗎?是否有一種「簡單」的方式以較少的方式做到這一點?
我認爲只有所創建的實例化的頁面上的控件/添加到列表控件。因此所有控件必須創建服務器端,因此安全問題是地址,但只是想驗證。再次感謝。
PS: 我可以看到添加一個屬性,每個控制和加密的視圖狀態將是一個更安全一點。
@哈夫。對不起,我認爲你誤解了我的問題。我的問題可以有人創建一個新的控制/ ID或更改張貼的控件的ID?或者我可以依靠這些控件ID來永遠是我設置的,並且只依賴於我的控件被重新發布。 – 2010-04-23 20:53:32
哈里說,任何人都可以發佈一個完全不同的id給你,而不是你設定的。 – nos 2010-04-23 21:22:06
我想我已經回答了你的問題。你不能依賴客戶回報的任何東西,因爲你期望的。客戶完全無法控制。如果您保留打開的選項,其中可以將不同的控件發佈回您的服務器,而不是您預期會導致您不想要的行爲,則可以從客戶端實施該行爲。 – Harv 2010-04-23 21:22:17