Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

·ÀÖ¹SQL×¢Èë¹¥»÷µÄ×¢ÒâÊÂÏî

·ÀÖ¹SQL×¢Èë¹¥»÷µÄ×¢ÒâÊÂÏî
Ò». SQL Injection¼°Æä·À·¶µÄ»ù±¾ÖªÊ¶
¿ÉÄÜ´ó¼Ò¶¼ÖªµÀ£¬SQL×¢ÈëÖ÷ÒªÊÇÀûÓÃ×Ö·ûÐͲÎÊýÊäÈëµÄ¼ì²é©¶´¡£
±ÈÈç˵£¬³ÌÐòÖÐÓÐÕâÑùµÄ²éѯ£º
 string sql = "SELECT * from SiteUsers WHERE UserName='" + userName + "'";
ÆäÖеÄuserName²ÎÊýÊÇ´ÓÓû§½çÃæÉÏÊäÈëµÄ¡£
Èç¹ûÊÇÕý³£µÄÊäÈ룬±ÈÈç“Peter”£¬SQLÓï¾ä»á´®½Ó³É£º
 "SELECT * from SiteUsers WHERE UserName='Peter'";
Èç¹û¹¥»÷ÕßÊäÈëµÄÊÇÏÂÃæµÄ×Ö·û´®£º
  "xxx'; DROP TABLE SiteUsers WHERE 1=1 or UserName='xxx"
´ËʱSQLÓï¾ä»á±ä³ÉÏÂÃæÕâ¸öÑù×Ó£º
  "SELECT * from SiteUsers WHERE UserName='xxx'; DROP TABLE SiteUsers WHERE 1=1 or UserName='xxx'";
Æä½á¹û£¬µÃµ½Ö´ÐеÄÊÇÁ½¸öSQLÓï¾ä£¬µÚ¶þ¸öÓï¾äµÄºó¹û¾Í±È½ÏÑÏÖØÁË¡£
·ÀÖ¹×¢ÈëµÄ·½·¨ÆäʵºÜ¼òµ¥£¬Ö»Òª°ÑÓû§ÊäÈëµÄµ¥ÒýºÅ±ä³ÉË«·Ý¾ÍÐÐÁË£º
 string sql = "SELECT * from SiteUsers WHERE UserName='" + userName.Replace("'","''") + "'";
ÕâÑù£¬Èç¹ûÊäÈëµÄÊÇÉÏÃæÄÇÖÖ¶ñÒâ²ÎÊý£¬Õû¸öSQLÓï¾ä»á±ä³É£º
 "SELECT * from SiteUsers WHERE UserName='<STRONG>xxx''; DROP TABLE SiteUsers WHERE 1=1 or UserName=''xxx</STRONG>'";
±»Ö´ÐеϹÊÇÒ»¸öSQLÓï¾ä£¬Õû¸ö´ÖÌ岿·Ö¶¼³ÉΪ²ÎÊýÖµ¡£
Ò»°ãµÄ×ö·¨£¬ÊÇÔÚ³ÌÐòÖÐͳһµ÷ÓÃÏÂÃæÕâÑùµÄ¹²Í¨º¯Êý£¬¶Ô²ÎÊý½øÐд¦Àí£º
private string SafeSqlLiteral(string inputSQL)
{
&nbsp; return inputSQL.Replace("'", "''");
}
ÓÉÓںܶàÈË»áÊèºöÕâÖÖµ¥ÒýºÅÌæ»»£¬ËùÒÔÕæÕý°²È«µÄ×ö·¨ÊÇʹÓòÎÊý»¯²éѯ¡£
¶þ. ²ÎÊý»¯²éѯ
 ÔÚADO.NETÖУ¬ÌṩÁËÒ»ÖÖ²ÎÊý»¯²éѯ·½·¨£¬¿ÉÒÔÌæ´úÉÏÃæÕâÖÖÆ´½ÓSQLÓï¾äµÄ×ö·¨¡£
