Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB
ÈÈÃűêÇ©£º c c# c++ asp asp.net linux php jsp java vb Python Ruby mysql sql access Sqlite sqlserver delphi javascript Oracle ajax wap mssql html css flash flex dreamweaver xml
 ×îÐÂÎÄÕ :

¹ØÓÚSQLÓï¾ä

½ñÌìÐ´ÍøÕ¾µÄʱºòºÜ囧°¡£¬·¢ÏÖ²éÕÒÓû§È¨ÏÞµÄʱºòÎÞÔµÎ޹ʵÄͬһ¸öȨÏÞÖØ¸´³öÏֺܶà´Î
Ð޸ĺóµÄSQLÓï¾äÈçÏÂ
SELECT
node
.
id
,
node
.
name
,
access
.
role_id
from
think_role_user
AS
user
,
think_access
AS
access
,
think_node
AS
node
WHERE
user
.
user_id
=
5
AND
access
.
role_id
=
user
.
role_id
AND
access
.
level
=
3
AND
access
.
node_id
=
node
.
id
LIMIT
0
,
30
ÆäÖÐNODEÊÇȨÏ޽ڵ㣬ACCESSÊÇȨÏÞºÍÓû§ËùÔÚ×é¶ÔÓ¦µÄ½Úµã£¬USERÊÇÓû§ÓëÆäËùÔÚ×éÖ®¼äµÄ±í£¬ÕâÑùд³öÀ´µÄSQLÓï¾ä¾ÍÄܹ»ÕýÈ·²éѯÁË
ÎÒ·¢ÏÖÎÒ´íÎóµÄµØ·½ÊǶàÒýÈëÁËÁíÒ»¸öÎÞ¹ØµÄ±í£¬¾ÍÊÇ˵fromÀïÃæ¶à³öÀ´ÁíÒ»¸ö±í£¬Ò»¿ªÊ¼ÎÒÒÔΪûÓвî±ð£¬ºóÀ´²Å·¢ÏÖ¶àÒ»¸öÄÇÑùµÄ±í£¬Í¬Ò»¸ö²éѯ½á¹û¾Í»á¶à³öÄǸö±íµÄ½Úµã¸öÊý±¶¡£¡£¡£
¶÷£¬ºÜ¾ÃûÓÐд¹ýSQL£¬½ñÌìËãÊǸ´Ï°ÁËһϡ£ºÜ²»´í~~~~
......

php¶Ôsql injectionµÄ·À·¶

¶Ôhttp request¹ýÀ´µÄÊý¾Ý£¬·²ÊǺ¬Óе¥ÒýºÅ£¬Ë«ÒýºÅ£¬·´Ð±Ïߵȶ¼½øÐмÓбÏß´¦Àí¡£·ÀÖ¹½øÐÐ×¢Èë²Ù×÷¡£
/*
¶ÂSQL©¶´
*/
function quotes($content){

//Èç¹ûmagic_quotes_gpc=Off£¬ÄÇô¾Í¿ªÊ¼´¦Àí
if (!get_magic_quotes_gpc()) {
//ÅжÏ$contentÊÇ·ñΪÊý×é
if (is_array($content)) {
//Èç¹û$contentÊÇÊý×飬ÄÇô¾Í´¦ÀíËüµÄÿһ¸öµ¥ÎÞ
foreach ($content as $key=>$value) {
$content[$key] = mysql_real_escape_string($value);
}
} else {
//Èç¹û$content²»ÊÇÊý×飬ÄÇô¾Í½ö´¦ÀíÒ»´Î
$content = mysql_real_escape_string($content);
}

}
//·µ»Ø$content
return $content;
}
µ±´«µÝ¹ýÀ´µÄ²ÎÊýÊÇÒ»¸öidµÄ»°¡£ÄÇôÎÒÃÇ¿ÉÒÔÖ±½ÓÓà $id = intval($_GET('id'));½øÐÐintÐÍ´¦Àí£¨ÓÃsettypeÒ²ÐУ©¡£
ÍøÉÏÒ²ÓÐÈËÊÇ¶ÔÆä¹Ø¼ü×Ö¹ýÂ˽øÐд¦ÀíµÄ£¬È磺
function inject_check($sql_str){
return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str); // ½øÐйýÂË
}
ÎÒ¾õµÃ´Ë·½·¨²»¿ÉÈ¡ÊÇÒòΪÎÒÔÚÒ»¸ö´óµÄÊäÈë¿òÀïPOST¹ýÀ´µÄÊý¾Ý»ò¶à»òÉÙ¶¼°üº¬ÕâЩ¹Ø¼ü×Ö£¬ÄѵÀÉ ......

php¶Ôsql injectionµÄ·À·¶

