ASP.NET ±£Ö¤µÇ¼¿Ø¼þµÄ°²È«
ASP.NET µÇ¼¿Ø¼þʹÄúÄܹ»ÌṩһÖÖ½â¾ö·½°¸£¬¸ù¾ÝÓû§Éí·ÝÑéÖ¤¡¢³ÉÔ±×ʸñºÍ½ÇÉ«À´¿ØÖƶÔÍøÒ³µÄ·ÃÎÊ¡£µÇ¼¿Ø¼þ°üÀ¨£ºCreateUserWizard ¿Ø¼þ¡¢Login ¿Ø¼þ¡¢LoginStatus ¿Ø¼þ¡¢LoginView ¿Ø¼þ¡¢PasswordRecovery ¿Ø¼þºÍ ChangePassword ¿Ø¼þ¡£
ËäÈ»ÏÂÃæµÄ±àÂëºÍÅäÖÃ×î¼Ñʵ¼ù¿ÉÒÔÌá¸ßÓ¦ÓóÌÐòµÄ°²È«£¬µ«Äú»¹ÐèÒª²»¶ÏµØ¸üРWeb ·þÎñÆ÷£¬°²×°×îÐ嵀 Microsoft Windows ºÍ Internet ÐÅÏ¢·þÎñ (IIS) µÄ°²È«ÐÞ²¹³ÌÐòÒÔ¼° Microsoft SQL Server »òÆäËûÊý¾ÝÔ´µÄÈκÎÐÞ²¹³ÌÐò£¬ÕâÒ»µãÒ²ºÜÖØÒª¡£
ͨ¹ý Michael Howard ºÍ David LeBlanc ׫дµÄ Writing Secure Code£¨¡¶±àд°²È«´úÂë¡·£©Ò»ÊéÒÔ¼°“Microsoft Patterns and Practices”£¨Microsoft µÄģʽÓëʵ¼ù£©(http://www.microsoft.com/resources/practices/default.mspx) ÌṩµÄÖ¸µ¼£¬¿ÉÒÔÕÒµ½Óйرàд°²È«´úÂëÒÔ¼°±£Ö¤Ó¦ÓóÌÐò°²È«µÄ×î¼Ñʵ¼ùµÄ¸ü¶àÏêϸÐÅÏ¢¡£
Ò»¡¢µÇ¼¿Ø¼þµÄÒ»°ã°²È«Êµ¼ù
±£»¤µÇ¼¿Ø¼þÉæ¼°ÒÔϸ÷·½ÃæµÄ×î¼Ñʵ¼ù£¬ÏÂÎĶԴ˽øÐÐÁ˼òµ¥½éÉܲ¢ÌṩָÏò¸ü¶àÐÅÏ¢µÄÁ´½Ó¡£
1.1¡¢Ê¹Óð²È«Ì×½Ó×Ö²ã (SSL) ÐÒé
ASP.NET µÇ¼¿Ø¼þͨ¹ý HTTP ÒÔ´¿Îı¾ÐÎʽ½«ÐÅÏ¢´«Êäµ½·þÎñÆ÷¡£ÔÚ´¦ÀíÃô¸ÐÐÅϢʱ£¬Ç¿ÁÒÍÆ¼öÄú½áºÏʹÓà HTTPS ÐÒéºÍ°²È«Ì×½Ó×Ö²ã (SSL) ¼ÓÃÜ¡£SSL ¿É·ÀÖ¹Êý¾Ý±»¸ü¸Ä£¨Êý¾ÝÍêÕûÐÔ£©¡¢±£»¤Óû§µÄ±êʶ£¨±£ÃÜÐÔ£©²¢È·±£Êý¾ÝÀ´Ô´ÓÚÔ¤ÆÚµÄ¿Í»§¶Ë£¨Éí·ÝÑéÖ¤£©¡£
1.2¡¢ÑéÖ¤Óû§ÊäÈë
ÇÐÎðÈÏΪÄú´ÓÓû§ÄÇÀïµÃµ½µÄÊäÈëÄÚÈÝÊǰ²È«µÄ¡£¶ñÒâÓû§¿ÉÄÜ´Ó¿Í»§¶Ë½«´æÔÚDZÔÚΣÏÕµÄÐÅÏ¢·¢Ë͵½ÄúµÄÓ¦ÓóÌÐò¡£¶ÔÓڵǼ¿Ø¼þ£¬¶ÔÓû§ÊäÈë²ÉÈ¡·À·¶´ëÊ©ÓÈÎªÖØÒª£¬ÒòΪÊäÈëµÄÐÅϢͨ³£¶¼ÊÇÃô¸ÐÐÅÏ¢¡£
Ç뾡¿ÉÄÜʹÓÃÑéÖ¤¿Ø¼þÀ´²âÊÔÓÐЧµÄÓû§ÃûºÍÇ¿ÃÜÂë¡£Äú¿ÉÒÔÔÚ²»Ê¹ÓÃÑéÖ¤¿Ø¼þµÄÇé¿öÏÂÑé֤ijЩÓû§ÊäÈë¡£ÀýÈ磬CreateUserWizard ¿Ø¼þÖ§³Ö±ØÐèµÄÑéÖ¤ºÍ±È½ÏÑéÖ¤¡£»¹¿ÉÒÔÖ¸¶¨´øÓÐ EmailRegularExpression ÊôÐÔµÄÕýÔò±í´ïʽÀ´ÑéÖ¤µç×ÓÓʼþµØÖ·ÊÇ·ñÓëÖ¸¶¨Ä£Ê½Æ¥Å䣬ָ¶¨´øÓÐ PasswordRegularExpression ÊôÐÔµÄÕýÔò±í´ïʽÀ´ÑéÖ¤ÃÜÂëÊÇ·ñÂú×ãÒªÇó¡£
ΪÁËÔÚÑéÖ¤µÇ¼¿Ø¼þÖеÄÓû§ÊäÈëʱ»ñµÃ×î´óµÄÁé»îÐÔ£¬Äú¿ÉÒÔʹÓÃÄ£°å¡£Ç뾡¿ÉÄÜΪ¿Ø¼þ´´½¨Ä£°å¡¢Ìí¼Ó¸ö±ð¿Ø¼þ£¨Í¨³£Îª TextBox ¿Ø¼þ£©²¢Ìí¼ÓÑéÖ¤¿Ø¼þ£¬ÒԱ㽫Óû§µÄÊäÈëÄÚÈÝÏÞÖÆÔÚ×îСµÄÔÊÐí·¶Î§ÄÚ¡£
˵Ã÷£º ʹÓÃÑéÖ¤¿Ø¼þʱ£¬³ýÁËʹÓÿͻ§¶ËÑéÖ¤Í⣬ÇëʼÖÕ¶Ô·þÎñÆ÷
Ïà¹ØÎĵµ£º
1. Response.Write("<script>alert('µ¯¶ÔµÄÄÚÈÝ£¡£¡');</script>"); //µ¯³öÊ±Ò³ÃæÎª¿Õ°×É«,×îºÃ²»ÒªÓÃÕâÒ»ÖÖ
2. Page.ClientScript.RegisterStartupScript(this.GetType(),"","<script>alert('µ¯¶ÔµÄÄÚÈÝ£¡£¡');</script>"); //ûÓÐÓõ½ÎÞˢпؼþʱÓÃ
3. ScriptManager.RegisterCli ......
Ò»¡¢ÈÏʶWeb.configÎļþ
¡¡¡¡Web.configÎļþÊÇÒ»¸öXMLÎı¾Îļþ£¬ËüÓÃÀ´´¢´æ ASP.NET Web Ó¦ÓóÌÐòµÄÅäÖÃÐÅÏ¢£¨Èç×î³£ÓõÄÉèÖÃASP.NET Web Ó¦ÓóÌÐòµÄÉí·ÝÑéÖ¤·½Ê½£©£¬Ëü¿ÉÒÔ³öÏÖÔÚÓ¦ÓóÌÐòµÄÿһ¸öĿ¼ÖС£µ±Äãͨ¹ýVB.NETн¨Ò»¸öWebÓ¦ÓóÌÐòºó£¬Ä¬ÈÏÇé¿öÏ»áÔÚ¸ùĿ¼×Ô¶¯´´½¨Ò»¸öĬÈϵÄ
Web.configÎļþ£¬°üÀ¨Ä¬ÈϵÄÅäÖÃÉ ......
ASP.NET Ajax Videoѧϰ±Ê¼Ç
5. Make Client-Side Network Callbacks with ASP.NET AJAX?
Notes:
ÔÚ<ScriptManager>ÖÐÌí¼Ó<Services>
4. Implement Dynamic Partial-Page Updates with ASP.NET AJAX?
Notes:
UpdatePanel¿ÉÒÔÍê³É²¿·ÖÒ³ÃæµÄ¸üÐÂ
Èç¹ûButtonÔÚUpdatePanelÖУ¬¼´Ê¹ÔÚPageLoad()Öаüº¬¸üÐÂË ......
ASP.NETÒ³ÃæË¢Ð·½·¨×ܽá
ÏÈ¿´¿´ASP.NETÒ³ÃæË¢ÐµÄʵÏÖ·½·¨£º
µÚÒ»£º
private void Button1_Click( object sender, System.EventArgs e ) { Response.Redirect( Request.Url.ToString( ) ); } µÚ¶þ£º
private void Button2_Click( object sender, System.EventArgs e ) { Response.Write( " < script lang ......
Global.asax Îļþ£¬ÓÐʱºò½Ð×ö ASP.NET Ó¦ÓóÌÐòÎļþ£¬ÌṩÁËÒ»ÖÖÔÚÒ»¸öÖÐÐÄλÖÃÏìÓ¦Ó¦ÓóÌÐò¼¶»òÄ£¿é¼¶Ê¼þµÄ·½·¨¡£Äã¿ÉÒÔʹÓÃÕâ¸öÎļþʵÏÖÓ¦ÓóÌÐò°²È«ÐÔÒÔ¼°ÆäËüһЩÈÎÎñ¡£ÏÂÃæÈÃÎÒÃÇÏêϸ¿´Ò»ÏÂÈçºÎÔÚÓ¦ÓóÌÐò¿ª·¢¹¤×÷ÖÐʹÓÃÕâ¸öÎļþ¡£
¸ÅÊö
Global.asax λÓÚÓ¦ÓóÌÐò¸ùÄ¿ ......