ÔÚ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µÄÐÅÏ¢¡£×¢Ò⣬ֻÓе
Ïà¹ØÎĵµ£º
//ÉÏ´«Îļþ
$dir="../upfile/jianli";
set_time_limit(0);
extract($_FILES);
if(!empty($res_clett["name"])){
$upfile=&$HTTP_POST_FILES['con_pdf'];
$upfileEx=substr($upfile['name'],-3);
$tmp_name=date("YmdGhis").'.'.$upfileEx;
&nb ......
1 ÔÚSQLÓï¾äÖпÉͨ¹ýÌí¼ÓÏÞÖÆÌõ¼þ:left(text,20)ֻȡtextÎı¾µÄÇ°20¸ö×Ö;
¡¡¡¡2 ¿ÉÒÔÓÃlimit fromRecord, RecordNum À´×÷Ϊ·ÖҳʹÓÃ,±ÈÈçlimit 0,30±íʾ´ÓµÚÒ»¸ö¼Ç¼¿ªÊ¼±éÀú30¸ö¼Í¼;
¡¡¡¡3 Á½¸ö±íµÄÁ¬½Ó¿ÉÒÔÊÇ£ºtable1 join table2 using x(xΪÁ½¸ö±íµÄ¹«¹²×Ö¶Î),»òÕßÊÇtable1 join table2 on table1.x = table2.x
¡¡¡ ......
HTML:
<META HTTP-EQUIV="pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
<META HTTP-EQUIV="expires" CONTENT="Wed, 26 Feb 1997 08:21:57 GMT">
<META HTTP-EQUIV="expires" CONTENT="0">
PHP£º
header("Expires: Mon, 26 Jul 1997 ......
sql ²éѯÌõ¼þ×Ö¶ÎΪtext»òntextµÃ½â¾ö·½°¸ÒÔ¼°varchar(max)¡¢nvarchar(max)
1¡¢ÔÚMS SQL2005¼°ÒÔÉϵİ汾ÖУ¬¼ÓÈë´óÖµÊý¾ÝÀàÐÍ£¨varchar(max)¡¢nvarchar(max)¡¢varbinary(max) £©¡£´óÖµÊý¾ÝÀàÐÍ×î¶à¿ÉÒÔ´æ´¢2^30-1¸ö×Ö½ÚµÄÊý¾Ý¡£
Õ⼸¸öÊý¾ÝÀàÐÍÔÚÐÐΪÉϺͽÏСµÄÊý¾ÝÀàÐÍ varchar¡¢nvarchar ºÍ varbinary Ïàͬ¡£
΢ÈíµÄË ......
SQLÓï¾äÓÅ»¯Êµ¼ùÖ®Ò»SQL_TRACE
»·¾³£ºÔÚPL/sqlÉϵ÷ÊÔÊý¾Ý
Pl/sql developer¹¤¾ßÁ¬½ÓʵÀýºó¼´×÷Ϊһ¸öÓû§½ø³ÌÕ¼ÓÃÒ»¸ösession£»
select * from v$session t where t.PROGRAM='plsqldev.exe' and t.USERNAME='DZJC'
²éѯ½á¹ûÏÔʾÁ˼¸¸ö¹Ø¼üµÄ×Ö¶Î
SADDR RAW(4) S ......