ÔÚÍøÂç¾³£¿´µ½ÍøÕ¾±»¹ÒÂí¡¢Ö÷Ò³±»Ð޸ĵÄÐÂÎÅ£¬ÆäʵÕâЩÎÊÌâ¿ÉÄÜÊÇ¶à·½ÃæµÄ£¬·þÎñÆ÷£¬ÍøÕ¾³ÌÐòµÈµÈ¡£¡£¡£µ«ÊÇÏÖÔÚÒç³öÒѾ±»ÈËÃÇÖØÊӺͷþÎñÆ÷µÄ²»¶ÏÍêÉÆ£¬·þÎñÆ÷ϵͳ©¶´Ò²²»ÊÇÄÇôÈÝÒ×·¢¾ò£¬µ±È»Ò²Òª±£Ö¤µÚÈý·½µÄÈí¼þ°²È«¡£
×öÏîĿҲÓÐÒ»¶Îʱ¼äÁË¡£ÔÚ³ÌÐòÖÐÒ²Óöµ½ºÜ¶à°²È«·½ÃæµÄÎÊÌâ¡£Ò²¸Ã×ܽáÒ»ÏÂÁË¡£Õâ¸öÏîÄ¿ÊÇÒ»¸öCMSϵͳ¡£ÏµÍ³ÊÇÓÃASP.NET×öµÄ¡£¿ª·¢µÄʱºò·¢ÏÖ΢Èí×öÁ˺ܶలȫ´ëÊ©£¬Ö»ÊÇÓÐЩÐÂÊÖ³ÌÐòÔ±²»ÖªµÀÔõô¿ªÆô¡£ÏÂÃæÎÒͨ¹ý¼¸¸ö·½Ãæ¼òµ¥½éÉÜ£º
£±£ºSQL ×¢Èë
£²£ºXSS
£³£ºCSRF
£´£ºÎļþÉÏ´«
£±£ºSQL ×¢Èë
ÒýÆðÔÒò£º
ÆäʵÏÖÔںܶàÍøÕ¾Öж¼´æÔÚÕâÖÖÎÊÌâ¡£¾ÍÊdzÌÐòÖÐÖ±½Ó½øÐÐSQLÓï¾äÆ´½Ó¡£¿ÉÄÜÓÐЩ¶ÁÕß²»Ì«Ã÷°×¡£ÏÂÃæÍ¨¹ýÒ»¸öµÇ¼ʱ¶ÔÓû§ÑéÖ¤À´ËµÃ÷£º
code:
Ñé֤ʱµÄsqlÓï¾ä: select * from where user='"+txtUsername.Text+"' and pwd='"+txtPwd.Text+"'
ÕâÊÇÒ»¶Î´ÓÊý¾Ý¿âÖвéѯÓû§£¬¶ÔÓû§Ãû£¬ÃÜÂëÑéÖ¤¡£
¿´ÉÏÈ¥ºÃÏóûÓÐʲôÎÊÌ⣬µ«ÊÇʵ¼ÊÕâÀïÃæÇ³²Ø×ÅÎÊÌ⣬Óû§Ãû£ºadmin ÃÜÂ룺 admin£¬
select * from where user='admin' and pwd='admin'
Èç¹ûÓû§ºÍÃÜÂëÕýÈ·¾Í¿ÉͨÑéÖ¤¡£Èç¹ûÎÒÓû§Ãû£ºasdf' or 1=1 -- ÃÜÂë£ºËæÒâÊ ......
FormsÉí·ÝÑéÖ¤ÓÃÀ´ÅжÏÊÇ·ñºÏ·¨Óû§£¬µ±Óû§ºÏ·¨ºó£¬ÔÙͨ¹ýÓû§µÄ½ÇÉ«¾ö¶¨ÄÜ·ÃÎʵÄÒ³Ãæ¡£
Ö÷Ҫ˼Ï룺FormsÉí·ÝÑéÖ¤ÓÃÀ´ÅжÏÊÇ·ñºÏ·¨Óû§£¬µ±Óû§ºÏ·¨ºó£¬ÔÙͨ¹ýÓû§µÄ½ÇÉ«¾ö¶¨ÄÜ·ÃÎʵÄÒ³Ãæ¡£
¾ßÌå²½Ö裺
1¡¢´´½¨Ò»¸öÍøÕ¾£¬½á¹¹ÈçÏ£º
ÍøÕ¾¸ùĿ¼
AdminĿ¼ ----> ¹ÜÀíԱĿ¼
Manager.aspx ----> ¹ÜÀíÔ±¿ÉÒÔ·ÃÎʵÄÒ³Ãæ
UsersĿ¼ ----> ×¢²áÓû§Ä¿Â¼
Welcome.aspx ----> ×¢²áÓû§¿ÉÒÔ·ÃÎʵÄÒ³Ãæ
ErrorĿ¼ ----> ´íÎóÌáʾĿ¼
AccessError.htm ----> ·ÃÎÊ´íÎóµÄÌáÊ¾Ò³Ãæ
default.aspx ----> ÍøÕ¾Ä¬ÈÏÒ³Ãæ
login.aspx ----> ÍøÕ¾µÇÂ¼Ò³Ãæ
web.config ----> ÍøÕ¾ÅäÖÃÎļþ
2¡¢ÅäÖÃweb.configÈçÏ£º
¸´ÖÆ´úÂë ´úÂëÈçÏÂ:
<configuration>
<system.web>
<!--ÉèÖÃFormsÉí·ÝÑéÖ¤-->
<authentication mode="Forms">
<forms loginUrl="Login.aspx" name="MyWebApp.APSXAUTH" path="/" protection="All" timeout="30"/>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</configuration>
< ......
asp.net×Ö·û´®½ØÈ¡ÊµÏÖ´úÂ룬ÐèÒªµÄÅóÓÑ¿ÉÒԲο¼Ï¡£
1£¬°Ñ´úÂë·ÅÔÚsqlhelperÖС£
¸´ÖÆ´úÂë ´úÂëÈçÏÂ:
#region ½ØÈ¡×Ö·û´®
/// <summary>
/// ½ØÈ¡×Ö·û´®
/// </summary>
/// <param name="str_value"></param>
/// <param name="str_len"></param>
/// <returns></returns>
public static string leftx(string str_value, int str_len)
{
int p_num = 0;
int i;
string New_Str_value = "";
if (str_value == "")
{
New_Str_value = "";
}
else
{
int Len_Num = str_value.Length;
for (i = 0; i <= Len_Num - 1; i++)
{
if (i > Len_Num) break;
char c = Convert.ToChar(str_value.Substring(i, 1));
if (((int)c > 255) || ((int)c < 0))
p_num = p_num + 2;
else
p_num = p_num + 1;
if (p_num >= str_len)
{
New_Str_value = str_value.Substring(0, i + 1);
break;
}
else
{
New_Str_value = str_value;
}
}
}
return New_Str_value;
}
#endregion
2£¬Ç°Ì¨µ÷Óãº
¸´ÖÆ´úÂë ´úÂëÈçÏÂ:
<%# UserInfo.DAL. ......
private void btnUploadPicture_Click(object sender, System.EventArgs e) { //¼ì²éÉÏ´«ÎļþµÄ¸ñʽÊÇ·ñÓÐЧ if(this.UploadFile.PostedFile.ContentType.ToLower().IndexOf("image") < 0) { Response.Write("ÉÏ´«Í¼Æ¬¸ñʽÎÞЧ£¡"); return; } //Éú³ÉÔͼ Byte[] oFileByte = new byte[this.UploadFile.PostedFile.ContentLength]; System.IO.Stream oStream = this.UploadFile.PostedFile.InputStream; System.Drawing.Image oImage = System.Drawing.Image.fromStream(oStream); int oWidth = oImage.Width; //Ôͼ¿í¶È int oHeight = oImage.Height; //Ôͼ¸ß¶È int tWidth = 100; //ÉèÖÃËõÂÔͼ³õʼ¿í¶È int tHeight = 100; //ÉèÖÃËõÂÔͼ³õʼ¸ß¶È //°´±ÈÀý¼ÆËã³öËõÂÔͼµÄ¿í¶ÈºÍ¸ß¶È if(oWidth >= oHeight) { tHeight = (int)Math.Floor(Convert.ToDouble(oHeight) * (Convert.ToDouble(tWidth) / Convert.ToDouble(oWidth))); } else { tWidth = (int)Math.Floor(Convert.ToDouble(oWidth) * (Convert.ToDouble(tHeight) / Convert.ToDouble(oHeight))); } //Éú³ÉËõÂÔÔͼ Bitmap tImage = new Bitmap(tWidth,tHeight); Graphics g = Graphics.fromImage(tImage); g. ......
×î½üÑо¿ÁËÒ»ÏÂtreeview£¬·¢ÏÖÓÐÁ½ÖÖʵÏÖÎÞÏÞ¼¶Ê÷µÄ·½·¨£¬ÎÄ×Ö²»Ïë¶àд£¬Ö±ÈëÖ÷Ìâ¡£
ÏÈ¿´¿´Ð§¹ûͼ£º
ÏÈ¿´¿´Êý¾Ý¿â±íµÄÉè¼Æ£¬Êý¾Ý±íÖ÷Òª°üÀ¨ID£¬Name£¬ParentIDÕâÈýÏÆäÖÐIDÊÇÖ÷¼ü£¬ParentID¶ÔÓ¦½ÚµãµÄ¸¸½Úµã£º
·½·¨Ò»£ºÓõݹé±éÀúÊý¾Ý£¬²¢½«½ÚµãÖð¸öÌí¼Óµ½treeviewÖÐÈ¥¡£
1.ÏȽøÐÐÊý¾Ý¿âÁ¬½ÓºÍÊý¾ÝµÄ¶ÁÈ¡£¬²¢½«¸ù½ÚµãÏÈÌí¼Ó½øtreeviewÖУ¬²¢ÀûÓõݹégetTreeView£¨£©ÊµÏÖÊý¾ÝµÄ±éÀúºÍÌí¼Ó£º
¸´ÖÆ´úÂë ´úÂëÈçÏÂ:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TreeNode nodeCategory ;
connection conn = new connection();
List<Category> category = conn.getCategory();
Stack<Category> storeCategory = new Stack<Category>();
storeCategory.Push(category[0]);
nodeCategory = new TreeNode(category[0].Name.Trim(), category[0].Id.Trim());
TreeView1.Nodes.Add(nodeCategory);
getTreeView(storeCategory, category, nodeCategory);
}
}
2.Êý¾Ý±éÀúµÄµÝ¹éº¯Êý£¬±È½Ï¼òµ¥¾Í²»¶à˵ÁË¡£
¸´ÖÆ´úÂë ´úÂëÈçÏÂ:
public void getTreeView(Stack<Category> categorySt ......
¸Õ¸Õ½Ó´¥ÍøÒ³¿ª·¢£¬²»¹ýÓöµ½URR²ÎÊý´«µÝ´íÎóµÄÎÊÌ⣬Á½¸öÒ³Ãæ½øÐÐÐÅÏ¢½»»¥Ê±¿ÉÒÔÓÃurl½øÐд«µÝ£¬µ«ÊÇÈç¹û´«µÝÐÅÏ¢µÄ±àÂë¸ñʽ²»ÊÇUTF-8£¨»òÕß²»ÊÇÉèÖõÄĬÈϸñʽ£©URL´«µÝʱ»á³öÏÖÂÒÂë¡£
±ÈÈçÄã´«È뺺×Ö£¬»òÕß´«Èë"§”µÈÆäËû±àÂë¸ñʽµÄ×Ö·û´®ÏµÍ³½âÎöºóµÄurlΪÂÒÂë¡£¾¹ýÔÚÍøÉϵIJéÕÒ¾õµÃÒ»ÏÂÁ½ÖÖ·½Ê½±È½ÏºÃ£º
1.Èç¹ûurlÔÚºǫ́½âÎöµÄ»°²ÉÓÃHttpUtility.UrlEncode(url£¬System.Text.Encoding.GetEncoding("±àÂë¸ñʽ(GB2312)"));
2.Èç¹ûÊÇ´«Èëǰ̨µÄ»°ÔÚ×éÖ¯URLʱ¶Ô´«µÝÐÅÏ¢½øÐбàÂë¡£±àÂë·½·¨¿ÉÒÔдµ½jsÎļþÖÐʹÓÃencodeURIComponent(source)º¯Êý£¬ÆäÖÐsourceΪÖÐÎÄ¡£¿ÉÒÔ½«ÌØÊâ×Ö·û½øÐÐת»»£¬±»×ª»»ºóµÄurl¾Í²»»á³öÏÖÂÒÂëÁË¡£
Ïêϸ³ö´¦²Î¿¼£ºhttp://www.jb51.net/article/18663.htm ......