OBLOG程序漏洞检测和处理

今天,我使用360免费的网站安全检测(http://webscan.360.cn/)。在扫描后提示文件ShowXml.asp,存在高危安全漏洞——跨站脚本:恶意用户可以使用JavaScript、VBScript、ActiveX、HTML语言甚至Flash利用应用的漏洞,从而获取其他用户信息。攻击者能盗取会话cookie、获取账户、模拟其他用户身份,甚至可以修改网页呈现给其他用户的内容。
网站扫描检测结果(一)

在阿泰对ShowXml.asp进行修改后,重新扫描网站


网站扫描检测结果(二)

整个ShowXml.asp修改为

<!–#include file="inc/inc_syssite.asp"–>
<!–#include file="inc/Cls_XmlDoc.asp"–>
<%
‘————————————————
‘检测搜索引擎,截断程序执行,节省资源. *#0801Spider
oblog.ChkSpider(1)
‘————————————————
Dim user_path,XmlPath
Dim Show,user_group,teamID,calendar,userid,blogname
user_path = Trim(Request("user_path"))
If user_path<>"" Then user_path=oblog.CheckScript(user_path)
user_group = Request("user_group")
If user_group<>"" Then user_group=CLNG(user_group)
teamID = Request("teamid")
If teamID<>"" Then teamID=CLNG(teamID)
calendar = Request("calendar") 
If calendar<>"" Then calendar=oblog.CheckScript(calendar)
userid = Request("userid")
If userid<>"" Then userid=oblog.CheckScript(userid)
blogname = Request("blogname")
If blogname<>"" Then blogname=oblog.CheckScript(blogname)
Dim xmlDoc
Set xmlDoc = New Cls_XmlDoc
On Error Resume Next
‘用户页面信息
If user_path <> "" Then
 XmlPath = blogdir&user_path&"/user.config"
 If xmlDoc.LoadXml (XmlPath) Then
  Echo xmlDoc.SelectXmlNode ("comment",1)
  Echo xmlDoc.SelectXmlNode ("mygroups",1)
  Echo xmlDoc.SelectXmlNode ("newblog",1)
  Echo xmlDoc.SelectXmlNode ("newmessage",1)
  Echo xmlDoc.SelectXmlNode ("search",1)
  Echo xmlDoc.SelectXmlNode ("subject",1)
  If OBLOG.CacheConfig(81) = "1" Then Echo xmlDoc.SelectXmlNode ("aobomusic",1)
  Echo xmlDoc.SelectXmlNode ("links",1)
  Echo xmlDoc.SelectXmlNode ("myfriend",1)
  Echo xmlDoc.SelectXmlNode ("blogname",1)
  Echo xmlDoc.SelectXmlNode ("info",1)
  Echo xmlDoc.SelectXmlNode ("placard",1)
 End if
End if
‘用户页面广告
If user_group <> "" Then
 Dim rst
 Set rst=oblog.Execute("select g_ad_sys From oblog_groups Where groupid=" & CLng(user_group) )
 If rst(0) = 1 Then
  XmlPath = blogdir&oblog.CacheConfig(80)&"/GG.config"
  If xmlDoc.LoadXml (XmlPath) Then
   Echo xmlDoc.SelectXmlNode ("ad_usertop",1)
   Echo xmlDoc.SelectXmlNode ("ad_usercomment",1)
   Echo xmlDoc.SelectXmlNode ("ad_userbot",1)
   Echo xmlDoc.SelectXmlNode ("ad_userlinks",1)
   ‘兼容旧广告
   Echo xmlDoc.SelectXmlNode ("gg_usertop",1)
   Echo xmlDoc.SelectXmlNode ("gg_usercomment",1)
   Echo xmlDoc.SelectXmlNode ("gg_userbot",1)
   Echo xmlDoc.SelectXmlNode ("gg_userlinks",1)
  End If
 End If
 rst.Close
 Set rst = Nothing
‘群组页面广告
ElseIf teamID <> "" Then
 XmlPath = blogdir&oblog.CacheConfig(80)&"/GG.config"
 If xmlDoc.LoadXml (XmlPath) Then
  Echo xmlDoc.SelectXmlNode ("gg_teamtop",1)
  Echo xmlDoc.SelectXmlNode ("gg_teamcomment",1)
  Echo xmlDoc.SelectXmlNode ("gg_teambot",1)
  Echo xmlDoc.SelectXmlNode ("gg_teamlinks",1)
  ‘兼容旧广告
  Echo xmlDoc.SelectXmlNode ("ad_teamtop",1)
  Echo xmlDoc.SelectXmlNode ("ad_teamcomment",1)
  Echo xmlDoc.SelectXmlNode ("ad_teambot",1)
  Echo xmlDoc.SelectXmlNode ("ad_teamlinks",1)
 End If
End If
Sub Echo(sStr)
 Response.Write sStr
 Response.Flush
End Sub
Set XmlDoc = Nothing
‘Response.Write oblog.htm2js_div ("<a href=""http://www.oblog.cn/rss/?rss="&oblog.CacheConfig(3) &blogdir&user_path&"/rss2.xml"" target=""_blank""><img src=""http://www.oblog.cn/xml.jpg"" border=""0"" /></a>","txml")
Response.Write oblog.htm2js_div ("<a href="""&oblog.CacheConfig(3)&"user_url.asp?action=add&mainuserid="&userid&"&sTitle="&blogname&"&sUrl="&blogdir&user_path&"/rss2.xml"" target=""_blank""><img src=""http://www.oblog.cn/xml.jpg"" border=""0"" /></a>","txml")
Set OBLOG = Nothing
%>

 

感谢阿泰和OBLOG交流互助群(211153556),更多关于OBLOG的内容请访问http://www.oblog.cc/
 

融王子博客更换新模板

  上一次修改融王子博客(www.princerong.com)的模板是在半年前。

  这次使用的模板名字没有找到,我自己给它起了一个——SunBird,这个博客模板是从WordPress上修改过来的。OBLOGC程序已经两年多没有更新了,而他的模板更是三年前就停止更新,没有比较适合小朋友使用的。在搜索了Z-blog,pjblog,LBSblog和WordPress blog等博客模板,我发现,WP的模板比较新,而且好看,最重要的是WP的程序还在正常更新。

  在前几年使用CMS/博客/BBS的时候,选择ASP是因为它的数据库是免费的,与网络空间大小相同,而MSSQL和MYSQL均需要另外购买,这直接导致对于PHP和.NET的程序,我都不太了解。现在在本机上用CoreAMP安装了PHP服务器端环境,可以简单方便地使用PHP,对WP的要好好研究了。
 

OBLOG多用户博客免费版(ASP)官方完全放弃了!

算起来,OBLOG多用户博客已经好久没有更新了,最近的一个版本是4.60 Final Build090610 (ACCESS)——两年前!

在官方放弃www.oblog.cn这个域名而启用www.aobosoft.com这个域名后,我就很少登陆OBLOG的官方论坛了。现在因为种种原因,官方网址变成了www.linksoon.net

我最早开始使用OBLOG是在2006年,那时候正是大学期间,和几个同学一起开设了综合门户网站——CMS+OBLOG+DVBBS。网站开设了一年多因为种种问题而关闭了,我只把个人的博客留了下来,变成了现在的个人博客——偶看。

在使用OBLOG期间,我经常登陆OBLOG官方论坛,在寻找解决自己网站问题的答案的同时,也积极帮助其他网友解决在安装和使用OBLOG时所遇到的问题,在2007年1月9日,我正式成为OBLOG安装使用讨论区版主。

现在OBLOG的官方论坛关闭,这标志着OBLOG多用户博客免费版(ASP)被官方完全放弃了!

在用户博客添加/W3C//DTD XHTML 1.0 Transitional//EN声明

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

这是一个申明.申明此网页遵循W3C所制定的DTD规则. W3C是一个万维网联盟.主要作用是规范各种制作网站所用的工具.比如HTML,CSS,JAVASCRIPT等等. 而DTD只是W3C对网页的HTML文件规范的一种. W3C没有对HTML文件的解析做标准之前,各种浏览器对同一个网页文件的解析千差万别.为了避免这样的事,W3C就提出了规范. <!DOCTYPE> 声明位于文档中的最前面的位置,处于 <html> 标签之前。此标签可告知浏览器文档使用哪种 HTML 或 XHTML 规范。 该标签可声明三种 DTD 类型,分别表示严格版本、过渡版本以及基于框架的 HTML 文档。 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 在上面的声明中,声明了文档的根元素是 html,它在公共标识符被定义为 "-//W3C//DTD XHTML 1.0 Strict//EN" 的 DTD 中进行了定义。浏览器将明白如何寻找匹配此公共标识符的 DTD。如果找不到,浏览器将使用公共标识符后面的 URL 作为寻找 DTD 的位置。

某些JS文件需要这个声明才能实现。

依据版本:OBLOG 4.60 Final Build090610 (ACCESS)

inc/class_blog.asp 第1093行

show="<html>"&VbCrLf&"<head>"&VbCrLf&show

后添加

show = "<html xmlns=""http://www.w3.org/1999/xhtml"">" & vbcrlf & show
    show = "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">"& vbcrlf & show

以及1376行

showTitle = "<html>" & vbCrLf & "<head>" & vbCrLf & showTitle

后添加

showTitle = "<html xmlns=""http://www.w3.org/1999/xhtml"">" & vbcrlf & showTitle
    showTitle = "<!DOCTYPE html PUBLIC ""-//W3C//DTD XHTML 1.0 Transitional//EN"" ""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"">"& vbcrlf & showTitle

即可。

oblog系统首页日志调用不显示全站加密用户

依据版本:oblog  4.60 Final Build090610 (ACCESS)

今天登陆博客系统首页发现“最近热门评论”中所调用的日志竟然有全站加密的日志。查看该标签的源代码并与数据库中的字段对比发现,调用参数的语句不严密。

inc/syscode.asp 第620行

 msql=”select top “&n&” topic,logfile,addtime,commentnum,iis,logid,classid,subjectid,author,userid from oblog_log where (IsSpecial = 0 OR IsSpecial IS NULL) And isdraft=0 and passcheck=1 And oblog_log.isdel=0 and (oblog_log.is_log_default_hidden=0 or oblog_log.is_log_default_hidden is null) “

应该修改成为

 msql=”select top “&n&” topic,logfile,addtime,commentnum,iis,logid,classid,subjectid,author,userid from oblog_log where (IsSpecial = 0 OR IsSpecial = 0) And isdraft=0 and passcheck=1 And oblog_log.isdel=0 And blog_password=0 and (oblog_log.is_log_default_hidden=0 or oblog_log.is_log_default_hidden is null) “

这样就不会调用到全站加密用户的日志了!

Oblog博客显示“订阅本站”图片

Oblog于近日更换域名,新域名为:http://www.aobosoft.com/,原域名即将停止使用,而博客中有些图片是链接官方的,因而无法显示。

用户主模板标签:show_xml,中的“订阅本站”图片无法显示。

修改方法:打开ShowXml.asp文件,第78行

Response.Write oblog.htm2js_div (“<a href=”””&oblog.CacheConfig(3)&”user_url.asp?action=add&mainuserid=”&userid&”&sTitle=”&blogname&”&sUrl=”&blogdir&user_path&”/rss2.xml”” target=””_blank””><img src=””http://www.oblog.cn/xml.jpg“” border=””0″” /></a>”,”txml”)

将“http://www.oblog.cn/xml.jpg”修改为本地图片链接,例如:/Images/xml.jpg,当然前提是你需要把图片先放置于该文件夹下。

OBLOG.net版本开放公测

历时一年多的研发,OBLOG.net版本终于问世,开放公测。测试地址为:http://nt.oblog.com.cn

按照开发团队对于.net版本的规划,OBLOG.net版第一个版本主要解决由ASP平台向.Net 平台的迁移过程,实现技术的改进,在后续我们将逐步加大功能上的改进。

下面对OBLOG.net版本的改进做一简单介绍:

(一)技术层面

1、用C#编写,由Asp完全迁移到Asp.net平台;

2、全面优化缓存,大大提高程序运行效率;

3、数据库结构重构,可承载更大的用户量,更多的日志数;

4、系统全面采用模板处理,所有页面均可通过修改模板的方式更新页面布局;

5、系统后台更完善的权限处理;

6、圈子全面采用模块化处理,可实现拖拽,更利于用户修改个性化的页面。(由于兼容旧模板,用户模板并未加入此功能,后期会寻找一个平衡点,逐步加入此项功能);

7、取消静态化页面,所有页面均动态化处理,并采用数据库缓存机制减轻数据库压力。

 

(二)功能改进

1、优化系统搜索,用户搜索功能;

2、优化邀请码功能,取消邀请码的自动获取功能,现在邀请码可以通过积分购买,管理员可后台发放;

3、优化附件下载功能;

4、优化上传图片的处理,现在所有的图片均自动生成缩略图供预览使用,而不必需要额外组件的支持了;

5、优化系统模板,现在所有的系统页面均存在一个模板文件,而不是之前所有副模板公用一个模板;

6、编辑器内容的提交现在改成ajax处理,不会提交失败而导致内容丢失;

7、实现通过邮件审核注册用户;

8、屏蔽IP功能现在更加完善,如果被屏蔽IP,那么除了系统首页,所有页面均不可访问;

9、管理员权限设置分角色处理,更加完善;

10、系统后台用户以及日志评论等搜索功能现在更强大;

11、Tag的处理更加人性化,可随意删除、修改tag;

12、增加圈子的相片管理功能,跟系统相片功能彻底分离;

13、相片的管理功能与附件彻底分离,更方便管理员管理相片;

14、广告可以完美的支持JS代码;

15、在用户登录的状态下,现在可以通过用户博客页面直接管理日志、评论等内容;

16、在禁止回复的情况下,现在并不显示回复窗口,防止对用户造成不必要的困扰;

17、用户博客页面增加脚印的功能了,博主可以查看对自己博客文章感兴趣的浏览者列表;

18、评论通过ajax方式提交,防止用户提交错误导致评论内容丢失;

19、现在翻页处理的效率更高;

20、关键字的处理更加完善,全正则匹配,提交处理效率;

21、其它一些改进,不再一一详述。
 

(三)取消的部分功能:

1、取消digg,由于算法过于单一,digg功能并未发挥其应有的效果

2、取消订阅功能,由于比较耗费系统资源,使用率也不高,所以就去掉此功能了

OBlog4.60_体验版__patch_20081029补丁

本补丁下载地址:

OBlog4.60_体验版__patch_20081029补丁下载地址:

下载信息  [文件大小:136.8 KB]

点击浏览该文件:oblog4.60_体验版_patch_081029.rar

发布时间:2008年10月29日

更新时间:2008年10月29日

作者:OBLOG开发团队

适用范围:

OBLOG4.6 080827 Access体验版

注:本补丁含081024临时安全补丁

本次修正:

这个版本解决了OBLOG4.6 080827版本中存在的bug问题,以下为修改说明:

01、修正一个安全问题(081024临时安全补丁)

02、修正删除用户不能减少tag使用次数的问题

03、修正tag合并后的使用次数问题

04、修正二级域名情况下JS调用DIGG的路径问题

05、修正新建相册封面的问题

06、修正限制IP管理的问题

07、修正了添加重名日志分类的问题

08、修正了photo.asp页面调用圈子图片的问题

09、修正了关于博客之星的问题

同时本补丁添加了两项新功能:

01、增加批量推荐/取消推荐功能(在系统后台全部用户管理的最下方)

02、增加评论及留言是否默认通过审核的功能(系统后台网站信息配置评论与留言中设置)

演示网站:http://www.oblog.com.cn

提  醒:

演示网站是按照OBLOG标准程序搭建,建议大家在演示网站测试无误后再进行升级,出现下面两种情况请选择相应的应对措施。

1、如发现演示网站出现错误,请暂停在贵网站升级补丁并将此错误及时反馈给开发人员,然后等待开发人员更新补丁;

2、如果您的网站打了补丁出现错误,而演示网站没有此项错误,此仔细核对您的升级过程。

安装说明:

在打此补丁之前请先确定当前版本号为OBLOG4.6 080827 Access体验版(版本号可查阅ver.asp文件)。

1、将补丁文件按照目录覆盖到博客目录下即可。

新功能说明:评论及留言是否默认通过审核的这个功能,当设置为“由用户控制”时,用户后台的设置中会出现评论及留言是否默认通过审核的选择项。

OBlog4.60  20081029 完整稳定体验版本下载地址:

http://down.oblog.cn/oblog4/oblog46_Final_20081029.rar

OBlog46__patch_20081024安全补丁

本补丁下载地址:

OBlog46__patch_20081024补丁下载地址:

 下载信息  [文件大小:3.9 KB]

点击浏览该文件:oblog46__patch_20081024安全补丁.rar

发布时间:2008年10月24日

更新时间:2008年10月24日

作者:OBLOG开发团队

适用范围:OBLOG4.6 各版本

注:本补丁为安全补丁

本次修正:

这个版本修正了一个安全问题。

演示网站:http://www.oblog.com.cn

提  醒:

演示网站是按照OBLOG标准程序搭建,建议大家在演示网站测试无误后再进行升级,出现下面两种情况请选择相应的应对措施。

1、如发现演示网站出现错误,请暂停在贵网站升级补丁并将此错误及时反馈给开发人员,然后等待开发人员更新补丁;

2、如果您的网站打了补丁出现错误,而演示网站没有此项错误,此仔细核对您的升级过程。

安装说明:

1、将补丁文件按照目录覆盖到博客目录下即可。

2、本补丁为单独安全补丁,故不更新版本号。

屏蔽oblog日志评论的“删除”和“回复”项

依据版本:oblog 4.60 Final Build080827(ACCESS)

谷歌的“网站管理员工具”将日志评论中的“删除”和“回复”的链接归类为“找不到(404)”不知道这是为何,而且该链接还不少。

因为该页面为静态页面,比较好的解决方法就是在代码处屏蔽这两个项目的链接。

一、打开inc/class_blog.asp 第312-313行

     show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=del&id=” & commentid & “””  target=””_blank””>删除</a>”
     show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=modify&re=true&id=” & commentid & “””  target=””_blank””>回复</a>”

改为

     ‘show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=del&id=” & commentid & “””  target=””_blank””>删除</a>”
     ‘show_more = show_more & ” | <a href=””” & blogurl & “user_comments.asp?action=modify&re=true&id=” & commentid & “””  target=””_blank””>回复</a>”

在行首添加符号“’”注释该代码即可。

二、效果图

修改前

修改后

oblog用户主模板标记调用字数的修改

依据版本:oblog 4.60 Final Build080827 (ACCESS)

博客的最新评论调用的字数多了些,导致出现换行,在不修改模板的前提下,需要减少该标签调用的字数,因为其他模板所留的位置可能也不够,减少调用字数才是最终的解决方法。

查看标签说明,用户主模板的标签没有修改调用字数的功能。

需要修改源代码,打开inc/class_blog.asp 第837行

   show=show&”<li><a href=”””&log_truepath&rs(“logfile”)&”#”&rs(“commentid”)&””” title=”””&oblog.filt_html(rs(“comment_user”))&”发表于”&rs(“addtime”)&”””>”&oblog.filt_html(left(rs(“commenttopic”),18))&”</a></li>”& vbcrlf

修改为

   show=show&”<li><a href=”””&log_truepath&rs(“logfile”)&”#”&rs(“commentid”)&””” title=”””&oblog.filt_html(rs(“comment_user”))&”发表于”&rs(“addtime”)&”””>”&oblog.filt_html(left(rs(“commenttopic”),16))&”</a></li>”& vbcrlf

即可。

其他几个标签的调用字数修改方法与上述一致。

OBlog46体验版__patch_20080827补丁(8月28日更新)

本补丁下载地址:

OBlog46体验版__patch_20080827补丁下载地址:

下载信息  [文件大小:194.4 KB ] 点击浏览该文件:oblog4.60_体验版_patch_080827.rar

发布时间:2008年8月27日

更新时间:2008年8月28日9:15

作者:OBLOG开发团队

适用范围:

OBLOG4.6 080623 Access体验版

注:本补丁为安全补丁

本次修正:

这个版本解决了OBLOG4.6 080623版本中存在的bug问题,以下为修改说明:

01、修正一个安全问题

02、修正博讯的部分问题

03、修正首页显示已删除DIGG日志问题

04、修正内容管理后台不显示带符号日志标题的问题

05、修正系统后台全部用户管理按用户分类查询翻页的问题

06、修正内容管理后台敏感用户列表多选用户审核的问题

07、修正了一个注册方面的问题

08、修正了用户后台不能选择群组模板的问题

同时本补丁添加了两项新功能:

01、增加系统首页用户名及昵称搜索功能

02、增加新验证码

8月28日更新说明:

01、修正了0827补丁中的安装说明

02、修正了内容管理后台修改用户报错问题

演示网站:http://www.oblog.com.cn

提  醒:

演示网站是按照OBLOG标准程序搭建,建议大家在演示网站测试无误后再进行升级,出现下面两种情况请选择相应的应对措施。

1、如发现演示网站出现错误,请暂停在贵网站升级补丁并将此错误及时反馈给开发人员,然后等待开发人员更新补丁;

2、如果您的网站打了补丁出现错误,而演示网站没有此项错误,此仔细核对您的升级过程。

安装说明:

在打此补丁之前请先确定当前版本号为OBLOG4.6 080623 Access体验版(版本号可查阅ver.asp文件)。

1、将补丁文件按照目录覆盖到博客目录下

2、系统后台——模板管理——群组模板分类管理,如果此处没有群组分类,则添加模板分类。

3、系统后台——模板管理——管理群组模板,将没有分类的群组模板加入群组模板分类(群组模板分类不为0),这样就可以了。

OBlog4.60  20080827 完整稳定体验版本下载地址:

http://down.oblog.cn/oblog4/oblog46_Final_20080827.rar

oblog系统首页不显示加密全站博客日志

依据版本:oblog 4.60 Final Build080623 (ACCESS)

个人博客加密全站后,不想把日志显示在系统首页需要在标签上添加一个判断“blog_password=0”。

打开inc/syscode.asp 第620行 即show_log标签所在的循环

msql=”select top “&n&” topic,logfile,addtime,commentnum,iis,logid,classid,subjectid,author,userid from oblog_log where (IsSpecial = 0 OR IsSpecial IS NULL) And isdraft=0 and passcheck=1 And oblog_log.isdel=0 and (oblog_log.is_log_default_hidden=0 or oblog_log.is_log_default_hidden is null) “

修改为

msql=”select top “&n&” topic,logfile,addtime,commentnum,iis,logid,classid,subjectid,author,userid from oblog_log where (IsSpecial = 0 OR IsSpecial IS NULL) And isdraft=0 and passcheck=1 And oblog_log.isdel=0 and blog_password=0 and (oblog_log.is_log_default_hidden=0 or oblog_log.is_log_default_hidden is null) “

即可。

庆奥运,新封装验证码发布!

本插件下载地址:

下载信息  文件大小:343.1 KB  点击浏览该文件:验证码.rar

发布时间:2008年8月8日

更新时间:2008年8月8日

作者:OBLOG开发团队

适用范围:

OBLOG4.6 080623 Access体验版

OBLOG4.6 080623 SQL商业版

注意:

1、本验证码仅适合独立服务器站点使用。虚拟主机需要咨询空间商。

2、教育版、城域版及校园版用户请到论坛商业售后区下载。

安装说明:

在打此补丁之前请先确定当前版本号为OBLOG4.6 080623 Access体验版或者OBLOG4.6 080623 SQL商业版(版本号可查阅ver.asp文件)。

1、解压后,执行OBcode.msi文件自动注册。

2、将inc文件夹覆盖到博客目录下。

3、系统后台——网站信息配置——验证模块——验证模块类型设置,选择“只为数字验证码”,保存配置即可。

关于系统后台登陆界面验证码显示较小问题的修正办法:

路径:admin/images/admin/style.css
方法:搜索margin:2px 0 0 0;
找到以下:
#Login fieldset ul li img {margin:1px 0 0 0!important;margin:2px 0 0 0;width:64px;height:20px;}
把里面的margin:2px 0 0 0;width:64px;height:20px;删掉

具体查看:http://bbs.oblog.cn/dispbbs.asp?boardid=94&Id=134642