Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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ÔòÊÇÓû§ÊäÈëµÄ²éѯÌõ¼þ×Ö´®¡£
£¨Ë³±


Ïà¹ØÎĵµ£º

ʹÓÃvisio 2003½¨Á¢sql server·´Ïò¹¤³Ì

Èý²½×ß¡£
<1>½¨Á¢Êý¾ÝÔ´
´ò¿ª¿ØÖÆÃæ°å—>¹ÜÀí¹¤¾ß—>Êý¾ÝÔ´ (ODBC)£¬»òÖ±½ÓÔËÐÐodbccp32.cplÃüÁî¡£´ò¿ªODBCÊý¾ÝÔ´¹ÜÀíÆ÷¡£Ìí¼ÓÒ»¸öϵͳÊý¾ÝÔ´¡£Ñ¡ÔñSql Server×÷ΪÊý¾ÝÔ´µÄÇý¶¯³ÌÐò£¬¼üÈëÊý¾ÝÔ´Ãû³Ædemo£¬Ñ¡ÔñºÏÊʵÄsql server·þÎñÆ÷£¬È»ºóһ·ĬÈÏÏÂÈ¥¡££¨ÔÚºóÃæµÄ²½ÖèÖпÉÒÔÑ¡ÔñÐèÒª½øÐз´Ïò¹¤³Ì ......

PHPÁ¬½ÓSQL Server

ʹÓùýSQL ServerµÄÈËÓ¦¸Ã¶¼Çå³þ£¬SQL Server³£ÓõÄÓÐÁ½ÖÖÈÏÖ¤·½Ê½£¬Ò»ÖÖÊDZ¾µØÏµÍ³ÕË»§ÈÏÖ¤£¨Windows Authentication £©£¬Ò»ÖÖÊÇʹÓÃÓû§ÃûºÍÃÜÂ루SQL Server Authentication £©£¬µÚ¶þÖÖÈÏÖ¤·½Ê½±ØÐëÆôÓÃSQL ServerµÄ»ìºÏģʽ¡£
¡¡¡¡1.Windows AuthenticationÁ¬½Ó²¿·Ö´úÂë¶Î£º
<?php
$serverName = "(local)";
$co ......

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>'
--ʹÓÃϵͳ´æ´¢ ......

Sql Server ¶ÔxmlÀàÐ͵IJÙ×÷

 declare @XML XML
SET @XML='<root>
 <OLDVALUE>
  <H_Action id="1130">030</H_Action>
  <D_Action>030</D_Action>
  <OrderCompany>00220</OrderCompany>
  <OrderNumber>10004035</OrderNumber> ......

ÇåÀíSQL Server 2008Êý¾Ý¿âÈÕÖ¾

ÇåÀíSQL Server 2008Êý¾Ý¿âÈÕÖ¾
ÊÕ²Ø



µÚÒ»²½, ÔÚÊÕËõǰÏȲ鿴ÈÕÖ¾µÄ´óС:
SELECT

*
from
sysfiles
WHERE
name
LIKE
'
%
LOG
%'
GO
 
µÚ¶þ²½, °ÑÊý¾Ý¿âµÄ»Ö¸´Ä£Ê½Éè³É”¼òµ¥”:
ALTER

DATABASE
¿âÃû
SET
......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