¡¡¡¡ÈÕǰSQL INJECTIONµÄ¹¥»÷²âÊÔÓúÑÝÓúÁÒ£¬ºÜ¶à´óÐ͵ÄÍøÕ¾ºÍÂÛ̳¶¼Ïà¼Ì±»×¢Èë¡£ÕâÐ©ÍøÕ¾Ò»°ãʹÓõĶàΪSQL SERVERÊý¾Ý¿â£¬ÕýÒòΪÈç´Ë£¬ºÜ¶àÈË¿ªÊ¼»³ÒÉSQL SERVERµÄ°²È«ÐÔ¡£ÆäʵSQL SERVER 2000ÒѾͨ¹ýÁËÃÀ¹úÕþ¸®µÄC2¼¶°²È«ÈÏÖ¤-ÕâÊǸÃÐÐÒµËùÄÜÓµÓеÄ×î¸ßÈÏÖ¤¼¶±ð£¬ËùÒÔʹÓÃSQL SERVER»¹ÊÇÏ൱µÄ°²È«µÄ¡£µ±È»ºÍORCAL¡¢DB2µÈ»¹ÊÇÓвî¾à£¬µ«ÊÇSQL SERVERµÄÒ×ÓÃÐԺ͹㷺ÐÔ»¹ÊÇÄܳÉΪÎÒÃǼÌÐøÊ¹ÓÃÏÂÈ¥µÄÀíÓÉ¡£ÄÇÔõôÑù²ÅÄÜʹSQL SERVERµÄÉèÖÃÈÃÈËʹÓõķÅÐÄÄØ£¿
¡¡¡¡µÚÒ»²½¿Ï¶¨ÊÇ´òÉÏSQL SERVER×îÐµİ²È«²¹¶¡£¬ÏÖÔÚ²¹¶¡ÒѾ³öµ½ÁËSP3£¬ÏÂÔØµØÖ·£ºhttp://www.microsoft.com/sql/downloads/2000/sp3.asp ¡£Èç¹ûÕâÒ»²½¶¼Ã»ÓÐ×öºÃ£¬ÄÇÎÒÃÇҲûÓмÌÐøÏÂÈ¥µÄ±ØÒªÁË¡£
¡¡¡¡µÚ¶þ²½ÊÇÐÞ¸ÄĬÈϵÄ1433¶Ë¿Ú£¬²¢ÇÒ½«SQL SERVERÒþ²Ø¡£ÕâÑùÄܽûÖ¹¶ÔÊÔͼö¾ÙÍøÂçÉÏÏÖÓÐµÄ SQL Server ¿Í»§¶ËËù·¢³öµÄ¹ã²¥×÷³öÏìÓ¦¡£ÁíÍ⣬»¹ÐèÒªÔÚTCP/IPɸѡÖн«1433¶Ë¿ÚÆÁ±Îµô£¬¾¡¿ÉÄܵÄÒþ²ØÄãµÄSQL SERVERÊý¾Ý¿â¡£ÕâÑù×ÓÒ»µ«Èù¥»÷´´½¨ÁËSQL SERVERµÄÕ˺ţ¬Ò²²»ÄÜÂíÉÏʹÓòéѯ·ÖÎöÆ÷Ô¶³ÌµÇ½À´½øÐÐÏÂÒ»²½µÄ¹¥»÷¡£µ¥´ÓASP£¬PHPµÈÒ³Ãæ¹¹Ôì¶ñÒâÓï¾äµÄ»°£¬»¹ÓÐÐèÒª²é¿´·µ»ØÖµµÄÎÊÌ⣬×Ü±È ²»ÉÏÖ±½Ó²éѯ·ÖÎöÆ÷À´µÃÀ ......
µ±ÄãÕýÔÚ´¦Àí±»¶à¸öÕ¾µã£¨ÏñÔÚ¿ç¹ú¹«Ë¾Ìõ¼þÏ£©Ê¹ÓõĴóÊý¾Ý¿âʱ£¬ÄãÒ²Ðí»áÓöµ½±£Ö¤±í¸ñ¶ÔÏóΨһÐÔÕâÑùµÄ¼¬ÊÖÎÊÌâ¡£ÔÚÕâÖÖÇéÐÎÏ£¬¿ÉÄÜÖ»ÄÜ¿¿UNIQUEIDENTIFIERÀ´½â¾ö¡£UNIQUEIDENTIFIERÊÇÒ»¸ö±£´æÈ«¾ÖΨһ±êʶ·ûµÄGUIDÊý¾ÝÀàÐÍ¡£GUIDÊÇÒ»¸ö±£Ö¤Î¨Ò»µÄ¶þ½øÖÆÊý£¬Òò´Ë¼¸ºõûÓбðµÄ¼ÆËã»ú»á²úÉúͬһ¸öÖµ¡£
GUIDµÄΨһֵÊÇÓɼÆËã»úÍø¿¨µÄ±êʶÊý¼ÓÉÏÒ»¸öCPUʱÖÓ²úÉúµÄΨһÊý¶øµÃµ½µÄ¡£Íø¿¨ÖÆÔìÉÌÖÁÉÙÔÚÏÂÒ»¸ö100ÄêÄÚÄܱ£Ö¤Íø¿¨µÄΨһÐÔ¡£
UNIQUEIDENTIFIERÖµ²»ÄÜÏñIDENTITYÊôÐÔÄÇÑù×Ô¶¯²úÉú¡£ÒªÏëΪÄãµÄ±í¸ñ¶ÔÏó²úÉúUNIQUEIDENTIFIERÖµ£¬Äã±ØÐëÖ¸¶¨NEWIDº¯ÊýΪcolumnµÄȱʡֵ¡£
ÀýÈ磬Èç¹ûÄãÏëÒª´´½¨Ò»¸ö±í¸ñÁгöÄãµÄ¿ç¹ú¹«Ë¾µÄËùÓÐ×Ó¹«Ë¾µÄ¼â¶Ë²úÆ·µÄÊÕÈ룬²¢ÇÒÄãÏ£ÍûÖ¸¶¨Ò»¸öGUIDÊý¾ÝÀàÐÍ£¬ÄÇôÄã¿ÉÒÔ¼üÈ룺
CREATE TABLE NetRevenueTable
(UniqueColumn UNIQUEIDENTIFIER DEFAULT NEWID(),
Characters VARCHAR(10))
ÔÚÊý¾Ý¿â¹¤¾ßÖУ¬ÄãÒªÔÚÊý¾Ý¿âͼ±íÖлòµ±ÄãÕýÔÚÉè¼ÆÒ»¸ö±í¸ñʱ×öÕâ¼þÊÂÇ顣ΪÄãÏëΨһȷ¶¨µÄcolumnÑ¡ÔñIs RowGUID¡£È±Ê¡Çé¿ö½«ÊÇ(newid())£¬Ëü×Ô¶¯²úÉúRowGUID¡£
¾¡¹ÜÔÚÐí¶àÇé¿öÏÂÄã±ØÐë±£Ö¤±í¸ñ¶ÔÏóµÄΨһÐÔ£¬µ«ÊÇÈç¹ûÄã¾ö¶¨Ê¹ÓÃUNIQUEIDENTIFIERÊý¾ÝÀàÐ ......
Êý¾ÝÔ´......°üº¬ÎÞ·¨ÓÃÓÚ´¦Àí²Ù×÷µÄ ImpersonationMode¡£
½â¾ö·½·¨£º
·þÎñÆ÷Á¬½Ó¸ÄΪ“ʹÓ÷þÎñÕË»§”¡£
¾ßÌå²Ù×÷£º
ÔÚÊý¾ÝÔ´ÀïµÄÏîÄ¿Éϵã»÷ÓÒ¼ü->´ò¿ª->Êý¾ÝÔ´Éè¼ÆÆ÷ £¬ Ñ¡Ôñ“Ä£ÄâÐÅÏ¢”±êÇ©->Ñ¡Ôñ“ʹÓ÷þÎñÕË»§”£¬È·¶¨£¬Ö´Ðв¿Êð¡£ ......
Ò»£ºC# Á¬½ÓSQLÊý¾Ý¿â
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=True;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
1£ºIntegrated Security²ÎÊý
µ±ÉèÖÃIntegrated SecurityΪ True µÄʱºò£¬Á¬½ÓÓï¾äÇ°ÃæµÄ UserID, PW ÊDz»Æð×÷Óõ쬼´²ÉÓÃwindowsÉí·ÝÑé֤ģʽ¡£
Ö»ÓÐÉèÖÃΪ False »òÊ¡ÂÔ¸ÃÏîµÄʱºò£¬²Å°´ÕÕ UserID, PW À´Á¬½Ó¡£
Integrated Security »¹¿ÉÒÔÉèÖÃΪ£ºsspi £¬Ï൱ÓÚ True£¬½¨ÒéÓÃÕâ¸ö´úÌæ True¡£
Data Source=myServerAddress;Initial Catalog=myDataBase;Integ ......
Ò»£ºC# Á¬½ÓSQLÊý¾Ý¿â
Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=True;
Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
1£ºIntegrated Security²ÎÊý
µ±ÉèÖÃIntegrated SecurityΪ True µÄʱºò£¬Á¬½ÓÓï¾äÇ°ÃæµÄ UserID, PW ÊDz»Æð×÷Óõ쬼´²ÉÓÃwindowsÉí·ÝÑé֤ģʽ¡£
Ö»ÓÐÉèÖÃΪ False »òÊ¡ÂÔ¸ÃÏîµÄʱºò£¬²Å°´ÕÕ UserID, PW À´Á¬½Ó¡£
Integrated Security »¹¿ÉÒÔÉèÖÃΪ£ºsspi £¬Ï൱ÓÚ True£¬½¨ÒéÓÃÕâ¸ö´úÌæ True¡£
Data Source=myServerAddress;Initial Catalog=myDataBase;Integ ......
¡¡¡¡×ܵÄÀ´Ëµ£¬MS SQL 2005µÄ°²È«ÐÔ±ÈSQL 2000ҪǿÉϲ»ÉÙ£¬²»¹ýĬÈÏÉèÖû¹ÊÇÓкÍÔÀ´Ò»ÑùµÄ©¶´£¬ÏÂÃæÎÒÃÇÀ´ÐÞ¸ÄÒ»ÏÂĬÈÏÉèÖá£
¡¡¡¡1¡¢ÐÞ¸ÄĬÈÏ£Ó£ÁÃÜÂë¡£
¡¡¡¡°²×°MSSQLʱʹÓûìºÏģʽ£¬µ±È»SAÃÜÂë×îºÃ²»ÄÜΪ¿Õ£¬ÔÚSQL2005ÖУ¬¿ÉÒÔ¶ÔSAÕâ¸ö³¬¼¶Óû§Ãû½øÐÐÐ޸Ļòɾ³ý¡£
use master
ALTER LOGIN [sa] WITH NAME=[zxs] /*ÐÞ¸ÄSAÕʺÅ*/
sp_password '111111','123456','sa' /*ÐÞ¸ÄSAÃÜÂë*/
¡¡¡¡Ê¹ÓÃÒÔÉÏÃüÁî¿ÉÐÞ¸ÄSAÕʺţ¬Ò²¿É½øÐÐͼÐλ¯µÄÐ޸ģ¬Ê¹Óð²È«µÄÕʺŲßÂÔ¡£¶ÔSA»òµÈͬÓû§½øÐÐ×îÇ¿µÄ±£»¤£¬µ±È»£¬°üÀ¨Ê¹ÓÃÒ»¸ö·Ç³£Ç¿×³µÄÃÜÂ룬ÈçÏÂͼ
¡¡¡¡ÕâÀï¿ÉÒÔ¿´µ½SQL 2005±ÈSQL 2000 ÔöÇ¿µÄµØ·½ÁË¡£
¡¡¡¡2¡¢SQLµÄÈÏÖ¤ÓÐWindowsÉí·ÝÈÏÖ¤ºÍ»ìºÏÉí·ÝÈÏÖ¤¡£
¡¡¡¡ÔÚ2005ÖУ¬µÇ½SQL¿ÉÒÔʹÓÃwindowsÉí·ÝÈÏÖ¤ºÍ»ìºÏÉí·ÝÈÏÖ¤·½±ã£¬Èç¹û²»Ï£Íûϵͳ¹ÜÀíÔ±½Ó´¥Êý¾Ý¿âµÄ»°£¬¿ÉÒÔÔÚ°²È«ÐÔ==µÇ¼ÃûÊǰÑϵͳÕʺœBUILTIN\Administrators”ɾ³ý¡£µ±È»£¬»¹ÓбðµÄ¶àÓàµÄÕʺÅÒ²¿Éһͬ½ûÖ¹£¬Ö»ÐèÒªÔÚÕʺÅ==ÊôÐÔ==״̬ÖаÑÊÇ·ñÔÊÐíÁ¬½Óµ½Êý¾Ý¿âÒýÇæ¸ÄΪ¾Ü¾ø£¬»¹ÓеǼ¸ÄΪ½ûÓü´¿É£¬²»¹ýÕâÑùµÄ»µ´¦¾ÍÊǵ±ÄãÍüÁËSAµÄÃÜÂëʱ£¬ÎÒҲû°ì ......
1. ˵Ã÷£º¸´ÖƱí(Ö»¸´Öƽṹ£¬Ô´±íÃû£ºa£¬Ð±íÃû£ºb)
SQL: select * into b from a where 1<>1;
2. ˵Ã÷£º¿½±´±í(¿½±´Êý¾Ý£¬Ô´±íÃû£ºa£¬Ä¿±ê±íÃû£ºb)
SQL: insert into b(a, b, c) select d, e, f from b;
3. ˵Ã÷£ºÏÔʾÎÄÕ¡¢Ìá½»È˺Í×îºó»Ø¸´Ê±¼ä
SQL: select a.title, a.username, b.adddate
from table a,(
select max(adddate) adddate
from table where table.title=a.title) b ¡¡
4. ˵Ã÷£ºÍâÁ¬½Ó²éѯ(±íÃû1£ºa£¬±íÃû2£ºb)
SQL: select a.a, a.b, a.c, b.c, b.d, b.f
from a LEFT OUT JOIN b ON a.a = b.c; ¡¡
5. ˵Ã÷£ºÈճ̰²ÅÅÌáǰÎå·ÖÖÓÌáÐÑ
SQL: select *
from Èճ̰²ÅÅ
where datediff(’’minute&rs ......