¶Ôhttp request¹ýÀ´µÄÊý¾Ý£¬·²ÊǺ¬Óе¥ÒýºÅ£¬Ë«ÒýºÅ£¬·´Ð±Ïߵȶ¼½øÐмÓбÏß´¦Àí¡£·ÀÖ¹½øÐÐ×¢Èë²Ù×÷¡£
/*
¶ÂSQL©¶´
*/
function quotes($content){

//Èç¹ûmagic_quotes_gpc=Off£¬ÄÇô¾Í¿ªÊ¼´¦Àí
if (!get_magic_quotes_gpc()) {
//ÅжÏ$contentÊÇ·ñΪÊý×é
if (is_array($content)) {
//Èç¹û$contentÊÇÊý×飬ÄÇô¾Í´¦ÀíËüµÄÿһ¸öµ¥ÎÞ
foreach ($content as $key=>$value) {
$content[$key] = mysql_real_escape_string($value);
}
} else {
//Èç¹û$content²»ÊÇÊý×飬ÄÇô¾Í½ö´¦ÀíÒ»´Î
$content = mysql_real_escape_string($content);
}

}
//·µ»Ø$content
return $content;
}
µ±´«µÝ¹ýÀ´µÄ²ÎÊýÊÇÒ»¸öidµÄ»°¡£ÄÇôÎÒÃÇ¿ÉÒÔÖ±½ÓÓà $id = intval($_GET('id'));½øÐÐintÐÍ´¦Àí£¨ÓÃsettypeÒ²ÐУ©¡£
ÍøÉÏÒ²ÓÐÈËÊÇ¶ÔÆä¹Ø¼ü×Ö¹ýÂ˽øÐд¦ÀíµÄ£¬È磺
function inject_check($sql_str){
return eregi('select|insert|update|delete|\'|\/\*|\*|\.\.\/|\.\/|union|into|load_file|outfile', $sql_str); // ½øÐйýÂË
}
ÎÒ¾õµÃ´Ë·½·¨²»¿ÉÈ¡ÊÇÒòΪÎÒÔÚÒ»¸ö´óµÄÊäÈë¿òÀïPOST¹ýÀ´µÄÊý¾Ý»ò¶à»òÉÙ¶¼°üº¬ÕâЩ¹Ø¼ü×Ö£¬ÄѵÀÉ ......

Windows Mobile 6.0Á¬½ÓSQL Server 2005(PC°æ)


»·¾³´î½¨£º
   windows MobileµÄ¿ª·¢»·¾³µÄ´î½¨ÕâÀï¾Í²»ËµÁË£¬²»Ã÷°×µÄÅóÓÑÔÚÍøÉÏËÑϼ´¿É¡£
²½Öè¸ÅÊö:
1£ºPCÉϵÄSQL SERVER ÐèÒª¿ªÆôÔ¶³ÌÁ¬½Ó¡£
2£ºMoblieÄ£ÄâÆ÷ÐèҪͨ¹ýActiveSyncÁ¬½Ó£¬Ê¹ÆäÄܹ»Í¨¹ýPCÁ¬Íø¡£(Èç¹ûÊÇÊÖ»úµÄ»°£¬ÐèÒªÄܹ»Í¨¹ýÎÞÏßÍøÂçÁ¬È뻥ÁªÍø)
Ïêϸ˵Ã÷£º
1:SQL Server 2005¿ªÆôÔ¶³ÌÁ¬½Ó¡£
    1£©.“¿ªÊ¼->³ÌÐò->Microsoft SQL Server 2005->ÅäÖù¤¾ß->SQL Server ÍâΧӦÓÃÅäÖÃÆ÷”
2£©.ÔÚ“SQL Server 2005 ÍâΧӦÓÃÅäÖÃÆ÷”Ò³, µ¥»÷“·þÎñºÍÁ¬½ÓµÄÍâΧӦÓÃÅäÖÃÆ÷”
3£©.È»ºóµ¥»÷Õ¹¿ª“Êý¾Ý¿âÒýÇæ”£¬ Ñ¡ÖГԶ³ÌÁ¬½Ó”£¬ÔÚÓÒ±ßÑ¡ÖГ±¾µØÁ¬½ÓºÍÔ¶³ÌÁ¬½Ó”£¬
ÔÙÑ¡ÔñҪʹÓõÄЭÒ飬µ¥»÷“Ó¦ÓÔ£¬Äú»á¿´µ½ÏÂÏûÏ¢£º
“Ö±µ½ÖØÐÂÆô¶¯Êý¾Ý¿âÒýÇæ·þÎñºó£¬¶ÔÁ¬½ÓÉèÖÃËù×öµÄ¸ü¸Ä²Å»áÉúЧ¡£”£¬µ¥»÷“È·¶¨”°´Å¥·µ»Ø
4£©.Õ¹¿ª“Êý¾Ý¿âÒýÇæ”£¬ Ñ¡ÖГ·þÎñ”£¬ÔÚÓұߵ¥»÷“Í£Ö¹”£¬µÈµ½ MSSQLSERVER ·þÎñÍ£Ö¹£¬
È»ºóµ¥»÷“Æô¶¯”£¬ÖØÐÂÆô¶¯MSSQLSERVER ·þÎñ¡£
  ......

Êý¾Ý¿âÖеÄÊÂÎñ´¦ÀíÏê½âSQL Server Transaction

