asp.netÌá½»html±ê¼ÇºóµÄ×îÓŰ²È«´¦Àí
ASP.Net 1.1ºóÒýÈëÁ˶ÔÌá½»±íµ¥×Ô¶¯¼ì²éÊÇ·ñ´æÔÚXSS(¿çÕ¾½Å±¾¹¥»÷)µÄÄÜÁ¦¡£µ±Óû§ÊÔͼÓÃÖ®ÀàµÄÊäÈëÓ°ÏìÒ³Ãæ·µ»Ø½á¹ûµÄʱºò£¬ASP.NetµÄÒýÇæ»áÒý·¢Ò»¸ö HttpRequestValidationExceptioin¡£Ä¬ÈÏÇé¿öÏ»᷵»ØÈçÏÂÎÄ×ÖµÄÒ³Ãæ£º
ÒÔÏÂÊÇÒýÓÃÆ¬¶Î£º
Server Error in '/YourApplicationPath' Application
A potentially dangerous Request.Form value was detected from the client
(txtName="<b>").
Description: Request Validation has detected a potentially dangerous client input value, and processing of the request has been aborted. This value may indicate an attempt to compromise the security of your application, such as a cross-site scripting attack. You can disable request validation by setting validateRequest=false in the Page directive or in the configuration section. However, it is strongly recommended that your application explicitly check all inputs in this case.
Exception Details: System.Web.HttpRequestValidationException: A potentially dangerous Request.Form value was detected from the client (txtName="<b>").
....
¡¡¡¡ÕâÊÇASP.NetÌṩµÄÒ»¸öºÜÖØÒªµÄ°²È«ÌØÐÔ¡£ÒòΪºÜ¶à³ÌÐòÔ±¶Ô°²È«Ã»ÓиÅÄÉõÖÁ¶¼²»ÖªµÀXSSÕâÖÖ¹¥»÷µÄ´æÔÚ£¬ÖªµÀÖ÷¶¯È¥·À»¤µÄ¾Í¸üÉÙÁË¡£ASP.NetÔÚÕâÒ»µãÉÏ×öµ½Ä¬Èϰ²È«¡£ÕâÑùÈö԰²È«²»ÊǺÜÁ˽âµÄ³ÌÐòÔ±ÒÀ¾É¿ÉÒÔд³öÓÐÒ»¶¨°²È«·À»¤ÄÜÁ¦µÄÍøÕ¾¡£
¡¡¡¡µ«ÊÇ£¬µ±ÎÒGoogleËÑË÷ HttpRequestValidationException »òÕß "A potentially dangerous Request.Form value was detected from the client"µÄʱºò£¬¾ªÆæµÄ·¢Ïִ󲿷ÖÈ˸ø³öµÄ½â¾ö·½°¸¾¹È»ÊÇÔÚASP.NetÒ³ÃæÃèÊöÖÐͨ¹ýÉèÖà validateRequest=false À´½ûÓÃÕâ¸öÌØÐÔ£¬¶ø²»È¥¹ØÐÄÄǸö³ÌÐòÔ±µÄÍøÕ¾ÊÇ·ñÕæµÄ²»ÐèÒªÕâ¸öÌØÐÔ¡£¿´µÃÎÒÕâ½ÐÒ»¸öµ¨Õ½Ðľª¡£°²È«ÒâʶӦ¸Ãʱʱ¿Ì¿ÌÔÚÿһ¸ö³ÌÐòÔ±µÄÐÄÀ²»¹ÜÄã¶Ô°²È«µÄ¸ÅÄîÁ˽â¶àÉÙ£¬Ò»¸öÖ÷¶¯µÄÒâʶÔÚÄÔ×ÓÀÄãµÄÕ¾µã¾Í»á°²È«ºÜ¶à¡£
¡¡¡¡ÎªÊ²Ã´ºÜ¶à³ÌÐòÔ±ÏëÒª½ûÖ¹ validateRequest ÄØ?ÓÐÒ»²¿·ÖÊÇÕæµÄÐèÒªÓû§ÊäÈë"<>"Ö®ÀàµÄ×Ö·û¡£Õâ¾Í²»±ØËµÁË¡£»¹ÓÐÒ»²¿·ÖÆäʵ²¢²»ÊÇÓû§ÔÊÐíÊäÈëÄÇЩÈÝÒ×ÒýÆðXSSµÄ×Ö·û£¬¶øÊÇÌÖÑáÕâÖÖ±¨´íµÄÐÎʽ£¬±Ï¾¹Ò»´ó¶ÎÓ¢ÎļÓÉÏÒ»¸öASP.NetµäÐÍÒì³£´íÎóÐÅÏ¢£¬ÏÔµÃÕâ¸öÕ¾µã³ö´íÁË£¬¶ø²»ÊÇÓû§ÊäÈëÁË·Ç·¨µÄ×Ö·û£¬¿ÉÊÇ×Ô¼ºÓÖ²»ÖªµÀÔõô²»ÈÃË
Ïà¹ØÎĵµ£º
£¼input id = " loFile " type = " file " runat = " server " £¾
£¼form method = " post " enctype =" multipart/form-data " runat = " server "£¾
£¼/form £¾
1.»ñµÃÉÏ´«ÎļþµÄÃû³Æ£º£¨¹Ø¼üÊÇPostedFileÀàµÄÓ¦Óã©
ʹÓÃPathÀàÖеÄGetFileName·½·¨£¬¾ßÌåÈçÏ£º
lstrFileName = loFile.PostedFile.FileName
......
asp.netʵÏÖÊ¡ÊÐÁª¶¯²¢ÇÒ±£´æ×´Ì¬£¬ÊµÏÖÔÀí£º³õ´ÎʹÓÃC#´«Í³µÄDataBind½øÐÐÊý¾Ý°ó¶¨£¬Ñ¡ÔñÊ¡£¬Êкó½øÐÐajax·½Ê½¼ÓÔØÏ¼¶ÁÐ±í£¬²¢½«Ñ¡¶¨Öµ±£´æµ½HiddenÖУ¬µã»÷Ìá½»ºó¸ù¾ÝHiddenµÄÖµ½øÐÐÊ¡£¬Êа󶨣¬ÔÙ½«HiddenµÄÖµ¸³¸øDropDownListµÄSelectedValue£¬´Ó¶øÊµÏÖ״̬µÄ±£´æ¡£
HTML´úÂë
<asp:HiddenField ID="HiddenField ......
¹ØÓÚASP.NETƽ̨ϵÄWeb FormsºÍMVC£¬Õ§Ò»¿´À´£¬´óÓÐÒ»ÖÖ“¼ÈÉú褺ÎÉúÁÁ”µÄ¸Ð¾õ£¬µ«×øÏÂÀ´×Ðϸ˼¿¼£¬»¹ÊÇÓÐÆä¸÷×Ô´æÔڵĵÀÀíµÄ¡£Ê×ÏÈ,ÎÒÃÇÏÈÀ´¿´Ò»ÏÂWeb Forms, ¼¸ÄêµÄʵ¼ùÖ¤Ã÷Web FormsÊÇÒ»¸ö·Ç³£Îȶ¨ºÍ³ÉÊìµÄƽ̨£¬ÎÞÒÉËüÊÇÇ¿´óµÄ£¬µ«Ò²²»ÊÇÍêÃÀÎÞȱµÄ¡£´ÓÒÔϼ¸¸ö·½ÃæÀ´¿´ËüµÄÇ¿´óÖ®´¦£º
1¡¢ÐÔÄÜÓÅÐ ......
ÔÚASP.NET 2.0ÖУ¬ÓÐʱºòÐèÒª¶ÔASP.NETÉú³ÉµÄHTML´úÂë½øÐд¦Àí£¬»òÕßÊDZ£´æ³É¾²Ì¬Îļþ¡£ASP.NET Ìá
¹©ÁËÖ±½Ó½«ÇëÇó±£´æ³ÉÎļþµÄ·½·¨£ºHttpRequest.SaveAs·½·¨¡£ÏÂÃæÕâ¸ö·½·¨¾ÍÊÇÔÚASP.NET 2.0Öеõ½
ASP.NETÉú³ÉµÄHTML´úÂ룬ͬʱ£¬Éú³ÉÒ»¸ö¾²Ì¬ÎļþµÄ·½·¨¡£
C#
<%@ Page Language="C#" AutoEventWireup="true" %&g ......
//TransmitFileʵÏÖÏÂÔØ
protected void Button1_Click(object sender, EventArgs e)
{
/*
΢ÈíΪResponse¶ÔÏóÌṩÁËÒ»¸öÐµķ½·¨TransmitFileÀ´½â¾öʹÓÃResponse.BinaryWrite
&nbs ......