jspÖзÀÖ¹sql×¢ÈëµÄһЩ»ù±¾Ô¤·À´ëÊ©
Ò»¡¢É¶ÊÇsql×¢Èë
Ëùνsql×¢Èë¼òµ¥Ëµ¾ÍÊDZ»ÈË×êÁËSQLµÄ¿Õ×ÓÏÂÃæ¾Ù¸ö×î¼òµ¥µÄÀý×Ó¡£
sql Ϊ£º"select * from users where username='"+userName+"' and password='"+password+"' "
1¡¢¹¥»÷ÕßÖ»ÒªÔÚ´«ÈëµÄuserName¼ÓÉÏ'--ÉÏÃæµÄsql±ã½«username='"+userName+"' ºóÃæµÄÌõ¼þÈ«²¿×¢Ê͵ô¡£Ö±½ÓÑé֤ͨ¹ý¡£
2¡¢ÉõÖÁ¹¥»÷ÕßÖ»Òª´«Èë ' or 1=1 -- µÀÀíÒ²ÊÇÒ»ÑùµÄ¡£
3¡¢sql×¢ÈëÔÀíÍÆ¼ö¸öÎÄÕ£¬ÀïÃæÓнéÉÜ¡£http://www.nosec.org/2009/0918/59.html
¶þ¡¢½â¾ö·½·¨£º ¹ýÂ˵ôÓû§ÊäÈëÖеÄΣÏÕ×Ö·û
1¡¢µÚÒ»ÖÖ²ÉÓÃÔ¤±àÒëÓï¾ä¼¯£¬ËüÄÚÖÃÁË´¦ÀíSQL×¢ÈëµÄÄÜÁ¦£¬Ö»ÒªÊ¹ÓÃËüµÄsetString·½·¨´«Öµ¼´¿É£º
String sql= "select * from users where username=? and password=?;
PreparedStatement preState = conn.prepareStatement(sql);
preState.setString(1, userName);
preState.setString(2, password);
ResultSet rs = preState.executeQuery();
2¡¢½«´«ÈëµÄ×Ö·û´®×ö¹ýÂË.replaceAll(".*([';]+|(--)+).*", " ");
3¡¢jsÑéÖ¤£ºÍ¨¹ýjs¹ýÂ˵ô¿Í»§¶ËÌá½»ÉÏÀ´µÄ×Ö·û£¨ÏÖÔÚÈÆ¹ýjsÑéÖ¤µÄ·½·¨Ì«¶à²»½¨Òé²ÉÓã©
function IsValid( oField ){
re= /select|update|delete|exec|count|'|"|=|;|>|<|%/i;
$sMsg = "ÇëÄú²»ÒªÔÚ²ÎÊýÖÐÊäÈëÌØÊâ×Ö·ûºÍSQL¹Ø¼ü×Ö£¡"
if ( re.test(oField.value) )
{
alert( $sMsg );
oField.value = '';
oField.focus();
return false;
}
˵Ã÷:ÒÔÉÏÎÄÕ´󲿷ÖÀ´²Î¿¼ÍøÂç×ÊÁÏ¡£ÕûÀíºó·½±ã×Ô¼ºµÄ²éÔĺÍѧϰ¡£
Ïà¹ØÎĵµ£º
Ò»¡¢¹ØÓÚCREATE TABLE tab1 (×Ö¶ÎÃû TEXT)ÖУ¬×Ö¶ÎÃûΪ“a.a.a»òa.a.b”ʱ£¬Ìáʾ£º
“×ֶζ¨ÒåÓï·¨´íÎó”
´ð£ºÔÚ×Ö¶ÎÃû×ÖÍâÃæ¼ÓÉÏ“[ ]”¾Í¿ÉÒÔÁË£¡
¶þ¡¢´´½¨Ò»¸öÒÔListCtrlµÚÒ»ÁÐΪEXCELµÚÒ»Ðеıí½á¹¹ ºÍ ²åÈëÒ»¸öÒÔListCtrlµÚNÁÐΪEXCELµÚ¶þÐеıí½á¹¹
  ......
¡¡ Ö¢×´
¡¡¡¡µ±Äú½«Êý¾Ý¿â±¸·Ý»Ö¸´µ½Áíһ̨·þÎñÆ÷ʱ£¬¿ÉÄÜ»áÓöµ½¹ÂÁ¢Óû§µÄÎÊÌâ¡£SQL Server Áª»ú´ÔÊéÖеĹÂÁ¢Óû§ÒÉÄѽâ´ðÖ÷ÌâÖÐûÓн²Êö½â¾ö´ËÎÊÌâµÄ¾ßÌå²½Öè¡£
¡¡¡¡±¾ÎĽéÉÜÁËÈçºÎ½â¾ö¹ÂÁ¢Óû§ÎÊÌâ¡£
¡¡¡¡×´Ì¬
¡¡¡¡Microsoft ÒѾȷÈÏÕâÊÇÔÚ±¾ÎÄ¿ªÍ·ÁгöµÄ Microsoft ²úÆ·ÖдæÔÚµÄÎÊÌâ¡£
¡¡¡¡¸ü¶àÐÅÏ ......
ʲôÊÇÊý¾Ý¿â·ÖÇø£¿
Êý¾Ý¿â·ÖÇøÊÇÒ»ÖÖ¶Ô±íµÄºáÏò·Ö¸î£¬Sql server 2005ÆóÒµ°æºÍÖ®ºóµÄSql server°æ±¾²ÅÌṩÕâÖÖ¼¼Êõ£¬ÕâÖÖ¶Ô±íµÄºáÏò·Ö¸î²»Í¬ÓÚ2000Öеıí·Ö¸î£¬Ëü¶Ô·ÃÎÊÓû§ÊÇ͸Ã÷µÄ£¬Óû§²¢²»»á¸Ð¾õµÄ±í±»ºáÏò·Ö¸îÁË¡££¨2000ÖеıíºáÏò·Ö¸îÊǽ¨n¸ö±íÀýÈ簴ʱ¼ä½¨±íÿÔÂÒ»¸ö±í£¬±íÃû²»Í¬£¬×îºóÐèÒª×öÒ»¸ö´óÊÓͼ£©
Ϊʲ ......
¶¨Òå±êÁ¿±äÁ¿Óï·¨
ÔÚPL/SQLÓï¿éÖж¨Òå±äÁ¿ºÍ³£Á¿µÄÓï·¨ÈçÏÂ
indentifier [CONSTANT] datatype [NOT NULL] [:=|DEFAULT expr]
indentifier ÓÃÓÚÖ¸¶¨±äÁ¿»ò³£Á¿µÄÃû³Æ
CONSTANT:ÓÃÓÚÖ¸¶¨³£Á¿¡£µ±¶¨Òå³£Á¿Ê±£¬±ØÐëÖ¸¶¨ËüµÄ³õʼֵ£¬²¢ÇÒÆäÊýÖµ²»Äܸıä
datatype£ºÓÃÓÚÖ¸¶¨±äÁ¿»ò³£Á¿µÄÊý¾ÝÀàÐÍ¡£
NOT NULL£º ÓÃÓÚÇ¿ ......