현재 오프라인 상태입니다. 인터넷에 다시 연결하기를 기다리고 있습니다.

"이 페이지에 대한 viewstate가 잘못되었습니다." 오류 메시지가 문제를 해결하는 데 충분한 정보를 제공하지 않는다

이 문서의 Microsoft .NET Framework 1.1 버전에 대한 내용은 831150을 참조하십시오.


중요 해당 환경의 모든 컴퓨터에 이 핫픽스를 설치하지 않을 경우 또는 해당 환경의 다른 모든 컴퓨터에 핫픽스 323744가 설치되지 않은 경우에는 웹 팜 환경이나 클러스터 환경에 있는 컴퓨터에 이 핫픽스를 설치하지 마십시오.

자세한 내용은 이 문서의 "추가 정보" 절에 있는 "뷰 상태 MAC 기능 설명"을 참조하십시오.
요약
뷰 상태 데이터는 웹 페이지의 숨김 필드에 저장되기 때문에 클라이언트와 서버 사이에 데이터가 전송될 때 변조될 가능성이 있습니다. 뷰 상태 기능의 보안을 위해 Microsoft ASP.NET은 뷰 상태 데이터의 유효성을 검사하여 이것이 올바른 페이지에서 왔는지 확인합니다.

ASP.NET에서 뷰 상태 데이터의 유효성을 검사할 수 없는 경우 ASP.NET은 "이 페이지에 대한 viewstate가 잘못되었으며 손상되었을 수 있습니다."라는 메시지를 클라이언트 브라우저에 반환합니다. 하지만 이 메시지에는 뷰 상태 데이터가 잘못된 이유에 대한 설명이 없습니다.

뷰 상태 기능에 대한 자세한 내용은 이 문서의 "추가 정보" 절에 있는 "뷰 상태 기능 설명"을 참조하십시오.
해결 방법
이 문서에서는 핫픽스를 제공하지만 이 핫픽스가 뷰 상태 데이터 오류를 해결하지 않습니다. 이 핫픽스는 뷰 상태 데이터 오류 문제를 해결하는 데 도움이 되는 추가 정보만 제공합니다.

현재 지원되는 핫픽스를 Microsoft에서 구할 수 있지만 이 문서에서 설명하는 문제를 해결하기 위한 것일 뿐이므로 이러한 특정 문제가 발생하는 시스템에만 이 프로그램을 적용해야 합니다. 이 핫픽스는 나중에 추가 테스트를 받아야 할 수도 있습니다. 따라서 이 문제의 영향이 심각하지 않으면 이 핫픽스가 포함된 다음 Microsoft .NET Framework 1.0 서비스 팩이 나올 때까지 기다리는 것이 좋습니다.

이 문제를 즉시 해결하려면 Microsoft 고객기술지원부에 문의하여 핫픽스를 구하십시오. Microsoft 고객기술지원부 전화 번호의 전체 목록과 기술 지원 비용에 대한 정보는 다음 Microsoft 웹 사이트를 참조하십시오.참고 특정 업데이트로 문제를 해결할 수 있다고 Microsoft 기술 지원 전문가가 판단할 경우 지원 요청에 따른 일반적 비용이 취소될 수도 있습니다. 특정 업데이트가 필요하지 않은 추가 지원 질문과 문제에는 일반 지원 비용이 적용됩니다.

