Sqlserver ÖÐÁÙʱ±íºÍÈ«¾ÖÁÙʱ±í
SQL Server Ö§³ÖÁÙʱ±í¡£ÁÙʱ±í¾ÍÊÇÄÇЩÃû³ÆÒÔ¾®ºÅ (#) ¿ªÍ·µÄ±í¡£Èç¹ûµ±Óû§¶Ï¿ªÁ¬½ÓʱûÓгýÈ¥ÁÙʱ±í£¬SQL Server ½«×Ô¶¯³ýÈ¥ÁÙʱ±í¡£ÁÙʱ±í²»´æ´¢ÔÚµ±Ç°Êý¾Ý¿âÄÚ£¬¶øÊÇ´æ´¢ÔÚϵͳÊý¾Ý¿â tempdb ÄÚ¡£
ÁÙʱ±íÓÐÁ½ÖÖÀàÐÍ£º
±¾µØÁÙʱ±í
ÒÔÒ»¸ö¾®ºÅ (#) ¿ªÍ·µÄÄÇЩ±íÃû¡£Ö»ÓÐÔÚ´´½¨±¾µØÁÙʱ±íµÄÁ¬½ÓÉϲÅÄÜ¿´µ½ÕâЩ±í¡£
È«¾ÖÁÙʱ±í
ÒÔÁ½¸ö¾®ºÅ (##) ¿ªÍ·µÄÄÇЩ±íÃû¡£ÔÚËùÓÐÁ¬½ÓÉ϶¼ÄÜ¿´µ½È«¾ÖÁÙʱ±í¡£Èç¹ûÔÚ´´½¨È«¾ÖÁÙʱ±íµÄÁ¬½Ó¶Ï¿ªÇ°Ã»ÓÐÏÔʽµØ³ýÈ¥ÕâЩ±í£¬ÄÇôֻҪËùÓÐÆäËüÈÎÎñÍ£Ö¹ÒýÓÃËüÃÇ£¬ÕâЩ±í¼´±»³ýÈ¥¡£µ±´´½¨È«¾ÖÁÙʱ±íµÄÁ¬½Ó¶Ï¿ªºó£¬ÐµÄÈÎÎñ²»ÄÜÔÙÒýÓÃËüÃÇ¡£µ±Ç°µÄÓï¾äÒ»Ö´ÐÐÍ꣬ÈÎÎñÓë±íÖ®¼äµÄ¹ØÁª¼´±»³ýÈ¥£»Òò´Ëͨ³£Çé¿öÏ£¬Ö»Òª´´½¨È«¾ÖÁÙʱ±íµÄÁ¬½Ó¶Ï¿ª£¬È«¾ÖÁÙʱ±í¼´±»³ýÈ¥¡£
==========================================================================
SQL code
--Ó¦Óñ¾µØÁÙʱ±í
declare @sql varchar(100)
set @sql='select ''123'' as a,''abasdf'' as b into #t'
exec(@sql)
select * from #t
go
/*·¢ÏÖ²»ÄÜÕýÈ·ÏÔʾÁÙʱ±íµÄÊý¾Ý
Ìáʾ£º
·þÎñÆ÷: ÏûÏ¢ 208£¬¼¶±ð 16£¬×´Ì¬ 1£¬ÐÐ 5
¶ÔÏóÃû '#t' ÎÞЧ¡£
*/
--ÐÞ¸ÄΪȫ¾ÖÁÙʱ±í
declare @sql varchar(100)
set @sql='select ''123'' as a,''abasdf'' as b into ##t'
exec(@sql)
select * from ##t
drop table ##t
go
/*¿ÉÒÔÕýÈ·ÏÔʾÁÙʱ±íµÄÊý¾Ý
·ÖÎöÔÒò:exec(@sql) Ï൱ÓÚÖØÐ½¨Á¢Ò»¸öÊý¾Ý¿â¶Ô»°£¬ËùÒÔ¶ÔÓÚ±¾µØÁÙʱ±í£¬Ê¹ÓÃexec(@sql)´´½¨ÁÙʱ±í£¬
ÔÚexecÍⲿ²»ÄÜÕýÈ··ÃÎÊ£»¶øÊ¹ÓÃÈ«¾ÖÁÙʱ±í¾ÍokÁË
*/
SQL code
exec ('select top 10 * into ##temp from syhouse');
exec ('select * from ##temp');
Ïà¹ØÎĵµ£º
SQL×¢ÈëÊÇʲô?
¡¡¡¡Ðí¶àÍøÕ¾³ÌÐòÔÚ±àдʱ£¬Ã»ÓжÔÓû§ÊäÈëÊý¾ÝµÄºÏ·¨ÐÔ½øÐÐÅжϣ¬Ê¹Ó¦ÓóÌÐò´æÔÚ°²È«Òþ»¼¡£Óû§¿ÉÒÔÌá½»Ò»¶ÎÊý¾Ý¿â²éѯ´úÂë(Ò»°ãÊÇÔÚä¯ÀÀÆ÷µØÖ·À¸½øÐÐ,ͨ¹ýÕý³£µÄwww¶Ë¿Ú·ÃÎÊ)£¬¸ù¾Ý³ÌÐò·µ»ØµÄ½á¹û£¬»ñµÃijЩÏëµÃÖªµÄÊý¾Ý£¬Õâ¾ÍÊÇËùνµÄSQL Injection£¬¼´SQL×¢Èë¡£
¡¡¡¡ÍøÕ¾µÄ¶ñÃΗ—SQL×¢Èë
......
ÔÚÊÓͼÉÏ´´½¨Ë÷ÒýµÄÁíÒ»¸öºÃ´¦ÊÇ£º²éѯÓÅ»¯Æ÷¿ªÊ¼ÔÚ²éѯÖÐʹÓÃÊÓͼË÷Òý
£¬
¶ø²»ÊÇÖ±½ÓÔÚ from
×Ó¾äÖÐÃüÁîÊÓͼ¡£ÕâÑùÒ»À´£¬¿É´ÓË÷ÒýÊÓͼ¼ìË÷Êý¾Ý¶øÎÞÐèÖØÐ±àÂ룬ÓÉ´Ë´øÀ´µÄ¸ßЧÂÊҲʹÏÖÓвéѯ»ñÒæ¡£ÔÚÊÓͼÉÏ´´½¨µÄµÚÒ»¸öË÷Òý±ØÐëÊÇΨһ¾Û¼¯Ë÷Òý¡£ÔÚ´´
½¨Î¨Ò»¾Û¼¯Ë÷Òýºó£¬¿É´´½¨ÆäËü·Ç¾Û¼¯Ë÷Òý¡£ÊÓͼÉϵÄË÷ÒýÃüÃû¹æÔòÓë± ......
SERVER Í£Ö¹,ÎÞ·¨Æô¶¯,¹ýÆÚÁË (ÆÀ¹À°æ2000)(2008-04-25 22:31:17)±êÇ©£ºsql server ÎÞ·¨Æô¶¯ ¹ýÆÚ ½â¾ö·½·¨ it
µ± SQL Server 2000 ÆÀ¹À°æµÄ 120 ÌìÆÀ¹ÀÆÚ¹ýÆÚºó£¬SQL Server ½«ÎÞ·¨Æô¶¯¡£
ÔÚ Windows ʼþ²é¿´Æ÷Ó¦ÓóÌÐòÈÕÖ¾ÖУ¬Äú¿ÉÄܻῴµ½ÏÂÃæµÄ´íÎó£º
SQL Server evaluation period has expired ......
ͨÅä·û ˵Ã÷
_ ÓëÈÎÒâµ¥×Ö·ûÆ¥Åä
% Óë°üº¬Ò»¸ö»ò¶à¸ö×Ö·ûµÄ×Ö·û´®Æ¥Åä
[ ] ÓëÌØ¶¨·¶Î§£¨ÀýÈ磬[a-f]£©»òÌØ¶¨¼¯£¨ÀýÈ磬[abcdef]£©ÖеÄÈÎÒâµ¥×Ö·ûÆ¥Åä¡£
[^] ÓëÌØ¶¨·¶Î§£¨ÀýÈ磬[^a-f]£©»òÌØ¶¨¼¯£¨ÀýÈ磬[^abcdef]£©Ö®ÍâµÄÈÎÒâµ¥×Ö·ûÆ¥Åä¡£
......