Есть ли элементы управления, которые являются частью набора элементов управления ASP.Net по умолчанию - ВСЕ используют постоянное состояние viewstate или controlstate?
т.е. Если я перенесу приведенный ниже код в совершенно новую веб-форму, моя строка SQL будет помещена в незашифрованное контрольное состояние?
<asp:SqlDataSource ID="mobileData" runat="server"
DataSourceMode="DataReader"
SelectCommand="SELECT * from ma.bob WHERE Vendor IS NOT NULL"
/>
Я знаю, как зашифровать viewstate и controlstate, но мне кажется безумным, что этот общий случай использования может быть настолько ужасно небезопасным. Конечно, можно выполнить атаку SQL-инъекцией, изменив контрольное состояние?
Я думаю, что большинство людей думают о шифровании контрольного состояния для чувствительных приложений, но на самом деле, если мое предположение верно, то это всегда должно быть сделано - и Visual Studio должна включить его по умолчанию?
Правильно ли я думаю об этом или у меня неправильный конец палки?