²ÎÊý»¯²éѯµÄ¾ßÌåʵÏÖÊÇ£º
£¨1£©×éÖ¯Ò»¸ö¼Ð´ø²ÎÊýÃûµÄSQLÓï¾ä£¬×÷ΪSqlCommandµÄCommandText¡£
£¨2£©Ê¹ÓÃParameters.Add·½·¨ÉèÖòÎÊýÖµ¡£
£¨3£©Ö´ÐÐSqlCommand¡££¨Õâ¸ö²½Öè¸úÉÏÃæÄÇÖÖÆ´½ÓSQLµÄ°ì·¨ÊÇÒ»ÑùµÄ¡££©
ÏÂÃæÊÇÒ»¸öÀý×Ó£º
  string sql = "SELECT T2.dep_code, T2.dep_name from DEP ";
 sql += " WHERE T2.dep_name like ('%'+ <STRONG>@Param</STRONG> + '%') ";
 SqlCommand sqlCommand = new SqlCommand(sql,cn);
 sqlCommand.Parameters.Add(new SqlParameter("Param",s);
ÆäÖеÄ@Param¾ÍÊDzÎÊýÃû£¬sÔòÊÇÓû§ÊäÈëµÄ²éѯÌõ¼þ×Ö´®¡£
£¨Ë³±


Ïà¹ØÎĵµ£º

SQLÈ¡ÈÕÆÚ

SQLÈ¡ÈÕÆÚ
SQL Server 2009-11-19 15:07:30 ÔĶÁ7 ÆÀÂÛ0 ×ֺţº´óÖÐС
·½·¨Ò»:
select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),\'-\',\'\'),\' \',\'\'),\':\',\'\')
20040912110608
select CONVERT(varchar(12) , getdate( ......

SQL sever Ñ­»·Óï¾ä

for i=0,i++,i<@num
select dateadd(DAY,GETDATE(),I)
ÇëÎÊÉÏÃæµÄÓï¾äÔõô¸Äд²ÅÕýÈ·£¿£¿£¿
Transact-SQL ²Î¿¼
WHILE
ÉèÖÃÖØ¸´Ö´ÐÐ SQL Óï¾ä»òÓï¾ä¿éµÄÌõ¼þ¡£Ö»ÒªÖ¸¶¨µÄÌõ¼þÎªÕæ£¬¾ÍÖØ¸´Ö´ÐÐÓï¾ä¡£¿ÉÒÔʹÓà BREAK ºÍ CONTINUE ¹Ø¼ü×ÖÔÚÑ­»·ÄÚ²¿¿ØÖÆ WHILE Ñ­»·ÖÐÓï¾äµÄÖ´ÐС£
Óï·¨
WHILE Boolean_expression
{ s ......

SQL Server2000 ½âÎöXML

DECLARE @HDOC INT --Îĵµ¾ä±ú
DECLARE @XMLSTRING VARCHAR(200) --XML×Ö·û´®
SET @xmlString ='<?xml version="1.0"?>
<ROOT>
<USER ID="1" Name="SBQCEL"/>
<USER ID="2" Name="PEACELI"/>
<USER ID="3" Name="SHEEPCHANG"/>
</ROOT>'
--ʹÓÃϵͳ´æ´¢ ......

vfp/(asp/vfpdll/Sql)

ÒÔÏÂÊÇ·¢ÔÚ÷×ÓÂÛ̳µÄÌù×Ó£¬×ª·¢¹ýÀ´£¬Ï£Íû¸øÓõÃ×ŵĺüÓѲο¼¡£
ÎҵijÌÐòÒÔǰһֱÊÇÓû¨Éú¿Ç°ó¶¨IPʵÏÖµÄÔ¶³Ì£¬ÓÉÓÚ¿Í»§·þÎñÆ÷ºÍ¿Í»§¶Ë¶¼ÊÇͨ¹ý¿í´øÉÏÍø£¬Ò»°ãµÄ²Ù×÷£¨¿ª½ø»õµ¥¡¢ÏúÊÛµ¥µÈ£©ËÙ¶ÈÒ²»¹²»´í£¬µ«ÊÇÔÚÔ¶³Ì¿Í»§¶ËÐÞ¸ÄÉÌÆ·×ÊÁÏ£¨10000¶àÌõ¼Ç¼£©¡¢²éѯһ¶ÎʱÆÚµÄ½øÏú´æÁ÷Ë®£¨Ò»ÖÜ5000ÌõÒÔÉÏ£©µÈÉæ¼°µ½È¡¼Ç¼Á¿´óµ ......

Çå³ýSQL Server Management Studio×î½ü·þÎñÆ÷Áбí

Õª×Ô£ºÒÁÒÇÇïË®
SQL Server Management Studio (SSMS) µÄ“Á¬½Óµ½·þÎñÆ÷”¶Ô»°¿ò»á¼Ç¼Óû§ËùÓзÃÎʹýµÄ·þÎñÆ÷Ãû³Æ£¬Õâ¸ö¹¦ÄܶÔÓÚ¾­³£Á¬½Ó¶à¸öÊý¾Ý¿âµÄÈËÀ´ËµÈ·ÊµÍ¦·½±ãµÄ¡£
²»¹ýʹÓÃÁËÒ»¶Îʱ¼äÖ®ºó£¬Õâ¸öÁбí»á±äµÃºÜ³¤¡£ÀïÃæ»¹Óкܶà·þÎñÆ÷Ãû³Æ¶¼ÒѾ­Ê§Ð§ÁË£¬ºÜÏë°ÑÕâ¸öÁбíÇå¿ÕÁË¡£µ«ÊǺÜÓôÃÆÔÚSSMSµÄ½çÃæÕÒ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