月度归档:2014年04月

wordpress禁止恶意HTTP_USER_AGENT,防采集防部分攻击

wordpress禁止恶意HTTP_USER_AGENT,防采集防部分攻击-wordpress教程-代码笔记

很久没更新wordpress教程了,因为最近小V各种忙,实在抽不出时间来想代码,今天小V趁着周末还有点时间空闲先给大家来一发教程。之前小V在VPS教程中写过一篇通过nginx过滤恶意访问的教程:《VPS分析日志利用nginx过滤恶意访问》,但是很多小伙伴还用的是虚拟主机,所以此方法根本用不了。今天小V就教大家如何直接用wordpresss自身来过滤恶意访问(HTTP_USER_AGENT)。

$ua = $_SERVER['HTTP_USER_AGENT'];
$now_ua = array('FeedDemon ','ZmEu','Indy Library','oBot','jaunty'); //将恶意USER_AGENT存入数组
if(!$ua) { //禁止空USER_AGENT,dedecms等主流采集程序都是空USER_AGENT,部分sql注入工具也是空USER_AGENT
header("Content-type: text/html; charset=utf-8"); 
wp_die('请勿采集本站,因为采集的站长木JJ!');
}else{
    foreach($now_ua as $value )
    if(eregi($value,$ua)) {
    header("Content-type: text/html; charset=utf-8"); 
    wp_die('请勿采集本站,因为采集的站长木JJ!');
    }
}

将以上代码加到functions.php的第一个<?php之后即可,本站只写了部分恶意User Agent,如果某位小伙伴发现新的恶意User Agent可以将User Agent的关键字写$now_ua数组里面,每个关键字用单引号包括起来,关键字之间用英文逗号分割。非wordpress的php程序也可以使用这段代码只需要将代码中的wp_die改成die,然后将代码加入到网站公用文件中。

本站收集的恶意User Agent列表:http://www.v7v3.com/tool/bot.txt

wordpress内容分享后显示插件:Share to view all

Share to view all是一款可以将文章中任意部分内容隐藏,当访客通过新浪微博或腾讯微博转播后即可显示内容的wordpress插件。

插件说明:

自定义Appkey,完全不依赖第三方页面。使用2.0版必须拥有自己的App Key和App Secret。使用方法和之前的版本一样,只是2.0需要手动在插件目录下的config.php里添加App Key和App Secret。 特别注意:添加新浪微博的APPkey后,还需要在新浪开放平台官方应用管理处添加回调url,url如下: http://www.域名.com/wp-content/plugins/share-to-view-all/s/callback.php 如果是子目录: http://www.域名.com/子目录/wp-content/plugins/share-to-view-all/s/callback.php

很多朋友找不到回调URL设置的地方,在新浪微博开放平台open.weibo.com,如果是网站类型的应用请进入应用后,点击左侧的“接口管理”->”授权机制”,里面有修改 还有个要注意:本插件是动态显示内容的,所以安装一些WP缓存插件后会无法正常使用本插件,还有使用了加速乐、安全宝等CDN加速服务的也会无法正常使用,请知晓。

使用方法:

下载插件后,将Share to view all文件夹上传到Wordpress目录/wp-content/plugins/下,然后在Wordpress后台开启该插件。

插件启用后,在编辑文章时,切换到代码状态,在需要隐藏的内容前后添加指定标签即可,如:

<!–sharetoview start–> 这里就是要隐藏的内容 <!–sharetoview end–>

编辑器上有标签插入按钮,可快速插入隐藏标签

提示:已登录用户直接显示内容

卸载方法方法

跟普通插件一样,在后台停用或者删除插件目录即可,卸载后,对文章毫无影响。

功能截图

后台编辑截图:

wordpress内容分享后显示插件:Share to view all-wordpress插件-代码笔记 %

隐藏效果图:

wordpress内容分享后显示插件:Share to view all-wordpress插件-代码笔记 %

分享到微博后:

wordpress内容分享后显示插件:Share to view all-wordpress插件-代码笔记 %

传 WordPress 运营方融资1.5亿美元:估值超10亿

北京时间4月16日早间消息,据美国《财富》杂志网络版报道,博客平台 WordPress.com 和 WordPress VIP 的运营商Automattic 将融资1亿至1.5亿美元。

Automattic 在本轮融资中的估值将超过10亿美元,略高于2013年9月的估值。当时,老虎环球管理公司和 Iconiq 共计向Automattic 投资7500万美元,主要是从早期投资者 Polaris Partners 手中购买股票。几个月前,老虎环球管理公司还在另外一轮投资中向该公司注资 5000 万美元,同样是从其他投资者手中购买股票。