이 핫픽스의 영어 버전은 아래와 같거나 그 이상의 파일 특성을 가집니다. 이 파일의 날짜와 시간은 UTC(Coordinated Universal Time)로 나열되며 파일 정보를 볼 때 로컬 시간으로 변환됩니다. UTC와 로컬 시간의 차이를 알려면 제어판날짜 및 시간 도구에서 표준 시간대 탭을 사용하십시오.
날짜시간버전크기파일 이름
2003-12-1107:131.0.3705.478200,704Aspnet_isapi.dll
2003-12-1107:064,169Aspnet_perf.h
2003-12-1107:14513,302Aspnet_perf.ini
2003-12-1107:14510,714Aspnet_perf2.ini
2003-12-1107:141.0.3705.47824,576Aspnet_regiis.exe
2003-12-1107:141.0.3705.47828,672Aspnet_wp.exe
2003-12-1106:271.0.3705.47869,632Corperfmonext.dll
2003-06-1721:4316,597Installpersistsqlstate.sql
2003-06-1721:4317,331Installsqlstate.sql
2003-09-0900:2817,807Installsqlstatetemplate.sql
2003-12-1106:251.0.3705.478303,104Mscorjit.dll
2003-12-1123:481.0.3705.4781,953,792Mscorlib.dll
2003-12-1106:1810,284Mscorlib.ldo
2003-12-1106:261.0.3705.4782,273,280Mscorsvr.dll
2003-12-1106:261.0.3705.4782,269,184Mscorwks.dll
2003-12-1107:101.0.3705.47820,480Perfcounter.dll
2002-08-2302:2315Smartnav.htm
2003-07-3000:048,728Smartnav.js
2003-12-1123:481.0.3705.4781,179,648System.data.dll
2003-12-1123:481.0.3705.4781,695,744System.design.dll
2003-12-1123:481.0.3705.4781,175,552System.dll
2003-12-1123:481.0.3705.478241,664System.messaging.dll
2003-12-1123:481.0.3705.478311,296System.runtime.remoting.dll
2003-12-1123:491.0.3705.478131,072System.runtime.serialization.formatters.soap.dll
2003-12-1123:481.0.3705.4781,200,128System.web.dll
2003-12-1123:481.0.3705.478507,904System.web.services.dll
2003-12-1123:501.0.3705.4781,994,752System.windows.forms.dll
2003-12-1107:2016,632System.windows.forms.ldo
2003-12-1107:151.0.3705.47857,344System.windows.forms.tlb
2003-12-1123:501.0.3705.4781,302,528System.xml.dll
2003-12-1123:471.0.3705.47832,768Tlbimp.exe
2003-06-1721:431,419Uninstallpersistsqlstate.sql
2003-09-0900:282,119Uninstallsqlstatetemplate.sql
2003-12-1123:471.0.3705.47865,536Wsdl.exe

핫픽스 세부 정보

이 핫픽스는 뷰 상태 오류 메시지에 더욱 많은 정보가 포함되도록 합니다. 이 핫픽스를 적용하면 뷰 상태 오류 메시지 제목이 "데이터가 유효한지 확인할 수 없습니다."와 같이 나타납니다. 새로운 오류 메시지 형식에서도 문제가 무엇인지 정확하게 설명하지는 않지만 이전의 메시지 형식보다는 많은 정보를 제공합니다.

참고 뷰 상태 데이터의 상태에 대한 더욱 자세한 정보를 얻으려면 타사의 뷰 상태 디코더를 통해 오류 메시지에 나타나는 뷰 상태 정보를 실행할 수 있습니다.

이 핫픽스는 HttpException 개체에 대해 InnerException 속성을 설정함으로써 Application_Error 메서드를 사용하여 근원적인 예외를 기록할 수 있도록 합니다. 모든 InnerException 속성 오류를 재귀적으로 기록하도록 하십시오.

이 핫픽스는 뷰 상태 오류에 대한 오류 메시지에 클라이언트와 관련된 다음의 특정 정보를 추가합니다.
  • IP 주소
  • 포트 번호
  • 사용자 에이전트
  • 뷰 상태의 값
  • Http 참조 페이지
  • 요청된 페이지의 경로
ASP.NET에서 뷰 상태 메시지 인증 코드(MAC)를 검사하는 중에 오류가 발생할 경우 이 핫픽스는 <machineKey> 설정을 확인하라는 스택 추적 메시지를 추가합니다. 또한 오류 메시지에는 뷰 상태 데이터를 동일 페이지로만 다시 게시할 수 있다는 내용도 포함됩니다.

deserialization 중에 오류가 발생할 경우 이 핫픽스는 LosFormater 토큰, _deserializationData 토큰 및 오류가 발생한 위치를 오류 메시지에 추가합니다.

