av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

SQL中批量刪除被注入的惡意代碼的方法

下文將為您介紹SQL中批量刪除被注入的惡意代碼的方法,供您參考,如果您也遇到了這樣的問題,不妨一看,相信對您會有所幫助。

1,如果你的數(shù)據(jù)表很少的話,那么寫幾條簡單的sql就搞定了

對于表中的nvchar類型的字段:

以下為引用的內(nèi)容:
update news set title=replace(title,'【惡意代碼】','')

對于表中的text類型的字段:

以下為引用的內(nèi)容:
update news set content=Replace(Cast(content as varchar(8000)),'【惡意代碼】','')

2,如果你是sql2000的話,可以用下面這個。

以下為引用的內(nèi)容:
DECLARE @fieldtype sysname
SET @fieldtype='varchar'
--刪除處理
DECLARE hCForEach CURSOR GLOBAL
FOR
SELECT N'update '+QUOTENAME(o.name)
    +N' set  '+ QUOTENAME(c.name) + N' = replace(' + QUOTENAME(c.name) + ',''【惡意代碼】'','''')'
FROM sysobjects o,syscolumns c,systypes t
WHERE o.id=c.id 
    AND OBJECTPROPERTY(o.id,N'IsUserTable')=1
    AND c.xusertype=t.xusertype
    AND t.name=@fieldtype
EXEC sp_MSforeach_Worker @command1=N'?'  #p#

(這個是我網(wǎng)上搜索的,據(jù)說sql2000下可以,但我沒試過,在sql2005下無法執(zhí)行。)

3,sql2005下我選擇的方法是先生成清理代碼的語句,然后把運行結(jié)果復制到查詢分析器里執(zhí)行之,當然在sql2000下一樣可以用。

以下為引用的內(nèi)容:
select
'update ['+s.name + ']  set ['+c.name+']=' +'replace(['+c.name+'],''【惡意代碼】'','''')'
from sysobjects s,syscolumns c,systypes t
where  s.type='u' and s.id=c.id 
   AND OBJECTPROPERTY(s.id,N'IsUserTable')=1
    AND c.xusertype=t.xusertype
    AND t.name IN('varchar','nvarchar','char','nchar')
union
select
'update ['+s.name + ']  set ['+c.name+']=' +'replace(Cast(['+c.name+'] as varchar(8000)),''【惡意代碼】'','''')'
from sysobjects s,syscolumns c,systypes t
where  s.type='u' and s.id=c.id 
   AND OBJECTPROPERTY(s.id,N'IsUserTable')=1
    AND c.xusertype=t.xusertype
    AND t.name IN('text','ntext')

ps:以上是buzhizhe在處理問題時候整理的,方法1、2是網(wǎng)上搜索的,對于我的sql2005無用,因此寫了方法3,以便幫助不懂安全的菜鳥臨時解決問題。


新聞標題:SQL中批量刪除被注入的惡意代碼的方法
鏈接分享:http://uogjgqi.cn/article/dhhedpo.html
掃二維碼與項目經(jīng)理溝通

我們在微信上24小時期待你的聲音

解答本文疑問/技術(shù)咨詢/運營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流