В моем приложении ASP.NET 1.1 я сжимаю и заменяю скрытую переменную Viewstate альтернативным сжатым значением, хранящимся в скрытом поле __VSTATE. Это работает хорошо, но в некоторых случаях отправка страницы вызывает общую «потенциально опасную ошибку Request.Form ...».Скрытое поле ввода вызывает потенциально опасную ошибку значения Request.Form
Я исследовал значение __VSTATE, и ничто не кажется потенциально опасным. Я смог воспроизвести ошибку с полностью урезанной версией страницы и значением __VSTATE, как показано ниже. При нажатии кнопки отправки появляется ошибка. Страница отлично работает, если я изменил значение на «».
<%@ Page Language="vb" AutoEventWireup="false" Codebehind="Dangerous.aspx.vb" Inherits="Dynalabs.Dangerous" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<body MS_POSITIONING="FlowLayout">
<form id="Form1" method="post" runat="server">
<input type="hidden" id="__VSTATE" runat="server" value="Onw=" />
<asp:Button ID="btnSubmit" Runat="server" Text="Submit" />
</form>
</body>
</html>
Изменение названия поля на «MyHiddenWT» не имеет значения. Удаление runat = "server" остановило ошибку, но это просто означает, что .NET проверяет только серверные элементы управления. Я также попробовал некоторые дополнительные значения, и обнаружили, что из следующего:
"Anw=", "Bnw=", "Cnw=", ... "Nnw=", "Onw=", "Pnw=", ... "Znw=",
«ONW =» является единственным, который вызывает проблему. Является ли захваченное О как восьмеричное значение каким-то образом?
Может кто-нибудь объяснить, почему это значение вызывает сообщение об ошибке? Я также ищу решение, но, пожалуйста, не говорите мне, чтобы удалить проверку страницы. Это то же самое, что сказать, что автомобиль с плохими тормозами может быть зафиксирован, не вождение автомобиля.
Заранее спасибо.
Не было бы больше похож на автомобиль с скрипучими тормоза фиксируются путем удаления тормоза? – 2008-11-10 05:19:58