提高WordPress安全性的十个要点(下)

      安全是永恒的话题,在互联网上更是如此,本文将为大家介绍10个小诀窍来提高WordPress博客的安全性。昨天介绍了前5个,今天继续后5个。

6.防止图片盗链。


大多数虚拟主机和VPS都是限制流量的,而图片往往会消耗绝大部分流量。我们在希望自己文章被更多人访问和传播的同时又不得不去面对图片链接带来的巨大流量。所以防止图片外链是绝对必要的。

解决:修改 .htaccess 文件添加以下代码,之前一定记得备份。

RewriteEngine On
#Replace ?mysite\.com/ with your blog url
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]
RewriteCond %{HTTP_REFERER} !^$
#Replace /images/nohotlink.jpg with your "don't hotlink" image url
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]
 

修改完成之后只有你的网站可以引用图片,而其他外部引用都会被替换为nohotlink.jpg 文件。你可以在nohotlink.jpg 里展示版权信息。当然你也可以指定替换为一个不存在的文件。

 

7.创建一个插件来阻止恶意请求。


黑客往往使用恶意查询来修着博客的薄弱点用来攻击,虽然WordPress自身有比较完善的防护机制,但也不是没有提高的余地。

解决:创建一个文本文件粘贴以下代码,并保存为 blockbadqueries.php 。上传到你博客的wp-content/plugins文件夹下,进入后台开启这个插件。

<?php
/*
Plugin Name: Block Bad Queries
Plugin URI: http://perishablepress.com/press/2009/12/22/protect-wordpress-against-malicious-url-requests/
Description: Protect WordPress Against Malicious URL Requests
Author URI: http://perishablepress.com/
Author: Perishable Press
Version: 1.0
*/

global $user_ID;

if($user_ID) {
if(!current_user_can('level_10')) {
if (strlen($_SERVER['REQUEST_URI']) > 255 ||
strpos($_SERVER['REQUEST_URI'], "eval(") ||
strpos($_SERVER['REQUEST_URI'], "CONCAT") ||
strpos($_SERVER['REQUEST_URI'], "UNION+SELECT") ||
strpos($_SERVER['REQUEST_URI'], "base64")) {
@header("HTTP/1.1 414 Request-URI Too Long");
@header("Status: 414 Request-URI Too Long");
@header("Connection: Close");
@exit;
}
}
}
?>

修改后如果有过长请求(超过255个字符)或者URI中存在PHP函数就会返回一个414错误。

 

8.删除你的WordPress版本号,切记!


WordPress会在头文件里显示版本号。告诉攻击者你版本号往往意味着他们可以少走很多弯路,为了不让他们长驱直入为什么不隐藏版本号呢?

解决:粘贴如下代码至 functions.php 文件,保存并刷新你的博客。

remove_action('wp_head', 'wp_generator');

现在看,是不是没有版本号了。

 

9.修改默认管理员名。


蛮力攻击是破解一个密码最简单的办法之一。 该方法很简单:尽可能多的尝试不同的密码。如果他们知道的用户名,他们只需要破解密码。 这就是为什么你应该改变默认的“管理员”用户名——“admin”的原因。请注意,WordPress的3.0版本会让您选择您想要的默认用户名。 但是这个方法依然适合3.0以前的版本。

解决:打开数据库执行如下SQL语句,“Your New Username”为你想修改的用户名。

UPDATE wp_users SET user_login = 'Your New Username' WHERE user_login = 'Admin';

修改后使用新的管理员名户名登陆。

 

10.防止目录浏览。


默认情况下,大多数主机允许目录列表。 因此,如果在浏览器的地址栏键入www.yourblog.com/wp-includes,就会看到在该目录下的所有文件。 这无疑是一个安全风险,因为黑客可以看到上一次进行了修改的文件并访问它们。

解决:修改 .htaccess 文件添加以下代码,之前一定记得备份。

Options -Indexes

注意修改后并不会影响用户正常的访问这些文件。

via:smashing

 

(本文原创翻译,转载请注明:出自小耳朵博客www.littlear.com

 免费天气预报短信??去看看

yalon的评论:

博主队wp很了解 怎么还用zblog啊

niuniu52220的评论:

RSS里面还会显示wp版本号哦?

timberlandboots的评论:

学到了,谢谢啊。

国庆400电话的评论:

我的网站,pr为2 ,是商业网站,非博客 o 主要是做400电话申请办理业务的,做400免费电话的。要求与贵站做友情链接。如果有意做友情链接,做完我的链接,请QQ联系通知我515246540 china Great Wall of solar energy
域名是http://shanhairail.inf

刘新宇的评论:

恩 我就是用的WP3.0 好像现在可以自定义管理员了!不再是admin

两小乱猜的评论:

给博友们提供一个Gtalk博客讨论群 group808080@gtalk.com
littlear 于 2010-7-4 10:26:05 回复
已加。

发表评论:

网站分类

最新评论及回复

文章归档