대부분의 경우 뷰 상태 데이터가 잘리면 뷰 상태 기능은 FromBase64String 메서드에서 FormatException 오류가 발생하고 다음과 유사한 오류 메시지가 나타납니다.
Base-64 문자 배열의 길이가 잘못되었습니다.
하지만 뷰 상태 데이터가 잘리고 여전히 Base-64로 인코딩된 경우 코드에서 나중에 오류가 발생합니다.

이 핫픽스를 설치하기 전의 뷰 상태 오류 메시지

'/ViewState' 응용 프로그램에 서버 오류가 있습니다.
--------------------------------------------------------------------------------
이 페이지에 대한 viewstate가 잘못되었으며 손상되었을 수 있습니다.
설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오.

예외 정보: System.Web.HttpException: 이 페이지에 대한 viewstate가 잘못되었으며 손상되었을 수 있습니다.

원본 오류:

현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수 있습니다.

스택 추적:

[HttpException (0x80004005): 이 페이지에 대한 viewstate가 잘못되었으며 손상되었을 수 있습니다.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +151
System.Web.UI.Page.LoadPageViewState() +18
System.Web.UI.Page.ProcessRequestMain() +423

이 핫픽스를 설치한 후의 뷰 상태 오류 메시지

'/ViewState' 응용 프로그램에 서버 오류가 있습니다.
--------------------------------------------------------------------------------

데이터가 유효한지 확인할 수 없습니다.
설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오.

예외 정보: System.Web.HttpException: 데이터가 유효한지 확인할 수 없습니다.

원본 오류:

현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수 있습니다.

스택 추적:

[HttpException (0x80004005): 데이터가 유효한지 확인할 수 없습니다.]
System.Web.Configuration.MachineKey.GetDecodedData(Byte[] buf, String strModifier) +866
System.Web.UI.LosFormatter.Deserialize(String input) +44

[HttpException (0x80004005): viewstate의 인증을 실패했습니다. 1) 클러스터인 경우 <machineKey> 구성을 편집하여 모든 서버가 동일한 validationKey 및 유효성 알고리즘을 사용하도록 하십시오. 클러스터에서는 AutoGenerate를 사용할 수 없습니다. 2) viewstate는 동일한 페이지로만 다시 게시할 수 있습니다. 3) 이 페이지에 대한 viewstate가 손상되었을 수 있습니다.]
System.Web.UI.LosFormatter.Deserialize(String input) +102
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +101

[HttpException (0x80004005): 이 페이지에 대한 viewstate가 잘못되었으며 손상되었을 수 있습니다.
클라이언트 IP: 127.0.0.1
포트: 1095
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)
ViewState: dDwzNDM3NTkwMzg7dDw7bDxpPDEPGk8MT47PjtsPHQ8QDA8cDxwPGw8RGF0YUt
Http 참조 페이지: http://localhost/Connect2Access/WebForm1.aspx
경로: /connect2access/webform1.aspx.]
System.Web.UI.Page.LoadPageStateFromPersistenceMedium() +435
System.Web.UI.Page.LoadPageViewState() +16
System.Web.UI.Page.ProcessRequestMain() +439
참고 이 예제 오류 메시지의 ViewState 값은 이 문서의 컨텍스트에 맞추기 위해 잘렸습니다.
현재 상태
Microsoft는 본 문서의 적용 대상 절에 나열한 제품에서 이 문제를 확인했습니다.
추가 정보
Microsoft 제품 업데이트를 설명하는 데 사용되는 용어에 대한 자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
824684 Microsoft 소프트웨어 업데이트를 설명하는 데 사용되는 표준 용어에 대한 설명

뷰 상태 기능 설명

ASP는 상태 비저장입니다. 응용 프로그램이 서버에서 클라이언트로 왕복할 때마다 데이터는 본래 저장되지 않습니다. 웹 페이지가 서버에 게시될 때마다 페이지는 다시 만들어집니다. 이 작동 방식으로 인해 각 왕복 때마다 페이지 및 페이지의 컨트롤과 연관된 모든 정보는 잃게 됩니다. 예를 들어, 사용자가 텍스트 상자에 정보를 입력할 경우 브라우저 또는 클라이언트 장치에서 서버로 왕복할 때 이 정보는 없어집니다.