此次交易可能用于购买新股,但 Automattic 拒绝对此置评。

WordPress 独立建站程序目前为全球22%的网站提供支持,高于去年7月的19%。例如,域名注册和互联网主机服务提供商GoDaddy托管的网站中有半数使用了 WordPress。Automattic 为 WordPress 提供了一个服务层,并且在其平台上引入了管理和编辑元素。

Automattic 上周刚刚收购了内容网站Longreads。该公司创始人麦特·穆伦威格(Matt Mullenweg)今年1月出任CEO,他之前的职责一直集中在产品领域。在几周前接受《财富》杂志采访时,穆伦威格称他早就在为此做准备,希望等到自己更加成熟、经验更丰富时再完成这一转变(他现在已经30岁)。

Automattic将使用最新获得的融资应对 Squarespace 等竞争对手的挑战。后者刚刚宣布通过 General Atlantic 融资4000万美元。另外,Twitter 联合创始人伊万·威廉姆斯(Evan Williams)的博客平台 Medium 也在对 WordPress 构成挑战。

文:水煮鱼

wordpress垃圾数据清理插件:WPDBSpringClean

使用wordpress搭建站点时,通常会反复安装测试各种wordpress插件,部分功能型插件会在数据库中自动登陆数据库表,但插件删除后数据库表依然继续保留在数据库中,这些数据库表不仅占用数据库空间,还有可能对搭建的wordpress站点性能产生影响,因此删除这些残留的数据库表非常有必要,删除数据库表可以通过phpmyadmin手动操作,对于新手建议使用数据库清理优化插件来进行。

WPDBSpringClean插件可以扫描搜索已删除插件残留的数据库,用户只需要把扫描到的数据库表删除即可;此外该插件还可以对数据库表进行优化,清除被创建且已分配但没有使用的空间,使数据库表达到最佳状态,提高wordpress站点的运行性能!

插件使用方法:(该插件是对数据库进行操作,在安装使用前,请对网站的数据库进行备份)

在后台插件——安装插件中搜索WPDBSpringClean进行安装;

删除残留数据库表:启用插件后,在后台——设置——WPDBSpringClean界面,点击Perform Search,然后勾选扫描出来的数据表作删除处理:

wordpress垃圾数据清理插件:WPDBSpringClean-wordpress插件-代码笔记 %

优化数据库表:点击DB Table Optimize,然后点击Perform Search,勾选扫描出来的数据库表,然后点击Optimize即可。

wordpress垃圾数据清理插件:WPDBSpringClean-wordpress插件-代码笔记 %

wordpress纯静态插件:cos html cache

随着wordpress的功能越来越强大,网站的运行速度也越来越慢,而且网站随着网站的数据越来越多,访问量越来越大,网站的速度也会渐渐变慢,其实wordpress网站速度慢的主要原因就是数据库查询太多了,那么装一款缓存插件是非常有必要的,因为缓存插件可以大幅度的提高网站运行速度以及效率,并且降低服务器负载。之前小V介绍一款WP Super Cache,插件就非常不错,还有之前小V说过的非插件生成HTML缓存:《wordpress非插件实现生成静态缓存文件,提速效率高达100%》都是非常不错的缓存方案,不过非插件的缓存方法有点缺陷,今天小V再给大家介绍一款wordpress缓存插件:cos html cache。该wordpress插件是由国人开发的,该插件的功能是为wordpress生成真正的html页面而不是将数据缓存。

需要注意的是使用cos html cache时必须在linux空间并且文章后缀名为html,win主机下各种不兼容,并且该插件只缓存首页和文章页。

WordPress 3.9正式版发布,名为Smith

大家期待已久的 WordPress 3.9 正式版 终于发布了,该版本取名 Smith,用来纪念爵士风琴手Jimmy Smith。本次更新,最主要是改善了媒体编辑、主题自定义和安装方面的体验。部分细节如下:

更流畅的媒体编辑体验

改进的可视化编辑器

WordPress 3.9正式版发布,名为Smith-wordpress资讯-代码笔记 %

改善了可视化编辑器的速度、可访问性和对移动设备的支持。您可以将Word的内容直接粘贴到可视化编辑器,而不会浪费时间来清理凌乱的样式。

轻松编辑图片

WordPress 3.9正式版发布,名为Smith-wordpress资讯-代码笔记 %

随着裁剪和旋转工具的更快访问,现在可以更方便地在编辑文章的时候编辑图像。您也可以直接在编辑器中缩放图像以找到合适的大小。

拖放您的图片

