Question to say "I can!"
  • u盘里文件乱码怎么办

    2017-04-28

    U盘是日常文件拷贝转移资料的重要工具,如果出现问题,而盘里还有必需的东西,那就让人着急上火了。一般出现乱码主要是两个原因,一是病毒引起的,文件被感染,软件问题,二是U盘读写过程中被强行拔出,造成数据的破坏,一般不正常卸载U盘,而强行拨出的还不少,如果此时U盘尚在读写使用中,就麻烦了。

    方法/步骤

    首先,对U盘进行杀毒,现在杀毒软件免费了,家家都装上了杀毒软件,一般插上后电脑杀毒软件都是提示进行查杀,先杀毒。

    如果没有病毒,那就可是U盘出现硬件故障,在硬盘使用时,我们常用chkdsk 盘符: /f,如U盘分配盘符是g,则在开始--运行中录入chkdsk g: /f,进行检查修复,如有提示,选择Y便可。如果提示系统拒绝访问,那我们可以运行附件中的命令提示符,再录入进行检查修复。

    如果不行,尝试右键点击我的电脑,点管理--磁盘管理,右键点U盘的属性,打开工具界面,点开始检查

    如果还不行,就下载一些U盘数据恢复软件,不过大部分都是对删除的文件进行恢复,效果如何,我没有乱码文件也不敢乱推荐了。

    作者:admin | Categories:优化维护 | Tags:
  • 如何解决浏览器字体变模糊的问题

    2015-11-12

    很多时候一打开浏览器,发现网页很模糊,看不清,但又不知道什么原因,无从下手,那么就由小编来讲解如何解决网页页面字体模糊不清的问题?

    第一种情况:

    设置—internet选项--高级—加速的图形—使用软件加速而不使用GPU加速然后关闭重新启动浏览器就OK了~

    也可以用用360安全卫士系统修复。

    第二种情况:

    找到浏览器上“工具”选项卡,然后,找到“Internet选项”

    打开“Internet选项”,并找到“字体”选项

    打开”文字“选项卡

    修改文字之后,检查浏览器,浏览器变得正常了

    作者:admin | Categories:优化维护 | Tags:
  • win7桌面图标全都变成白色的,被未知文件图标覆盖

    2015-11-07

    win7系统桌面图标被未知文件图标覆盖,或者变成了解决方法:

    方法一:
    随意更换个Win7个性化主题,以达到重建图标缓存的目的,若使用的是Win7家庭基础版(Home Basic)则进入控制面板,然后点击“更改桌面图标”,点还原默认值就可。

    方法二:
    将电脑的隐藏文件显示出来后,进入到 C:\Users\你的用户名\AppData\Local”,找到“IconCache.db”文件,删除它,然后重启桌面程序explorer.exe或注销或重启皆可。

    方法三:
    打开360安全卫士,选择“人工服务”,在输入框中输入“桌面图标显示未知图标”,然后查找方案,会出现许多解决这问题的方案,可一个一个方案尝试。(推荐用这个)

    方法四:
    打开魔方大师,选择“功能大全”里的“修复大师”中的“图标缓存修复”,这里可“重建图标缓存”、“恢复图标缩略图”、也可更改系统默认的缓存大小,尝试解决法问题。

    作者:admin | Categories:优化维护 | Tags:
  • 怎么删除hiberfil.sys关闭系统休眠

    2015-09-21

    我们都知道xp,win7等系统都有休眠的功能,休眠是将内存中的数据存储到硬盘hiberfil.sys文件中,从新打开时系统读取数据恢复到休眠前的状态,但大多时候我们不需要休眠,并且开启休眠hiberfil.sys文件可能会比较大,小编分享下怎么删除hiberfil.sys关闭系统休眠。

    xp系统,win7系统

    方法/步骤

    首先介绍下xp怎么关闭休眠

    ——打开控制面板——电源选项——休眠——去掉启用休眠选项即可,同时hiberfil.sys文件会自动删除

    下面介绍下win7(vista)怎么做

    ——首先打开控制面板——电源选项——点击选择关闭显示器时间或者更改计算机睡眠时间

    使计算机进入睡眠状态——从不

    点击搜索栏——输入cmd——右键搜索出来的cmd.exe——以管理员身份运行

    输入powercfg -h off 回车,hiberfil.sys文件自动删除

    作者:admin | Categories:优化维护 | Tags:
  • 更改chrome浏览器缓存位置

    2015-09-20

    可怜的下载鸡不知道为啥c盘突然只剩下1.0xGB空间了…当初为了节约硬盘 哥只分了20GB给它.

    现在竟然跟个闹罢工,实在不能忍!

    查了一番才发现原来是chrome缓存作祟,当然要改个路径了! Read More »

    作者:admin | Categories:优化维护 | Tags:
  • 浅析上传漏洞的形成

    2015-02-04

    偶介绍一种漏洞--上传漏洞,这是一种比注入更有杀伤力的漏洞。通过注入所得到的往往是数据库中

    的一些敏感信息,如管理员名称、密码等等(注:此处注入指的是MDB数据库),但上传漏洞就不同了,它可

    以把ASP、JSP、CGI、PHP等格式的木马上传至网站目录内,所得到的权限最低也是WEBSHELL,如果碰到的是安

    全意识不强的管理员,呵呵!那就可以客串一把管理员了!心动了吧!OK!那就LET'S GO!
    对于上传漏洞的查找,仍是从源文件入手,目标有两个,一个是FilePath(文件路径),另一个则是

    FileName(文件名称)。

    一、FilePath
    说到FilePath,有些朋友可能感到陌生,但要提到动网6.0的上传漏洞,大家一定不陌生吧!其上传漏

    洞就是由于FILEPath过滤不严引起的。虽然动网已不存在此漏洞了,但采用此上传源码的程序还是大有人在的

    ,比如我手头这款“万豪下载程序”,其ADS(广告)版块中的Upfile.asp(上传),就有Filepath过滤不严

    的漏洞,(刺猬2005作品)来分析一下其部分源码:
    以下是引用片段:
    <%
    dim upload,file,formName,formPath,iCount,filename,fileExt ’//定义上传变量
    set upload=new upload_5xSoft ’//建立上传对象JM的测试代码
    formPath=upload.form("filepath") ’//第一步、获取文件路径,此处是关键。
    if right(formPath,1)<>"/" then formPath=formPath&"/"
    for each formName in upload.file ’//用For读取上传文件
    set file=upload.file(formName) ’//生成一个文件对象jmdcw
    …………………… ’//省略部分代码
    fileExt=lcase(right(file.filename,4)) ’//从文件名中截取后4位,并转换为小写字符。
    if fileEXT<>".gif" and fileEXT<>".jpg" and fileEXT<>".zip" and fileEXT<>".rar" and

    fileEXT<>".swf"then ’//文件扩展名判断
    response.write "<font size=2>文件格式不正确 [ <a href=# onclick=history.go(-1)>重新上传</a> ]

    </font>"
    response.end
    end if
    randomize
    ranNum=int(90000*rnd)+10000
    filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum&fileExt

    ’//第二步、filename由提交的文件路径+年月日的随机文件名+转换后的扩展名组成
    if file.FileSize>0 then
    file.SaveAs Server.mappath(FileName)     ’//保存文件jmdcw
    end if
    set file=nothing
    next
    %>
    在这段源码中,要关键的就这两句:
    以下是引用片段:
    1、formPath=upload.form("filepath")
    2、filename=formPath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)

    &ranNum&fileExt

    广告插播。变量与常量:所谓变量就是指在程序的运行过程中随时可以发生变化的值;而常量则恰恰相

    反,指的是在程序的运行过程中始终保持不变的值。
    下面来看一下漏洞是如何形成的。在第一句代码中,从变量filepath中获取文件的保存路径,然后在第

    二句中,用路径变量formPath加随机生成的数字及经过判断的扩展名合成为一个新的变量,这个变量Filename

    就是上传文件保存的路径及名称。这样说有些笼统,下面举例说明。

    比如选择“111.jpg”文件上传,在上传过程中,随文件一起上传的还有一个FilePath变量,假设其值

    为“image”,当这些值传到upfile.asp中,filename就变成了:“image/200512190321944973.jpg”,上传

    成功后,该111.jpg就被保存到image文件夹内,文件名字也被改成了:“200512190321944973.jpg”。这段流

    程,看起来无懈可击,但还是被牛人研究出了突破方法,什么方法呢?很简单,突破点就在变量身上,如果将

    其FilePath值改为“image/aa.asp□”,其后的“□”表示二进制的00(空的意思),这样,该变量提交入

    upfile.asp后,Filename值就变成了“image/aa.asp□/200512190321944974.jpg”,服务器在读取这段变量

    时,因为“□”是二进制的00,认为该变量语句已经结束了,于是“□”后面的字符也就被忽略掉了,这样一

    来,Filename就成了:“image/aa.asp”,程序再用file.SaveAs进行保存的话,这个文件就保存成了aa.asp

    文件,瞧!漏洞出现了。

    对于这个漏洞的利用,可以使用桂林老兵的上传工具,也可以采取用WinSock抓包,然后用记事本保存

    提交数据并增加、修改相关内容,再用WinHex修改空格为二进制,最后用NC提交的方法。

    二、FileName
    介绍过FilePath(上传路径)过滤不严的漏洞,再来看一看FileName(上传文件名)过滤不严造成的漏

    洞,上传文件名过滤不严的形式是多种多样的,偶这里介绍两种:
    1、动易文章
    2005.10期中的《再现昔日漏洞——沁竹音乐程序的疏忽》,所涉及的上传漏洞就是动易的上传漏洞,

    下面以此为例,来看一下其上传文件Upfile_Article.asp中的部分源码:
    以下是引用片段:
    <%
    Const UpFileType="rar|gif|jpg|bmp|swf|mid|mp3" ’//允许的上传文件类型jmdcw
    Const SaveUpFilesPath="../../UploadFiles"         ’//存放上传文件的目录,注:以上两个常量均在

    config.asp文件内定义’刺猬测试代码
    dim upload,oFile,formName,SavePath,filename,fileExt //变量定义
    ……………………
    FoundErr=false      ’//此为是否允许上传的变量,初始化为假,表示可以上传。
    EnableUpload=false     ’//此为上传文件扩展名是否合法的变量,初始化为假,表示的是不合法。
    SavePath = SaveUpFilesPath     ’//存放上传文件的目录
    ……………………
    sub upload_0()      ’//使用化境无组件上传
    set upload=new upfile_class ’//建立上传对象
    ……………………
    for each formName in upload.file ’//用For循环读取上传的文件。 jmdcw
    set ofile=upload.file(formName) ’//生成一个文件对象
    ……………………
    fileExt=lcase(ofile.FileExt) ’//将扩展名转换为小写字符
    arrUpFileType=split(UpFileType,"|") ’//读取后台定义的允许的上传扩展名
    for i=0 to ubound(arrUpFileType)     ’//第一关,用FOR循环读取arrUpFileType数组。
    if fileEXT=trim(arrUpFileType(i)) then     ’//如果fileEXT是允许上传的扩展名
    EnableUpload=true     ’//EnableUpload为真,表示该文件合法。
    exit for
    end if
    next
    if fileEXT="asp" or fileEXT="asa" or fileEXT="aspx" then ’// 第二关,验证fileEXT是否为asp、asa

    、aspx扩展名。
    EnableUpload=false     ’//如果属于这三项之一,那么EnableUpload就定义为假,上传文件扩展名不合法

    。jm
    end if
    if EnableUpload=false then ’// 第三关,验证关。如果传递到此的EnableUpload变量为假,则说明上传文

    件扩展名不合法。
    msg="这种文件类型不允许上传!\n\n只允许上传这几种文件类型:" & UpFileType
    FoundErr=true ’//注意:因为文件名不合法,就更改了FoundErr值,由初始的false改为true。
    end if
    strJS="<SCRIPT language=javascript>" & vbcrlf
    if FoundErr<>true then     ’//第四关,上传关。如果FoundErr不等于true才可以上传。
    randomize
    ranNum=int(900*rnd)+100
    filename=SavePath&year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)

    &ranNum&"."&fileExt     ’//定义filename,其值为固定的路径名+年月日及随机值生成的名称+传递过来的

    fileExt扩展名。
    ofile.SaveToFile Server.mappath(FileName)     ’//保存文件 cw’s
    msg="上传文件成功!"
    ……………………
    next
    set upload=nothing
    end sub
    %>
    在这段源码中,用到了两个FOR循环、两个逻辑变量,第一个FOR循环“for each formName in

    upload.file”用于取得所有上传的文件名;第二个FOR循环“for i=0 to ubound(arrUpFileType) ”用于检

    测文件扩展名。而两个逻辑变量是EnableUpload和FoundErr,EnableUpload用于表示文件扩展名的合法性,

    True表示合法;而FoundErr则用于表示文件是否可以上传,False表示可以上传,很奇怪?用的是False!如果

    我们上传的是一个文件,那此段代码是无懈可击的,但要上传两个呢?因为化境无组件上传可以上传多个文件

    ,OK!来看一下上传多个文件的流程:
    首先,构造一个有两个上传框的本地HTM文件,HTM代码如下:
    以下是引用片段:
    <form action="http://www.jmdcw.com/admin/Article/Upfile_AdPic.asp" method="post" name="form1">
    <input name="FileName1" type="FILE" size="40">
    <input name="FileName" type="FILE" size="40">
    <input type="submit" name="Submit" value="上传" >
    </form>

    运行这个HTM,在第一个框内选择一个jpg图片,文件名为“111.jpg”,在第二个框内选择一个Cer文件

    ,文件名为“222.cer”,点“上传”把这两个文件提交给程序。接下来到Upfile_AdPic.asp中观察这两个文

    件的上传流程(注意其中逻辑变量的变化)。
    1、在进入第一个FOR(读取文件名)之前,程序先将变量FoundErr定义为false、EnableUpload定义为

    false,然后读取文件名,先验证第一个文件111.jpg,在验证的第一关中,jpg属于允许上传的类型,变量

    EnableUpload=true。
    2、接着到第二关,检验是否属于三种禁传类型,因为不属于,变量EnableUpload仍为true。
    3、再到第三关卡,如果EnableUpload=false,那么FoundErr=true,而前面传递来的

    EnableUpload=true,那FoundErr仍为进入第一个FOR循环之前的false。
    4、最后进入第四关,此关的验证是:如果FoundErr<>true就可以通过,看一下从第三关传递过来的

    FoundErr的值,是false,可以上传。这里请注意,在111.jpg上传后,EnableUpload的值保持为true,

    FoundErr的值是false。
    5、接着程序读取第二个文件222.cer,进入第一关验证是否为允许上传类型,如果cer属于此范围就给

    EnableUpload定义为true,而cer不属于,所以就保持原值,EnableUpload的原值是什么?看一下111.jpg上传

    后的变量值:“EnableUpload的值保持为true”,那么此时cer文件的EnableUpload值就是true了。
    6、再到第二关,cer同样不属于此限制范围,又跳过IF语句,再看EnableUpload的值,仍保持为true。
    7、又到第三关了,因为EnableUpload=true,又跳过了此关验证。直接进入第四关,这时回头看一下

    FoundErr的值,自cer进行上传验证开始,一直未出现FoundErr,FoundErr的值是什么?呵呵,它还是111.jpg

    上传后的值false,而第四关的验证就是只要FoundErr不是true就可以上传,所以,这个cer文件也就通过了层

    层关卡,进入了服务器。
    除了cer格式的,还可以上传asp□(□在这里表示空格,以下同)、asp.格式的文件,方法很简单,就

    是把上传框中的asp名称加入空格或小数点,因为是asp□、asp.格式,其绕过方式和cer是一样的,而上传到

    服务器中的asp□或asp.的扩展名,因为Windows文件命名原则,会去除后面的空格和小数点,保存的就是asp

    格式了。

    2、动感商务2005
    说过了动易的上传漏洞,再来介绍动感商务2005的上传漏洞,今天真是太巧了,动网、动易、动感,全

    是带动的,哈哈!动易是由于上传多个文件引起的漏洞,而动感则是因为文件名过滤不严出现上传漏洞。下面

    是动感2005上传upfile.asp中的部分源码:
    以下是引用片段:
    <%
    Private Sub SaveFile_0() ’//无组件上传
    ……………………
    Set File = UploadObj.File(FormName) ’//取得上传文件名 cw’s files
    FileExt = FixName(File.FileExt) ’//第一步、用FixName函数过滤上传文件的扩展名
    If CheckFileExt(FileExt) = False then ’//第二步、用CheckFileExt检查过滤后的文件扩展名
    ErrCodes = 5
    EXIT SUB ’//退出上传
    End If
    FileName = FormatName(FileExt) ’//符合条件的话,就用FormatName函数按日期生成文件名
    ……………………
    If File.FileSize>0 Then
    File.SaveToFile Server.Mappath(FilePath & FileName) ’//保存的文件路径及名称是Filepath+FileName
    ……………………
    End Sub
    %>
    下面再来看一下上传所涉及到的一些参数。
    A、FixName()函数:
    以下是引用片段:
    Private Function FixName(Byval UpFileExt) ’//第一步的过滤函数,过滤特殊扩展名。
    If IsEmpty(UpFileExt) Then Exit Function ’//如扩展名为空就退出交互
    FixName = Lcase(UpFileExt)         ’//将扩展名转换为小写字符。
    FixName = Replace(FixName,Chr(0),"")     ’//将二进制的00空字符过滤为空
    FixName = Replace(FixName,".","")      ’//将单引号过滤为空,下同。 jmdcw
    FixName = Replace(FixName,"’","")
    FixName = Replace(FixName,"asp","")
    FixName = Replace(FixName,"asa","")
    FixName = Replace(FixName,"aspx","")
    FixName = Replace(FixName,"cer","")
    FixName = Replace(FixName,"cdx","")
    FixName = Replace(FixName,"htr","")
    FixName = Replace(FixName,"shtml","")
    End Function

    从中,我们可以看出,应用程序asp.dll映射的类型全部过滤了,除此之外,还有小数点、单引号也被

    过滤,甚至连Chr(0)都过滤了,Chr(0)是什么?它就是16进制的0x00,表示为二进制是00000000,也就是前面

    在FilePath上传漏洞中大显神通的空字符。
    B、CheckFileExt()函数:
    以下是引用片段:
    Private Function CheckFileExt(FileExt) ’//第二步的判断函数,判断文件类型是否合乎要求
    Dim Forumupload,i
    CheckFileExt=False     ’//定义CheckFileExt的初始值为假,
    If FileExt="" or IsEmpty(FileExt) Then ’//第一次、为空则退出
    CheckFileExt = False
    Exit Function
    End If
    If FileExt="asp" or FileExt="asa" or FileExt="aspx" or FileExt="shtml" Then     ’//第二次、如果

    属于这四种类型也退出交互
    CheckFileExt = False
    Exit Function
    End If
    Forumupload = Split(InceptFile,",")     ’//第三次、从InceptFile中提取后台的上传扩展名
    For i = 0 To ubound(Forumupload) ’//用For循环检验
    If FileExt = Trim(Forumupload(i)) Then ’//如果和后台中的任一上传扩展名相符,则CheckFileExt =

    True。
    CheckFileExt = True
    Exit Function
    Else
    CheckFileExt = False
    End If
    Next
    End Function
    这个函数对经过FixName()函数过滤后的扩展名再次判断,其中有三次检查,第一次是判断传递而来的

    扩展名是否为空,为空则退出上传,第二次是判断扩展名是否属于asp、asa等四种限传类型,属于也退出上传

    ,第三次就是用该扩展名同后台内自定义的上传扩展名进行对比,符合就允许上传。
    C、FilePath值:
    其所用到的filepath在upload.asp中,其值如下:
    以下是引用片段:
    if info_name="bbs" then
    FilePath = "/bbs/upload/"
    else
    FilePath = "/uploadpic/"
    end if
    FilePath是一个常量,从这条路找漏洞是行不通的了。
    OK!下面上传一个文件来看其验证流程,比如上传的文件名为“111.cer”,在用“FileExt =

    FixName(File.FileExt)”过滤扩展名时,因为cer属于fixName()函数的过滤范围,所以扩展名cer就成了空,

    当把这个空的扩展名传递给CheckFileExt(),在其进行到“If FileExt="" or IsEmpty(FileExt)”语句时,

    就会因为FileExt为空而退出交互,返回格式不正确,拒绝上传。
    如何突破呢?其突破点就在FixName()函数中,上面我们也看到,在上传时cer会被过滤为空,但如果我

    们把上传文件扩展名改为ccerer,同时,在后台的自定义上传类型中增加“ccerer”、“cer”,这样,扩展

    名为ccerer的文件在经过第一步FixName()的过滤后,ccerer就变成了cer(中间的cer字符被过滤为空),传

    递此值到CheckFileExt()函数中,通过其第一次不空的关卡,再通过第二次限制类型的关卡,最后到对比后台

    上传类型关卡,因为在前面我们已添加了“ccerer”、“cer”两种类型,那么也就通过CheckFileExt()第三

    次的判断,CheckFileExt = True,也就把这个扩展名ccerer的文件上传到服务器中了,并且上传后的扩展名

    是cer。
    有的朋友可能会问,如果上传扩展名为aaspsp□或aaspsp.格式的文件,在经过FixName()函数的过滤,

    不就变成了asp□或asp.了,而这两种格式也不在限制的范围,只要在后台中加上这几种类型,不就可以把上

    传的文件保存为asp格式了?其实当初我也是这个想法,但经过仔细的研究分析,发现此路不通,为什么?先

    说小数点,在FixName()中,有这么一句,FixName = Replace(FixName,".",""),将小数点过滤为空,瞧!小

    数点的路断了。再来看空格,虽然FixName()中没有过滤空格,但在CheckFileExt()读取后台上传类型时有这

    么一句:“If FileExt = Trim(Forumupload(i)) Then ”,其中有个Trim(),Trim的作用是删除字符串开始

    和尾部的空格。虽然在后台能写入了asp□类型,但在读取时,却会被Trim()过滤成asp,而aaspsp□通过层层

    关卡到了此处,已变成了asp□,asp□<>asp,证件不符!Sorry,拒绝进入!

    总而言之,上传漏洞是比较吸引眼球的。偶用上面三个例子对上传漏洞管中窥豹了一番,希望对各位朋

    友有所帮助。呵呵!相信自已,说不定下一个发现新的上传漏洞的牛人就是你!

    作者:admin | Categories:优化维护 | Tags:
  • 清理WordPress 数据库冗余数据

    2015-01-31

    来自:大发老师——清理WordPress 数据库冗余数据

    Mysql 可以说是后端决定速度中最重要的部分,最明显的就是你刚创建博客只有1篇文章的时候和写了1年博客时的加载速度,那真是天壤之别,这就是为什么每次hello world都很有快感的原因之一。

    虽然有很多清理数据库的插件,但是大发还是喜欢自己使用sql语句定期清理数据库,主要是插件不是所有的表都可以清理,比如options表,一般插件是无法清理的。数据库的垃圾数据主要存在wp_posts wp_postmeta wp_commetns wp_commentmetawp_options ,另外百度社会化插件也会额外创建两个表。

    注意:以下sql语句都是在前缀为wp的情况下,如果你有做修改请替换成你自己,另外阿里云rds不支持多条语句一次执行,请分步执行。在执行数据操作时一定要备份数据库,以免发生意外。

    wp_posts

    删除文章修订版本

    DELETE FROM wp_posts  WHERE post_type = 'revision';

    wp 媒体管理器上传图片的时候同事会成才attachment 文章格式,如果你不需要根据这个检索图片的话也可以删掉。

    DELETE FROM wp_posts  WHERE post_type = 'attachment';

    wp_postmeta

    这里是重灾区,可以执行以下命令

    DELETE FROM wp_postmeta WHERE meta_key = '_edit_lock';
    DELETE FROM wp_postmeta WHERE meta_key = '_edit_last';
    DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';
    DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT post_id FROM wp_posts);
    DELETE FROM wp_postmeta WHERE meta_key = '_wp_old_slug';
    DELETE FROM wp_postmeta WHERE meta_key = '_revision-control';
    DELETE FROM wp_postmeta WHERE meta_value = '{{unknown}}';

    如果你不需要管理你的多媒体文件可以使用下面这两句

    DELETE FROM wp_postmeta WHERE meta_key = '_wp_attached_file';
    DELETE FROM wp_postmeta WHERE meta_key = '_wp_attachment_metadata';

    综合到一起可直接执行下面两句

    DELETE FROM wp_postmeta WHERE meta_key in ('_edit_lock', '_edit_last', '_wp_old_slug', '_revision-control', '{{unknown}}', '_wp_attached_file', '_wp_attachment_metadata');
    DELETE FROM wp_postmeta WHERE post_id NOT IN (SELECT id FROM wp_posts);

    wp_comments

    删除所有垃圾评论

    DELETE FROM wp_comments  WHERE comment_type = 'trash';

    删除所有待审评论

    DELETE FROM wp_comments  WHERE comment_approved = '0';

    wp_commentmeta

    一般来说直接删掉这个表就可以了,我是完全不使用这货的,如果你使用了commentmeta存储信息请谨慎执行此句

     TRUNCATE TABLE `wp_commentmeta`

    wp_options

    尤其是使用我的网易云音乐和牧风的hermit,都会在wp_options表中产生大量垃圾数据。

    DELETE FROM wp_options WHERE option_name LIKE '_transient_%';
    DELETE FROM wp_options WHERE option_name LIKE '_transient_timeout_%'

    这样会删除所有临时数据,包括未过期的,谨慎使用。

    PS

    另外Akismet不但会减慢Wordpress 评论提交速度而且会产生大量打击数据。建议使用Ajax 评论提交并删除此插件。

    另外如果你后台勾选了任何人都可以注册话你会发现你多了无数个用户,删除用户就不需要使用sql语句了。

    一般来说如果你经常清理的话可能感觉不出速度,但是如果你很久或者从来没清理过,肯定能感受到速度的提升。

    另外就是当你文章非常多的时候,可以关闭搜索功能,这货是非常耗费资源的。

    使用WP Clean Up

    可以在后台直接搜索 WP Clean Up 进行安装,或者 下载 WP Clean Up 后,解压并上传到 /wp-content/plugins/ 目录,然后在后台“插件”那里启用。

    插件也是执行以上语句,所以清理时也请备份数据库,以免发生意外。

    作者:admin | Categories:优化维护 | Tags:

无觅相关文章插件,快速提升流量