ÊÂÎñ¶¨Ò壺
ÊÂÎñÊǵ¥¸öµÄ¹¤×÷µ¥Ôª¡£Èç¹ûijһÊÂÎñ³É¹¦£¬ÔòÔÚ¸ÃÊÂÎñÖнøÐеÄËùÓÐÊý¾Ý¸ü¸Ä¾ù»áÌá½»£¬³ÉΪÊý¾Ý¿âÖеÄÓÀ¾Ã×é³É²¿·Ö¡£Èç¹ûÊÂÎñÓöµ½´íÎóÇÒ±ØÐëÈ¡Ïû»ò»Ø¹ö£¬ÔòËùÓÐÊý¾Ý¸ü¸Ä¾ù±»Çå³ý¡£
ÊÂÎñÈýÖÖÔËÐÐģʽ£º
×Ô¶¯Ìá½»ÊÂÎñÿÌõµ¥¶ÀµÄÓï¾ä¶¼ÊÇÒ»¸öÊÂÎñ¡£ÏÔʽÊÂÎñÿ¸öÊÂÎñ¾ùÒÔ BEGIN TRANSACTION Óï¾äÏÔʽ¿ªÊ¼£¬ÒÔ COMMIT »ò ROLLBACK Óï¾äÏÔʽ½áÊø¡£ÒþÐÔÊÂÎñÔÚǰһ¸öÊÂÎñÍê³ÉʱÐÂÊÂÎñÒþʽÆô¶¯£¬µ«Ã¿¸öÊÂÎñÈÔÒÔ COMMIT »ò ROLLBACK Óï¾äÏÔʽÍê³É¡£
ÊÂÎñ²Ù×÷µÄÓï·¨£º
BEGIN TRANSACTION
BEGIN DISTRIBUTED TRANSACTION
COMMIT TRANSACTION
COMMIT WORK
ROLLBACK WORK
SAVE TRANSACTION
BEGIN TRANSACTION
BEGIN TRANSACTION
±ê¼ÇÒ»¸öÏÔʽ±¾µØÊÂÎñµÄÆðʼµã¡£
BEGIN TRANSACTION½« @@TRANCOUNT ¼Ó 1¡£
BEGIN TRANSACTION ´ú±íÒ»µã£¬ÓÉÁ¬½ÓÒýÓõÄÊý¾ÝÔڸõãÊÇÂß¼­ºÍÎïÀíÉ϶¼Ò»Öµġ£Èç¹ûÓöÉÏ´íÎó£¬ÔÚ BEGIN TRANSACTION Ö®ºóµÄËùÓÐÊý¾Ý¸Ä¶¯¶¼ÄܽøÐлعö£¬ÒÔ½«Êý¾Ý·µ»Øµ½ÒÑÖªµÄÒ»ÖÂ״̬ ¡£Ã¿¸öÊÂÎñ¼ÌÐøÖ´ÐÐÖ±µ½ËüÎÞÎóµØÍê³É²¢ÇÒÓà COMMIT TRANSACTION ¶ÔÊý¾Ý¿â×÷ÓÀ¾ÃµÄ¸Ä¶¯£¬»òÕßÓöÉÏ´íÎó²¢ÇÒÓà ROLLBACK TRANSACTION Óï¾ä²Á³ýËùÓи͝
Óï·¨
BEGIN TRAN [ SACT ......

sql Óï¾ä exec Ö´ÐÐ×Ö·û´®

create PROCEDURE [dbo].[AllDnn_NewsPublish_DeleteArticleByArticle]
@ArticleID nvarchar(200)
AS

declare @sql nvarchar(1000)
set @sql='DELETE dbo.Site_News_Article where ArticleID in ('+@ArticleID+')'
exec (@sql)
--[AllDnn_NewsPublish_DeleteArticleByArticle] '50,51' ......

SQLÊÂÎñ´¦ÀíÓï¾ä×ܽá

 
´æ´¢¹ý³ÌÖг£Óõ½µÄSQLÊÂÎñ´¦ÀíÓï¾ä¸ñʽ¿ÉÄÜ»áÓÐÈçϼ¸ÖÖ:
µÚÒ»ÖÖ:
set   xact_abort   on 
begin   tran 
        insert   ... 
        update   ... 
        delete   ... 
commit   tran
µÚ¶þÖÖ:
set   xact_abort   on 
begin   tran 
        insert   ... 
        if @@error<>0 rollback tran
        update   ... 
        if @@error<>0 rollback tran
        delete   ... 
        if @@error<>0 rollback tran
commit   tran
µÚÈýÖÖ:
set   xact_abort   on 
begin   tran&nbs ......
×ܼǼÊý:40319; ×ÜÒ³Êý:6720; ÿҳ6 Ìõ; Ê×Ò³ ÉÏÒ»Ò³ [5121] [5122] [5123] [5124] 5125 [5126] [5127] [5128] [5129] [5130]  ÏÂÒ»Ò³ βҳ
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