설정 - 즉 :역 직렬화 viewstate가 문자열이 내가 asp.net 웹 응용 프로그램과 사이트 간 위조 공격을 방지하기위한 자동 생성 된 코드를 사용하고
protected const string AntiXsrfTokenKey = "__AntiXsrfToken";
private string _antiXsrfTokenValue;
protected void Page_Init(object sender, EventArgs e)
{
var requestCookie = Request.Cookies[AntiXsrfTokenKey];
Guid requestCookieGuidValue;
if (requestCookie != null && Guid.TryParse(requestCookie.Value, out requestCookieGuidValue))
{
_antiXsrfTokenValue = requestCookie.Value;
Page.ViewStateUserKey = _antiXsrfTokenValue;
아약스/WEBMETHOD 요청을 사용하여, _VIEWSTATE 숨겨진 입력의 값을 게시하여 데이터베이스를 변경하기 전에 요청의 유효성을 검증하고 싶습니다. 그러나
, 나는 los.Deserialize 방법이 실패
internal static void Validate(string encodedViewstate)
{
var request = HttpContext.Current.Request;
var requestCookie = request.Cookies[AntiXsrfTokenKey];
var antiXsrfTokenValue = requestCookie.Value;
var los = new System.Web.UI.LosFormatter(true, antiXsrfTokenValue);
var xsrfData = los.Deserialize(encodedViewstate);
시도 : 혼자 UserKey 즉
Validation of viewstate MAC failed. If this application is hosted by a Web Farm or cluster, ensure that <machineKey> configuration specifies the same validationKey and validation algorithm
인코딩 된 viewstate가 문자열에 대한 올바른 키가 아닙니다.
는 사람이 (즉, MAC 및 UserKey의 조합)을 ViewStateUserKey 속성을 설정 한 후 인코딩 된 viewstate가를 역 직렬화하는 방법에 도움을 주시기 바랍니다 수 있습니다. 귀하의 생각/전문 지식에 감사드립니다.