在众多强大网站架设的框架中,随着WordPress的日趋完善和成熟,WordPress成了很多人建站的选择,它强调了5分钟快速架站,无须任何程式概念,虽然WordPress也在完善自身安全性,而这么快速的开发,所需要的更是日后维护安全的细腻心,以下将介绍带领实现WordPress「基本的」安全设定!
※以下将预设为各位会架设简单的WordPress网站之情况(例:清楚如何编辑文字档,FTP使用等等)
1.架设网站前,在编辑wp-config.php这支档案时,把该填的填一填,另外填入金钥( 取得金钥 ),再将前缀字wp_,自行更改成较复杂的前缀字,这样的作法将提升我们资料库的安全性,不使用预设的前缀字,预防别人轻易取得我们的资料。
2.将readme.html删除,使用文字编辑器将
remove_action ( 'wp_head' , 'wp_generator' );
remove_action ( 'wp_head' , 'rsd_link' );
remove_action ( 'wp_head' , 'wlwmanifest_link' );
这三行贴到目前主题的functions.php(如:/wp-content/themes/twentyseventeen/functions.php)。
Readme.html这支档案会将我们WordPress的版本号透漏出来,别人若得知后,就可以更轻易地针对版本上的弱点去攻击,尽可能地去隐藏我们使用了哪些工具与版本号。以上三行程式码是将产生版本号及离线编辑器的metadata去除,后者是我们大部分时间不会用到的东西,留着也会有安全性上的疑虑,顺便一起关闭,安装完之后,创建新的admin帐号,并将原先用来登入的admin帐号删除,这和第一点的概念相同,不使用预设的东西,不让我们的网站这么好让人猜测。
3.在根目录下.htaccess中加入
Options - Indexes
< Files . htaccess >
order allow , deny
deny from all
</ Files >
< files wp - config . php >
order allow , deny
deny from all
</ files >
< IfModule mod_rewrite . c >
RewriteEngine On
RewriteBase /
RewriteRule ^ wp - admin / includes / - [ F , L ]
RewriteRule !^ wp - includes / - [ S = 3 ]
RewriteRule ^ wp - includes /[^/]+ .php$ - [ F , L ]
RewriteRule ^ wp - includes / js / tinymce / langs /.+ .php - [ F , L ]
RewriteRule ^ wp - includes / theme - compat / - [ F , L ]
</ IfModule >
RewriteEngine on
RewriteCond %{ HTTP_REFERER } !^ $
RewriteCond %{ HTTP_REFERER } !^ http ( s )?: //(www.)?yourwebsite.com [NC] RewriteRule . ( jpg | jpeg | png | gif ) $ http : //i.imgur.com/g7ptdBB.png [NC,R,L]
预防别人从浏览器上直接看到我们的目录结构,以及保护我们的.htaccess & wp-config.php & wp-includes目录中重要资讯不被他人存取,将yourwebsite.com改成我们网站的网域名称,这可以避免他人取用我们的图片连结给别的网站使用而增加我们网站的流量
4.在wp-content目录中建立.htaccess 并贴上
Order deny , allow
Deny from all
< Files ~ ".(xml|css|jpe?g|png|gif|js)$" >
Allow from all
</ Files >
只允许上传xml、css、jpg、jpeg、png、gif、javascript等类型档案,这样骇客就无法上传像是邮件程式到我们的网站上,利用我们的资源发送垃圾信件。
5.隐藏后台登入路径
预设的路径是login或wp-admin就会导到登入页面,如果没有改掉,骇客就很容易暴力破解我们的网站了,方法很简单,在functions.php里面加一段代码:
//保护后台登录
add_action('login_enqueue_scripts','login_protection');
function login_protection(){
if($_GET['key'] != 'mima') header('Location: http://www.wzxiu.com/404.php');
}
这边更改掉我们登入的网址,改得越复杂,骇客就越不想花时间去猜,以及如果在网址列输入wp-login将会被导向404错误代码,
wordpress前网站的登录链接是这样的:www.yourdomain.com/wp-login.php这个链接所有人都知道,所以不够安全。
wordpress后网站的登录链接就变成了这样:www.yourdomain.com/wp-login.php?key=mima
6.更改档案权限
我们可以透过FTP软体直接对我们的档案做权限上的设定,wp-config.php这支特别重要的档案建议设定成640,不让别人读取甚至写入,其他档案夹设定为755,文件则设成664,上述这些设定都是一般,建议的,而实际上还是要看需求去设定这些权限。
以上就是这次提升WordPress安全性的几个方法,如果都设定完了,我们的WordPress网站就有了一定的防御工事,希望你能收获一些东西,能够大大降低骇客入侵我们网站的欲望,往后我们将继续对于安全性设定有更深的探讨!