做控件,這是默認的ASP.Net控件集的一部分 - 所有的時間都使用viewstate或controlstate?ASP.Net控件是否通過viewstate公開SQL查詢?
即如果我將下面的代碼放到一個全新的Web表單上,我的SQL字符串是否放置在未加密的控制狀態中?
<asp:SqlDataSource ID="mobileData" runat="server"
DataSourceMode="DataReader"
SelectCommand="SELECT * from ma.bob WHERE Vendor IS NOT NULL"
/>
我知道如何視圖狀態和加密了ControlState-,但似乎瘋了,我認爲這種常見的情況可能是這樣的窘況不安全。當然可以通過修改控制狀態來執行SQL注入攻擊?我認爲大多數人都會考慮爲敏感應用程序加密控制狀態,但實際上,如果我的假設是真實的 - 那麼它應該總是完成 - 並且Visual Studio默認啓用它?
我是否正確思考這個問題,還是我的棍棒有錯誤的結局?
您可能需要查看:http://programmers.stackexchange.com/questions/115374/using-sqldatasource-databound-controls-in-asp-net-bad-practice – NotMe 2012-02-22 19:00:27
爲什麼會串進入的ViewState或ControlState?它是靜態的。 – 2012-02-22 19:09:46