WordPress 3.9正式版发布,名为Smith-wordpress资讯-代码笔记 %

上传你的图片比以往任何时候都更容易。只需从您的桌面抓住它们拖放到编辑器即可。

画廊预览

WordPress 3.9正式版发布,名为Smith-wordpress资讯-代码笔记 %

图像有画廊,现在我们已经添加了简单的音频和视频播放列表,这样你就可以展示你的音乐和剪辑。

小工具和头部在线预览

就在主题自定义界面添加、编辑和重新安排你的网站的小工具。没有“保存惊喜” – 预览更改过,然后当你满意后再保存它们。

改进后的标题图片工具还允许自定义主题的时候上传、裁剪和管理头部。

WordPress 3.9 改进了很多特性,对于主题和裁剪开发者,希望阅读一下官方文件http://make.wordpress.org/core/tag/3-9-dev-notes/,从而做好主题和插件对新版本WP的兼容。

同时也建议大家先下载 WordPress 3.9 在本地环境中进行测试,看看是否和你现在所用的主题和插件兼容!!

wordpress自定文章页面模板插件:Custom Post Template

相信各位wordpress站长都知道,wordpress有个自定义页面模板的功能,只需要在一个自定义php页面中加入:

/*
 Template Name: 模板名
 */

即可创建一个自定义的页面模板。今天小V介绍的wordpress插件:Custom Post Template,就是一个给wordpress文章添加自定义页面功能的插件,插件效果图:

wordpress自定文章页面模板插件:Custom Post Template-wordpress插件-代码笔记

使用方法:

/*
Template Name Posts: 模板名
*/

定义好的模板名,在你编辑文章时就会出现在标签的下方了,当然模板的代码还是要你自己写咯。

wordpress模板标签-get_bloginfo()

说明

该函数返回用户博客的相关信息,可将返回的信息用在PHP代码中。该函数与bloginfo()均可以显示博客相关信息。

用法

<?php $bloginfo = get_bloginfo( $show ); ?>

参数

$show

(字符串)(可选)可命名你所需要的信息的关键字。

默认值:name

忽略$show参数,或者传递的值不在下面列出的范围内,get_bloginfo返回博客标题。

name

(默认)返回管理面板>设置>常规中设定的博客标题。可从wp_option数据库表的blogname记录中获取name信息。

description

管理面板>设置>常规中设定的博客说明/标语。可从wp_option数据库表的blogdescription记录中获取name信息。

url

博客地址(URI),即博客网站URL,在管理面板>设置>常规中设定。可从wp_option数据库表的home记录中获取该url信息。

wpurl

WordPress地址,即你的WordPress安装地址,在管理面板>设置>常规中设定。可从wp_option数据库表的siteurl记录中获取该信息。

rdf_url

博客 RDF/RSS 1.0订阅URL (/feed/rfd)。

rss_url

博客RSS 0.92 订阅URL (/feed/rss)

rss2_url

博客RSS 2.0 订阅URL (/feed)

atom_url

博客 Atom订阅URl(/feed/atom)

comments_rss2_url

博客评论 RSS 2.0订阅URL(/comments/feed)

pingback_url

pingback XML-RPC文件的URL(xmlrpc.php)

stylesheet_url

当前主题主CSS文件(通常为style.css)的URL

stylesheet_directory

当前主题样式表文件夹的URL。(WordPress早期时为本地路径)

template_directory

template_url

当前主题目录的URL。(在WP 2.6之前,template_directory为本地路径;其它用法请见get_theme_root() 与 get_template()。)

admin_email

在管理面板>设置>常规中设定的博客管理者的E-mail地址。可从wp_option数据库表的admin_email记录中获取该信息。

charset

在管理面板>设置>常规中设定的页面和feeds的编码方式。可从wp_option数据库表的blog_charset记录中获取该信息。

version

当前使用的WordPress版本信息。该信息即wp-includes/version.php中设定的 $wp_version变量的值。

html_type

WordPress的HTML页面的文本类型(默认:text/html);存储在wp_option数据库表的html_type记录中。主题和插件都可以通过 pre_option_html_type过滤器改写html_type的默认值(参见插件API/常用过滤器(filter))。

示例

默认用法

默认用法将博客标题赋予变量$blog_title

<?php $blog_title = get_bloginfo();?>

博客标题

将博客标题赋值给变量$blog_title,返回的值与默认用法相同

<?php $blog_title = get_bloginfo('name'); ?>

博客标语

使用以下代码:

<?php echo 'Your Blog Tagline is: ' . get_bloginfo ( 'description' );  ?>

使博客上显示:

 Your Blog Tagline is: All things WordPress  

