板邓:wordpress建站不得不知的安全防护(一)
WordPress起初是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的,用户可以在支持PHP和MySQL数据库的服务器上使用自己的Blog。
用wordpress搭建好博客以后需要做一些防护工作:
1.选择安全可靠的主机
谨慎选择一款安全可靠的主机,不要使用免费主机和劣质主机。免费主机只适合用来学习程序和建站方法,但是倡萌一直不建议使用免费主机来托管正式上线的网站。当然了,最好也不要使用那些特别廉价,管理经验不足的主机商的服务。
2.升级到WordPress最新版
只从WordPress官方下载源码,不要到第三方网站下载。尽可能升级到WordPress最新版,及时修补程序漏洞,包括WordPress核心源码、WordPress主题以及WordPress插件。
3.使用官方WordPress主题和插件
这里所说的官方,一是WordPress官方,二是主题或插件开发者的官方,尽量避免使用“破解”版主题、插件,慎用网上传播的原本是收费,但是被人恶意提供免费下载的主题、插件。
4.修改数据库默认前缀wp_
很多朋友安装WordPress都没有修改数据库前缀,如果你打算修改默认的前缀wp_,请根据如何修改WordPress数据库前缀来修改。
5.修改默认的用户名admin
WordPress3.*以上已经支持安装时自定义登录用户名,如果你使用默认的admin,建议你根据下面的方法进行修改:
方法一:后台新建一个用户,角色为管理员,然后使用新用户登录,删除默认的admin用户。
方法二:登录phpmyAdmin,浏览当前数据库的wp_users数据表,将user_login和user_nicename修改为新用户名。同时建议修改“我的个人资料”中的的昵称,然后设置“公开显示为”非用户名的其他方式:
6.使用高级密码,经常更换密码
建议使用含大写字母、小写字母、数字和其他符号的复杂密码,比如nuH4j&*aHG%dMz,避免使用生日、手机号、QQ号等。
7.隐藏WordPress版本信息
默认情况下会在头部输出WordPress版本信息,你可以在主题的functions.php最后一个?>前面添加:
//隐藏版本号
functionwpbeginner_remove_version(){
return'';
}
add_filter('the_generator','wpbeginner_remove_version');
8.修改wp-admin目录的访问权限
你可以通过限定IP地址访问WordPress管理员文件夹来进行保护,所有其他IP地址访问都返回禁止访问的信息。另外,你需要放一个新的.htaccess文件到wp-admin目录下,防止根目录下的.htaccess文件被替换。
9.定期备份网站数据
可以借助WordPress备份插件进行自动备份或手动备份:WordPress数据库定时备份插件:WordPressDatabaseBacku
使用WordPress自带导出导入功能备份和恢复网站
WordPress克隆/备份/搬家插件:WPClone
WordPress超强备份插件:BackWPup(支持FTP/Email/本地/网盘)
10.安装安全插件
WordPressFirewall2该插件可以帮助你识别/阻止一些有效的攻击,例如目录扫描、SQL注入、WP文件扫描、PHPEXE扫描等,并可将其定向到404或者首页。如果有问题还可以通过电子邮件通知你处理,还可以阻止一些IP的访问。
BetterWPSecurity由于大多数的WP网站存在插件漏洞、弱口令、过时的插件/程序,隐藏这些漏洞可以更好的保护网站,例如保护登录和管理区(控制面板?仪表盘?)。LoginLockdown这个插件可以记录失败的登录尝试的IP地址和时间,若是来自某一个IP地址的这种失败登录超过一定条件,那么系统将禁止这一IP地址继续尝试登录。
LimitLoginAttemptsLimitLoginAttempts限制登录尝试的次数来防止暴力破解,增强WordPress的安全系数。
WPSecurityScan该插件会自动按照以上的安全建议对WordPress进行安全扫描,查找存在的问题。
11.修改WordPress后台登录地址
将下面的代码添加到当前主题的functions.php文件:
//保护后台登录
add_action('login_enqueue_scripts','login_protection');
functionlogin_protection(){
if($_GET['word']!='press')header('Location:http://www.malayke.org/');
}这样一来,后台登录的唯一地址就是http://yoursite/wp-login.php?word=press,如果不是这个地址,就会自动跳转到http://www.malayke.org/,不信你试试!你可以修改第4行的Word、press和http://www.malayke.org/这三个参数。
12.避免WordPress泄露你的用户名
你有没有想过,如果你的网站的登陆名被别人知道了,偏偏他是一个比较精通WordPress的人,而且会写脚本暴力破解,那么后果就不堪设想。实际上,Wordpress这么一个漏洞,至今依然存在,并且常常会被黑客利用
想要知道WordPress的管理员用户名?很简单,只要在网站的域名后面加/?author=1就行了。
如果/?author=1显示404界面,那很可能是以前有过admin用户,后来站长发现用默认帐户admin太不安全了,就新建了一个管理员帐户,并删除了admin帐户。这种情况下,用/?author=2就能显示出用户名了。如果使用admin帐户,确实不安全,但是如果你的博客使用一个复杂的用户名,却经不起这么简单的一个URL的考验,这和使用admin帐户没有根本上的区别。既然存在漏洞,那么就要去填补它。要填补这个漏洞,倒还真的不是什么难事。我的思路就是,只要访问主页url后头有author参数就让他跳到主页
将下面的代码添加到当前主题的functions.php文件:
add_filter('author_link','my_author_link');
functionmy_author_link(){
returnhome_url('/');
}
呵呵,大家有没有发现这个思路上面修改WordPress后台登录地址是一样的原理?
至此,有了以上的防护工作,你辛辛苦苦搭建的wp博客就不会没那么容易的被黑阔光顾。