wordpress的post.php任意文件删除漏洞临时修复方法

近日RIPS曝出wordpress直至 4.9.6的版本依然存在一个任意文件删除漏洞,拥有author及类似权限的wordpress站点受到此漏洞威胁,攻击者可通过构造附件的’thumb’路径造成任意文件删除。严重的后果将导致攻击者获取站点管理员权限进而控制服务器。

临时修复方法如下,在当前主题模板的functions.php添加如下代码:

 

WordPress发布文章后实时自动进行百度主动推送

百度主动推送是百度所有链接提交方式中最为快速的提交方式,主要用于新内容发布后实时提交到百度,以保证新链接可以及时被百度收录。

WordPress加入下面这段代码即可实出发布完内容马上提交到百度,将代码中的域名更换为你自己的域名,token值改为你网站的百度主动推送的token值,可以在百度站长平台的链接提交中找到准入密钥。然后复制粘贴到你当前主题模板中的function.php文件中保存即可。

使用百度主动推送提交链接要注意以下几点:
1、高质量(能解决用户需求);
2、原创(相对花费时间精力精心整理出来的);
3、网站上的新页面(至少这个URL曾经没有被抓取过)。
不推荐使用百度主动推送的链接:
1、曾经提交过的页面(可以使用sitemap的xml形式,txt效果不太好);
2、采集过来进行简单“伪原创”的页面(搜索引擎有足够能力判断一个页面属于低级伪原创,还是花了时间精力进行过整理的页面);
3、低质量/作弊页面;
4、不要推送搜索引擎无法抓取的页面(无法访问的页面比如403/404/500/502的页面,以及经过跳转的页面301/302等……,结合网站日志尽量让搜索引擎能够正常抓取到页面)
最后还有一点,使用主动推送,一方面要注意额度,另一方面要经常关注网站对搜索引擎的友好。详情可以参考百度官方发布的《百度搜索引擎网页质量白皮书》。

WordPress自动重命名媒体库图片文件名

WordPress默认上传图片时,图片文件名是什么保存到媒体库里就是什么,如果想保持整洁规范统一,可以将上传的图片以上传时间自动重命名。将以下代码复制粘贴到当前模板主题的functions.php里保存即可。

WordPress免插件自动更新sitemap.xml站点地图

不喜欢给WordPress安装各种插件的话,可以用本文的方法免插件生成sitemap站点地图,可以同时生成首页、文章、单页面、分类和标签的sitemap


将以上代码保存为sitemap.php放在网站根目录,然后复制以下代码:

加入到伪静态规则.htaccess文件里的RewriteBase /的下面,保存覆盖。

然后就可以通过http://zhangwenbao.com/sitemap.xml来访问站点地图了,这个地址就可以提交到各大搜索引擎的站长平台里。

WordPress通过标签添加相关文章功能

WordPress默认的模板没有相关文章的功能,将下面的代码放在文章页模板文章结束位置即可实现相关文章的功能。原理是获取当前文章的标签,输出该标签下最近的10篇文章,如果该标签下不够10篇文章则补充最新文章凑成10篇。$post_num后面的数值就是要调用的文章数量。


 

WordPress禁止HTTP_USER_AGENT恶意采集与攻击

很多采集程序和SQL注入工具都是利用空USER_AGENT来获取信息,屏蔽恶意HTTP_USER_AGENT既可以防采集还可以在一定程度防攻击。

直接复制以下代码,粘贴到你当前主题模板的functions.php里:

$now_ua里面的数组是一些恶意采集软件的HTTP_USER_AGENT标识,下面还有更多:

FeedDemon 内容采集
BOT/0.1 (BOT for JCE) sql注入
CrawlDaddy sql注入
Java 内容采集
Jullo 内容采集
Feedly 内容采集
UniversalFeedParser 内容采集
ApacheBench cc攻击器
Swiftbot 爬虫
YandexBot 爬虫
AhrefsBot 爬虫
YisouSpider 爬虫
jikeSpider 爬虫
MJ12bot 爬虫
ZmEu phpmyadmin漏洞扫描
WinHttp 采集cc攻击
EasouSpider 爬虫
HttpClient tcp攻击
Microsoft URL Control 扫描
YYSpider 爬虫
jaunty wordpress爆破扫描器
oBot 爬虫
Python-urllib 内容采集
Indy Library 扫描
FlightDeckReports Bot 爬虫

上面是一些已知的恶意工具和爬虫的User Agent值列表,可以根据需要加入到代码里进行屏蔽!

WordPress压缩html代码提升网页加载速度

对WordPress进行html代码压缩可以实现WordPress加速,此处保哥分享的是免Gzip插件来实现。压缩代码分为两部分,第一部分是压缩html代码,第二部分是解决代码压缩后导致html里的注释挤到一行,使很多代码失效,特别是部分js代码失效。

在当前主题模板下的functions.php中加以下代码:

 

WordPress修改评论区模板Cookies提示文字并设置默认勾选状态

WordPress中自带的Twenty Fifteen主题,默认的评论区有一处保存Cookies的提示英文没有汉化:Save my name, email, and website in this browser for the next time I comment.翻译过来的中文意思是“保存姓名、电子邮件和站点信息,便于下次发表评论”

解决方法:编辑器打开wp-includes目录下的comment-template.php文件,这段英文大约在2206行,换上你的中文翻译即可。

如果要默认就是勾选状态,大约在2206行找到以下代码:

在input标签中加入checked=”checked”参数即可,或用下面的代码替换:

 

 

修改WordPress默认字体为微软雅黑

WordPress默认自带的模板主题以及一些国外的WordPress模板里的中文字体很模糊特别难看,不符合国人的审美,下面提供一行简单的CSS代码,即可解决整站字体,而且不影响Font awsome图标。

复制以下代码:

粘贴到主题自定义里面的额外CSS里,发布后即可生效,保哥笔记用的就是这段代码,只需一行,轻松搞定。

WordPress头部代码优化:去除window._wpemojiSettings代码

查看Wordpress源文件的时候,会看到head头部加载了一大片window._wpemojiSettings开头的JS和CSS代码,这是用于支持emjo表情的脚本。对于大部分国内站长来说,这个是十分鸡肋的功能,不仅使用的机会少,放在网站头部的JS代码太多对网站的优化也很不好,而且还会影响网站的加载速度。

清除以上的window._wpemojiSettings代码的方法如下:

在当前主题模板的functions.php加入以下代码即可,保存更新后即可去除。