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 ="가 문제의 유일한 원인입니다. 캡틴 O는 어떻게 든 8 진수 값으로 간주됩니까? 이 값은 오류 메시지를 트리거하는 이유
누군가는 설명 할 수 있습니까? 나는 또한 해결책을 찾고 있지만 제발, 페이지 유효성 검사를 제거하라고 말하지 마라. 그것은 나쁜 브레이크가있는 차가 차를 운전하지 않음으로써 고칠 수 있다고 말하는 것과 같습니다.
미리 감사드립니다.
이가 더 삐걱 거리는 브레이크와 자동차처럼 브레이크를 제거하여 고정되지 않을까요 : 저는 여기에 다른 사이트에서 가져온 응답 최고 링크입니까? –