ÔÚPHPÖÐÈ«Ãæ×èÖ¹SQL×¢Èëʽ¹¥»÷Ö®Èý
Ò»¡¢ ½¨Á¢Ò»¸ö°²È«³éÏó²ã
¡¡¡¡ÎÒÃDz¢²»½¨ÒéÄãÊÖ¹¤µØ°ÑÇ°Ãæ½éÉܵļ¼ÊõÓ¦ÓÃÓÚÿһ¸öÓû§ÊäÈëµÄʵÀýÖУ¬¶øÊÇÇ¿ÁÒÍƼöÄãΪ´Ë´´½¨Ò»¸ö³éÏó²ã¡£Ò»¸ö¼òµ¥µÄ³éÏóÊÇ°ÑÄãµÄУÑé·½°¸¼ÓÈëµ½Ò»¸öº¯ÊýÖУ¬²¢ÇÒÕë¶ÔÓû§ÊäÈëµÄÿһÏîµ÷ÓÃÕâ¸öº¯Êý¡£µ±È»£¬ÎÒÃÇ»¹¿ÉÒÔ´´½¨Ò»ÖÖ¸ü¸´Ôӵĸü¸ßÒ»¼¶µÄ³éÏó-°ÑÒ»¸ö°²È«µÄ²éѯ·â×°µ½Ò»¸öÀàÖУ¬´Ó¶øÓ¦ÓÃÓÚÕû¸öÓ¦ÓóÌÐò¡£ÔÚÍøÉÏÒѾ´æÔÚÐí¶àÕâÖÖÏֳɵÄÃâ·ÑµÄÀࣻÔÚ±¾ÆªÖУ¬ÎÒÃÇÕýÒªÌÖÂÛÆäÖеÄһЩ¡£
¡¡¡¡½øÐÐÕâÖÖ³éÏóÖÁÉÙ´æÔÚÈý¸öÓŵ㣨¶øÇÒÿһ¸ö¶¼»á¸Ä½ø°²È«¼¶±ð£©£º
¡¡¡¡1. ±¾µØ»¯´úÂë¡£
¡¡¡¡2. ʹ²éѯµÄ¹¹Ôì¸ü¿ìÇÒ¸üΪ¿É¿¿-ÒòΪÕâ¿ÉÒ԰Ѳ¿·Ö¹¤×÷½»ÓɳéÏó´úÂëÀ´ÊµÏÖ¡£
¡¡¡¡3. µ±»ùÓÚ°²È«ÌØÕ÷½øÐй¹½¨²¢ÇÒÇ¡µ±Ê¹ÓÃʱ£¬Õ⽫»áÓÐЧµØ·ÀÖ¹ÎÒÃÇÇ°ÃæËùÌÖÂ۵ĸ÷ÖÖ¸÷ÑùµÄ×¢Èëʽ¹¥»÷¡£
¡¡¡¡¶þ¡¢ ¸Ä½øÏÖÓеÄÓ¦ÓóÌÐò
¡¡¡¡Èç¹ûÄãÏë¸Ä½øÒ»¸öÏÖÓеÄÓ¦ÓóÌÐò£¬ÔòʹÓÃÒ»¸ö¼òµ¥µÄ³éÏó²ãÊÇ×îÊʵ±µÄ¡£Ò»¸öÄܹ»¼òµ¥µØ"ÇåÀí"ÄãËùÊÕ¼¯µÄÈκÎÓû§ÊäÈëÄÚÈݵĺ¯Êý¿ÉÄÜ¿´ÆðÀ´ÈçÏÂËùʾ£º
function safe( $string ) {
¡¡return "'" . mysql_real_escape_string( $string ) . "'"
}
¡¡¡¡¡¾×¢Òâ¡¿ÎÒÃÇÒѾ¹¹½¨ÁËÏàÓ¦ÓÚÖµÒªÇóµÄµ¥ÒýºÅÒÔ¼°mysql_real_escape_string()º¯Êý¡£½ÓÏÂÀ´£¬¾Í¿ÉÒÔʹÓÃÕâ¸öº¯ÊýÀ´¹¹ÔìÒ»¸ö$query±äÁ¿£¬ÈçÏÂËùʾ£º
$variety = safe( $_POST['variety'] );
$query = " SELECT * from wines WHERE variety=" . $variety;
¡¡¡¡ÏÖÔÚ£¬ÄãµÄÓû§ÊÔͼ½øÐÐÒ»¸ö×¢Èëʽ¹¥»÷-ͨ¹ýÊäÈëÏÂÁÐÄÚÈÝ×÷Ϊ±äÁ¿$varietyµÄÖµ£º
lagrein' or 1=1;
¡¡¡¡×¢Ò⣬Èç¹û²»½øÐÐÉÏÃæµÄ"ÇåÀí"£¬Ôò×îºóµÄ²éѯ½«ÈçÏÂËùʾ£¨Õ⽫µ¼ÖÂÎÞ·¨Ô¤ÁϵĽá¹û£©£º
SELECT * from wines WHERE variety = 'lagrein' or 1=1;'
¡¡¡¡È»¶øÏÖÔÚ£¬¼ÈÈ»Óû§µÄÊäÈëÒѾ±»ÇåÀí£¬ÄÇô²éѯÓï¾ä¾Í³ÉΪÏÂÃæÕâÑùÒ»ÖÖÎÞΣº¦µÄÐÎʽ£º
SELECT * from wines WHERE variety = 'lagrein\' or 1=1\;'
¡¡¡¡¼ÈÈ»Êý¾Ý¿âÖв»´æÔÚÓëÖ¸¶¨µÄÖµÏàÓ¦µÄvarietyÓò(ÕâÕýÊǶñÒâÓû§ËùÊäÈëµÄÄÚÈÝ-lagrein' or 1=1;)£¬ÄÇô£¬Õâ¸ö²éѯ½«²»ÄÜ·µ»ØÈκνá¹û£¬²¢ÇÒ×¢È뽫»áʧ°Ü¡£
Èý¡¢ ±£»¤Ò»¸öеÄÓ¦ÓóÌÐò
¡¡¡¡Èç¹ûÄãÕýÔÚ´´½¨Ò»¸öеÄÓ¦ÓóÌÐò£¬ÄÇô£¬Äã¿ÉÒÔ´ÓÍ·¿ªÊ¼´´½¨Ò»¸ö°²È«³éÏó²ã¡£Èç½ñ£¬PHP 5иĽøµÄ¶ÔÓÚMySQLµÄÖ§³Ö£¨ÕâÖ÷ÒªÌåÏÖÔÚеÄmysqliÀ©Õ¹ÖУ©ÎªÕâÖÖ°²È«ÌØÕ÷ÌṩÁËÇ¿ÓÐÁ¦µÄÖ§³Ö£¨¼ÈÓйý³ÌÐԵģ¬Ò²ÓÐÃæÏò¶ÔÏóÌØÕ÷µÄ£©¡£Äã¿ÉÒÔ´ÓÕ¾µãhttp://php.net/mysqliÉÏ»ñÈ¡ÓйØmysqliµÄÐÅÏ¢¡£×¢Ò⣬ֻÓе
Ïà¹ØÎĵµ£º
¡¡¡¡“¼¼ÊõÎÊÌⶼÊÇ¿ÉÒÔ½â¾öµÄ£¬¼¼ÊõÎÊÌâ²»ÊÇ×î×îÖØÒªµÄ”
¡¡¡¡ ×î½ü°ï¹ýһЩÈ˽â¾ö¼¼ÊõÎÊÌ⣬·¢ÏÖÒ»¸öºÜÑÏÖصÄÎÊÌ⣬ËûÃǵÄ×ö·¨ºÍÎÒ×ʼд³ÌÐòµÄʱºòÊÇÒ»ÑùµÄ£¬ÕâÑùÏÂÈ¥»á×ߺöàµÄÍä·¡£ÏÖÔÚÓÐÒ»Àà³ÌÐòԱ̫¶à£¬ËûÃÇ×ÜÊÇһζµÄ×·Çó“ËùνµÄ¼¼ÊõÄѵ㔣¬×ÜÊÇ°ÑÐÄÊ·ÅÔÚһЩ±ß±ß½Ç½ÇµÄ“³ÌÐò´úÂë ......
ʲôÊÇ IDE?
¡¡¡¡¼ò¶øÑÔÖ®£¬IDE Ϊ±àÂ빤×÷ÌṩÁËһվʽ·þÎñ¡£IDE °üÀ¨Ò»¸ö±à¼Æ÷£¬Ôڴ˱à¼Æ÷ÄÚ¿ÉÒԱ༴úÂë¡¢µ÷ÊÔ´úÂë¡¢ÔÚä¯ÀÀÆ÷(ͨ³£ÊÇǶÈëʽµÄ)Öв鿴´úÂëºÍÇ©ÈëºÍÇ©³öÔ´Âë¿ØÖÆ¡£ÎªÁËÖ§³ÖÕâЩ¹¦ÄÜ£¬IDE ÓµÓÐÒ»Ì×ÔÚ»ù±¾±à¼Æ÷(±ÈÈç¼Çʱ¾»òÕß Vim)ÖÐËùÕÒ²»µ½µÄÌØÐÔ¡£µ±È»£¬Äú¿ÉÒÔͨ¹ýÀ©Õ¹±à¼Æ÷À´ÊµÏÖÕâЩ¹¦ÄÜ£¬µ«ÊÇ ID ......
SQL codeDECLARE @dt datetime
SET @dt=GETDATE()
DECLARE @number int
SET @number=3
--1£®Ö¸¶¨ÈÕÆÚ¸ÃÄêµÄµÚÒ»Ìì»ò×îºóÒ»Ìì
--A. ÄêµÄµÚÒ»Ìì
SELECT CONVERT(char(5),@dt,120)+'1-1'
--B. ÄêµÄ×îºóÒ»Ìì
SELECT CONVERT(char(5),@dt,120)+'12-31'
--2£®Ö¸¶¨ÈÕÆÚËùÔÚ¼¾¶ÈµÄµÚÒ»Ìì»ò×îºóÒ»Ìì
--A. ¼¾¶ÈµÄµÚÒ»Ìì
SE ......
±¾ÎÄ×ܽáÁË¿ª·¢¹¤×÷Öг£ÓõÄSQLÓï¾ä,¹©´ó¼Ò²Î¿¼……
--Óï ¾ä ¹¦ ÄÜ
--Êý¾Ý²Ù×÷
SELECT --´ÓÊý¾Ý¿â±íÖмìË÷Êý¾ÝÐкÍÁÐ
INSERT --ÏòÊý¾Ý¿â±íÌí¼ÓÐÂÊý¾ÝÐÐ
DELETE --´ÓÊý¾Ý¿â±íÖÐɾ³ýÊý¾ÝÐÐ
UPDATE --¸üÐÂÊý¾Ý¿â±íÖеÄÊý¾Ý
--Êý¾Ý¶¨Òå
CREATE TABLE --´´½¨Ò»¸öÊý¾Ý¿â±í
DROP TABLE --´ÓÊý¾Ý¿âÖÐɾ³ý±í
A ......
ÈçºÎÈÃÄãµÄSQLÔËÐеøü¿ì(תÌù)
---- ÈËÃÇÔÚʹÓÃSQLʱÍùÍù»áÏÝÈëÒ»¸öÎóÇø£¬¼´Ì«¹Ø×¢ÓÚËùµÃµÄ½á¹ûÊÇ·ñÕýÈ·£¬¶øºöÂÔ
Á˲»Í¬µÄʵÏÖ·½·¨Ö®¼ä¿ÉÄÜ´æÔÚµÄÐÔÄܲîÒ죬ÕâÖÖÐÔÄܲîÒìÔÚ´óÐ͵ĻòÊǸ´ÔÓµÄÊý¾Ý¿â
»·¾³ÖУ¨ÈçÁª»úÊÂÎñ´¦ÀíOLTP»ò¾ö²ßÖ§³ÖϵͳDSS£©ÖбíÏÖµÃÓ ......