示例输出

在WP 2.7中,假设example为博客名,博客地址为 http://example/home,WordPress安装地址为 http://example/home/wp。

注意其中的目录URL没有结尾斜线。

admin_email = admin@example
atom_url = http://example/home/feed/atom
charset = UTF-8
comments_atom_url = http://example/home/comments/feed/atom
comments_rss2_url = http://example/home/comments/feed
description = Just another WordPress blog
home = http://example/home
html_type = text/html
language = en-US
name = Testpilot
pingback_url = http://example/home/wp/xmlrpc.php
rdf_url = http://example/home/feed/rdf
rss2_url = http://example/home/feed
rss_url = http://example/home/feed/rss
siteurl = http://example/home
stylesheet_directory = http://example/home/wp/wp-content/themes/default
stylesheet_url = http://example/home/wp/wp-content/themes/default/style.css
template_directory = http://example/home/wp/wp-content/themes/default
template_url = http://example/home/wp/wp-content/themes/default
text_direction = ltr
url = http://example/home
version = 3.8.1
wpurl = http://example/home/wp

相关函数

bloginfo()

wordpress模板标签-bloginfo_rss()

说明

该标签显示用户博客的相关信息,这些信息通常来自用户在WordPress网站后台“我的配置”和“设置>常规”菜单中填写的内容。除该标签将输出结果中的标记删除以供WordPress聚合订阅使用外,其它与bloginfo()完全相同。

用法

<?php bloginfo_rss('show'); ?>

示例

显示博客标题和链接

在RSS订阅的标题和链接标签中显示博客名称和URL。

<title><?php bloginfo_rss('name'); ?></title>
<link><?php bloginfo_rss('url') ?></link>

参数

show

(字符串)博客信息。有效值包括

'name' ——博客标题;在设置>常规中设定。(默认值)

'description' —— 博客标语;在设置>常规中设定。

'url' —— 博客地址URL

'rdf_url' —— 博客 RDF/RSS 1.0 订阅URL

'rss_url' —— 博客RSS 0.92 订阅URL

'rss2_url' —— 博客RSS 2.0订阅URL

'atom_url' —— 博客Atom订阅URL

'comments_rss2_url' —— 博客的评论 RSS 2.0订阅URL

'pingback_url' —— pingback(XML-RPC文件)的URL

'admin_email' —— 博客管理者的email地址;在设置>常规中设定。

'charset' —— 博客的字符编码类型;在设置>常规中设定。

'version' —— 博客使用的WordPress版本

以下值仅可用于WordPress 1.5及之后的版本:

'html_type' —— 博客的“文本类型”

'wpurl' —— WordPress安装URL

'template_url' —— 当前所用模板的URL

'template_directory' —— 模板文件夹的URL

'stylesheet_url' —— 主CSS文件的URL

'stylesheet_directory' —— 样式表文件夹的URL

wordpress模板标签-bloginfo()

说明

该标签显示用户博客的相关信息,这些信息通常来自用户在WordPress网站后台“我的配置”和“设置>常规”菜单中填写的内容。该标签可以用在页面模板的任何区域内,且该标签总是将结果输出给浏览器。如果用户需要将输出内容用在PHP中,请使用get_bloginfo()。

用法

<?php bloginfo('show'); ?>

示例

显示博客标题

在<h1>标签中显示博客标题

<h1><?php bloginfo('name'); ?></h1>

显示字符集

显示用户博客所使用的字符集(如:utf-8)

Character set: <?php bloginfo('charset'); ?>

显示博客说明

显示用户在设置>常规中设定的博客标语

<?php bloginfo('description'); ?>

参数

注意其中的目录URL中没有结尾斜线。

admin_email = admin@example

atom_url = http://example/home/feed/atom
charset = UTF-8
comments_atom_url = http://example/home/comments/feed/atom
comments_rss2_url = http://example/home/comments/feed
description = Just another WordPress blog
url = http://example/home
html_type = text/html
language = en-US
name = Testpilot
pingback_url = http://example/home/wp/xmlrpc.php
rdf_url = http://example/home/feed/rdf
rss2_url = http://example/home/feed
rss_url = http://example/home/feed/rss
siteurl = http://example/home
stylesheet_directory = http://example/home/wp/wp-content/themes/default
stylesheet_url = http://example/home/wp/wp-content/themes/default/style.css
template_directory = http://example/home/wp/wp-content/themes/default
template_url = http://example/home/wp/wp-content/themes/default
text_direction = ltr
version = 3.8.1
wpurl = http://example/home/wp

相关函数

get_bloginfo()