ASP.NET도 상태 비저장입니다. 하지만 ASP.NET에는 서버로 왕복하는 사이에 데이터를 보존하는 데 사용할 수 있는 뷰 상태라는 새로운 기능이 있습니다. 뷰 상태는 왕복 사이에 페이지의 속성 값 및 페이지의 모든 컨트롤 값을 자동으로 보존합니다. 뷰 상태 데이터는 페이지에서 숨김 필드로 유지 관리됩니다.

뷰 상태 기능을 사용하면 페이지가 다시 게시되는 왕복 사이에 페이지 특정 값을 저장할 수 있습니다. 예를 들어, 응용 프로그램에서 사용자 특정 정보를 유지 관리하는 경우 뷰 상태 기능을 사용하여 이 사용자 특정 정보를 저장할 수 있습니다. 사용자 특정 정보는 페이지에서 사용되지만 컨트롤의 일부가 아니어도 되는 정보입니다.

"요약" 절로 돌아가기

뷰 상태 MAC 기능 설명

뷰 상태 메시지 인증 코드(MAC)는 인증 구성표를 비밀 키와 함께 메시지에 적용할 때 만들어지는 인증 태그(체크섬이라고도 함)입니다. MAC은 동일한 키를 사용하여 계산 및 검사됩니다. 그러므로 MAC은 의도한 받는 사람만 검사할 수 있습니다. MAC은 SHA(Secure Hash Algorithm), MD5(Message Digest 5) 알고리즘 또는 DES(Data Encryption Standard) 알고리즘과 같은 다양한 암호화 기술 및 알고리즘을 사용하여 만들 수 있습니다.

뷰 상태 MAC 기능은 클라이언트가 악의적인 뷰 상태 데이터가 포함된 요청을 보내지 못하도록 하기 위해 고안되었습니다. 기본적으로 뷰 상태 MAC 기능은 Machine.config 파일의 enableViewStateMac="true" 플래그를 사용하여 설정됩니다.

발생하는 문제가 MAC과 관련이 있는지 여부를 확인하는 가장 간단한 방법은 이 기능을 해제하는 것입니다. 이렇게 하려면 enableViewStateMac 플래그를 false로 설정하십시오. 뷰 상태 오류가 더 이상 발생하지 않는다면 문제가 MAC과 관련이 있는 것입니다.

뷰 상태 MAC은 핫픽스 323744가 설치되기 이전의 Microsoft .NET Framework 1.0에서 다르게 적용됩니다. 이 문서에서 설명하고 있는 핫픽스(핫픽스 832183)에는 핫픽스 323744가 포함되어 있습니다. 해당 환경의 다른 모든 컴퓨터에도 독자적으로 또는 핫픽스 832183과 함께 핫픽스 323744를 설치하지 않을 경우 핫픽스 323744가 설치되지 않은 컴퓨터에서는 뷰 상태 데이터 오류가 발생합니다.

자세한 내용은 Microsoft 기술 자료의 다음 문서를 참조하십시오.
323744 FIX: ASP.NET에서 "이 페이지에 대한 뷰 상태가 잘못되었으며 손상되었을 수 있습니다." 오류 메시지가 나타난다
328546 INFO: 서비스 팩 2 이후 .NET Framework ASP.NET 핫픽스 패키지
맨 위로



Microsoft 제품 관련 기술 전문가들과 온라인으로 정보를 교환하시려면 Microsoft 뉴스 그룹에 참여하시기 바랍니다.
속성

문서 ID: 832183 - 마지막 검토: 04/26/2006 09:15:58 - 수정: 2.3

Microsoft .NET Framework 1.0, Microsoft Visual Studio .NET 2002 Professional Edition, Microsoft Visual Studio .NET (2002), Enterprise Architect Edition SP1, Microsoft Visual Studio .NET 2002 Enterprise Developer, Microsoft Common Language Runtime (included with the .NET Framework) 1.0, Microsoft ASP.NET 1.0

  • kbqfe kbhotfixserver kbnetframe100presp3fix kbfix kbbug KB832183
피드백