当前位置: 首页 > 图文教程 > 网站运营 > 建站经验 > 批量删除sql中被注入的恶意代码

建站经验
清晰的认识自己的站点才能获得更高的流量
经验之谈:WEB建站之网站宣传
选择你青睐的URL范式 谷歌解答URL范式
祝志军:网站优劣 感受天涯的新架构新首页
搜狐网冯志军:从用户的角度看内容的整合
站长本位的回归“需要懂得,网站需要时间的积累与沉淀"
官方基础教程:深度学习DedeCMS(多图)
学一学并身体力行 用户体验设计十大误区
搭建一个小型论坛 分享我的18个经验心得
国产CMS初用印象 个人推荐选择PHPCMS
谷歌增加措施防范搜索引擎被恶意链接利用
软件下载网站 如何去应对迅雷的P2SP流量
2009网络行业有哪些发展趋势?
做正规网站 杜绝垃圾站时代四个易犯弊病
做个有技术的站长 将你的创意转化为现实
两则妙招:如何让DNS服务器集中解析域名
ASP.Net是什么 兼容ASP但是性能更加优越
股世英雄的网络推广经验之明确主题做推广
网站内容为王 网站的编辑如何来发布新闻
模块化 CSS 让你更加有效地去管理 CSS

建站经验 中的 批量删除sql中被注入的恶意代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 86 ::
收藏到网摘: n/a

1,如果你的数据表很少的话,那么写几条简单的sql就搞定了

对于表中的nvchar类型的字段:

以下为引用的内容:
update news set title=replace(title,'【恶意代码】','') 

对于表中的text类型的字段:

以下为引用的内容:
update news set content=Replace(Cast(content as varchar(8000)),'【恶意代码】','')

2,如果你是sql2000的话,可以用下面这个。

以下为引用的内容:
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'?'

(这个是我网上搜索的,据说sql2000下可以,但我没试过,在sql2005下无法执行。)

3,sql2005下我选择的方法是先生成清理代码的语句,然后把运行结果复制到查询分析器里执行之,当然在sql2000下一样可以用。

以下为引用的内容:
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是网上搜索的,对于我的sql2005无用,因此写了方法3,以便帮助不懂安全的菜鸟临时解决问题。