Asp.NetÓëSEO ViewstateÓÅ»¯ÖÕ¼«½â¾ö·½°¸
Õâ¶Îʱ¼ä,ÀÏ´óÔÚ¿´ÁËÍøÕ¾ºó,·¢ÏÖviewstateËù²úÉúµÄÒ»¶ÑÂÒÂ룬ÑÏÖØÓ°ÏìÁËÎÒÃÇÍøÕ¾http://www.xbcar.net Î÷²¿Æû³µÍøµÄ´ò¿ªËٶȺÍËÑË÷ÒýÇæµÄץȡ£®¾Í¸øÎÒÏÂÁ˵ÀÌúÁÈýÌìÄÚ±ØÐë½â¾ö£®ÕâϸÃÂÖµ½ÎÒÍ·´óÁË£¬
ÀýÈ磺
input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="dEV4cHJlc3Npb247UmVhZE9ubHk7PjtsPHB1Yl9uYW1lO3B1Yl9uYW1lO3B1Yl9uYW1 lO288Zj47Pj47Ozs7PjtAMDxw" />
ÎÒÁ¢Âí·±éÁËËùÓеÄ×ÊÁÏ£¬¼°²é±éÁ˰ٶȺÍGoogle¡£ÒÔÇóµÃµ½×î¼Ñ½â¾ö·½°¸¡£µ«¶¼Ã»ÓÐÒ»¸öÍêÕûµÄ½â¾ö·½°¸¡£¶¼Ð´µÄ±È½ÏÁãËé¡£µ«»ÆÌì²»¸ºÓÐÐÄÈË£¬×îÖÕ»¹ÊÇÈÃÎÒÕÒµ½Á˼¸ÖÖ·½°¸£¬²¢¼ÓÒÔÐ޸쬏Ľø¡£ÔÚ´ËÎÒÒª¸ÐлÕ⼸¸ö·½°¸µÄÌṩÕß¡£Ð»Ð»ËûÃǵķÖÏí£¬ÔÚ½â¾öÍêÎÒ×Ô¼ºµÄÎÊÌâºó£¬ÓиÐÓÚǰ¼¸Î»µÄ·ÖÏí£¬¹ÊÎÒÒ²²»¸Ò¶À×Ô·ÖÏí£¬ÏÖÔÚ×ܽáÆßÖÖ½â¾ö·½°¸ÈçÏ£¬ÒÔ¹©´ó¼Ò·ÖÏí£¬Óв»¶ÔµÄµØ·½»¶ÓÅÄש¡£ÏÖ°ÑViewStateµÄÓÅ»¯·½·¨×ܽáÈçÏ£º
µÚÒ»ÖÖ½â¾ö·½°¸(×î¿ìµÄÒ»ÖÖ£¬µ«ÊÇÒÔÎþÉüasp.net·½±ãÐÔΪ´ú¼ÛµÄ)Î÷²¿Æû³µÍø
½ûÓÃviewstate¡£¿ÉÔÚweb.configÀïÅäÖ㬻òÕßÒ³Ãæ@PageÖ¸ÁîÀï¼ÓÈë Enableviewstate="false" £¬¼´¿É·ÀÖ¹ÉÏÃæµÄÂÒÂëÁË¡£È»ºóÒ³Ãæ´«ÖµÊ¹ÓÃform»òÕßcookies£¬±ðÓÃsessionºÍapplicationËûÃǶ¼ÊÇ·þÎñÆ÷ɱÊÖ£¬µ«ÕâÖÖ·½Ê½Áé»î¶È²»¸ß£¬¶øÇÒ΢Èí×Ô´øµÄ¿Ø¼þÎÞ·¨Ê¹ÓÃÁË£¬²»ÈçÓÃJSPÀ´×ö
µÚ¶þÖÖ½â¾ö·½°¸£º
ʹÓÃ΢ÈíµÄMVC¿ò¼Ü£¬ºÜºÃÓ㬲»¹ý¸öÈ˸оõ¿ª·¢ÆðÀ´ÂùÂé·³µÄ£¬²»ÍƼöÒ²²»µÖ´¥£¬¾õµÃ»¹²»³ÉÊìÕâ¸ö¶«Î÷
µÚÈýÖÖ½â¾ö·½°¸£º
ʹÓÃajax+web servicesÀ´¸ã¶¨£¬ÍƼöÕâÖÖ·½·¨£¬ÕæÕýµÄÒ³Ãæ´úÂëºÍÒµÎñ´úÂë·ÖÀ룬ºÜˬ£¬ËäÈ»ÓÐЩ·³Ëö±àÂëµÄʱºò£¬²»¹ý¸Ð¾õºÜˬ¡£
µÚËÄÖÖ½â¾ö·½°¸£º(¸ÄдviewSateλÖÃ,²»¶ÔÕâÖÖ·½·¨ÒªÃ¿¸öcs´úÂë¶¼¼ÓÈëÖØÐ´ÄÚÈÝ£¬Óе㷳¡£µ±È»¿ÉÒÔÖØÐ´¸ö¸¸Àà¿ÉÒÔ½â¾ö¡£µ«Ã¿´Î¶¼ÒªÖØÐ´£¬ËùÒÔÒ²»áÔö¼Ó¶Ô·þÎñÆ÷¿ªÏú¡£ºÃ£¬²»¶à˵ÁË£¬ÏÖ´úÂëÌùÉÏ)
Òª¼ÓÈëusing System.Text.RegularExpressions;
private static readonly Regex viewStateRegex =
new Regex("<input type=\"hidden\" name=\"__VIEWSTATE\".*/>", RegexOptions.IgnoreCase); //¹ýÂËviewstate html±ê¼ÇµÄÕýÔò±í´ïʽ
private static readonly Regex endFormRegex =
new Regex(@"</form>", RegexOptions.Multiline | RegexOptions.Compiled); //¹ýÂË </form&g
Ïà¹ØÎĵµ£º
ÒòΪ¹ýÂ˹ؼü×Ö»úÖÆµ½´¦¿É¼û£¬ÓÚÊÇ´ÏÃ÷µÄÍøÓѾͻáÏëµ½¸÷ÖÖ¸÷ÑùµÄ·½·¨Í»ÆÆ£¬ÀýÈ磺
¡¡¡¡1¡¢ÖÐÎÄ»áÓ÷±Ìå×ֵķ½·¨±Ü¿ª¹Ø¼ü×ÖɨÃè
¡¡¡¡2¡¢Ôڹؼü×ÖÖмä²åÈëÎÞÒâ˼µÄÌØÊâ×Ö·û£¬ÀýÈç * & # @ µÈ£¬¶øÇÒ¸öÊý¿É±ä
¡¡¡¡3¡¢Ê¹ÓÃгÒô»ò²ð×Ö·¨±ä»»¹Ø¼ü×Ö
¡¡¡¡ÔÚʵÏÖ×Ô¼ºµÄË㷨ʱҲÓÐЩÎÊÌ⣺
¡¡¡¡4¡¢Ëæ×Åʱ¼äÍÆÒÆ£¬¹Ø¼ü×ÖÁÐ±í» ......
¶¯Ì¬Ò³ÃæÉú³É¾²Ì¬Ò³ÃæËµÆðÀ´Æäʵ²»ÄÑ£¬Ö÷ÒªÊÇ˼ÏëµÄÎÊÌ⣬ÏñÄÇЩÐÂÎŲ»Ì«³£¸Ä¶¯µÄ£¬ÎÒÃÇ¿ÉÒÔ½«ËûÉú³É¾²Ì¬µÄ£¬À´Ìá¸ßÍøÕ¾µÄ·ÃÎÊËÙ¶È£¬ÒÔϾÍÊÇÎҵķ½·¨£¬ºÜ¼òµ¥
ÎÒÃÇÏȽ«ÎÒÃǵĶ¯Ì¬ÍøÕ¾·Åµ½ÍøÉÏ£¬²¢ÇÒ¿ÉÒÔÕý³£·ÃÎÊ£¬È»ºó¾ÍÊÇÓõ½ÁË×¥È¡Ò³ÃæµÄ¼¼ÊõÁË
/// <summary>
/// »ñµÃÍøÒ³ÄÚÈÝ
& ......
»ñÈ¡ÍøÕ¾¸ùĿ¼µÄ·½·¨Óм¸ÖÖÈ磺
Server.MapPath(Request.ServerVariables["PATH_INFO"])
Server.MapPath("/")
Server.MapPath("")
Server.MapPath(".")
Server.MapPath("../")
Server.MapPath("..")
&nb ......
MainPageÎļþ£ºWebForm1.aspx
<%@ Page language="c#" Codebehind="WebForm1.aspx.cs" AutoEventWireup="false" Inherits="TestMasterPage.WebForm1" enableViewState="False"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML> ......
ÔÚC#ÖÐ
using System;
using System.Web;
using System.Web.Services;
using System.Web.Services.Protocols;
using System.Web.Script.Services;
using System.Collections.Generic;
using System.Collections;
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.Ba ......