PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

如何提升wordpress的安全性

尚
原创
2019-07-13 16:00:54 1754浏览

无论你的网站规模是大还是小,丢失站点数据,或是无法管理你自己的站点,都会让你神经紧绷。wordpress驱动着全世界25%的web,对于黑客来说,wordpress网站是他们最重要的目标之一。

 

在这篇文章中,我们将会讨论一些加强WordPress安全性的小tip。

 

1. Bcrypt密码散列

WordPress成立于2003年,那时PHP和Web还刚刚起步。那时候Facebook还没有出现,PHP还没有OOP架构;因此,今天WordPress的安全性已经稍显过时,例如其密码加密的方式。

 

如今WordPress还在使用MD5散列。基本上说,它只是把123456变成这样:e10adc3949ba59abbe56e057f20f883e。

 

然而,如今的计算机比10年前要复杂精密的多,因此这样的密码可以被轻易攻破。

 

自从5.5版本之后,PHP有了本地的加密方式,如果你的WordPress网站,所使用的PHP版本高于5.5,你可以使用这个功能。

 

你可以安装Composer或是MU-Plugins插件,重新保存你的密码。

 

2. 启用WordPress.com防护

Brute-force是黑客最常用的密码破解方式。因此,你需要设定一些非常难猜的密码。

 

WordPress.com的母公司Automattic收购了一个非常流行的防brute-force插件。这个插件的名字叫BruteProtect,它如今已经被整合到Jetpeck里面了。

 

事实证明,这个插件的防护效率非常好。

首先,你需要安装最新版本的Jetpack,然后将你的网站连接至WordPress.com。之后打开防护模块,将你自己的IP添加到白名单中。

1.jpg

之后,你的网站就更加安全了。

3. 隐藏登录URL

谁都知道,要想登录WordPress后台,你只需要在域名后面加上wp-login.php,不仅你知道,黑客也知道。因此,你需要隐藏你的登录URL,让这个URL只对你开放。

 

幸运的是,你可以通过一些简单的插件来实现这个目的:

1) iThemes Security

2) WPS Hide Login

1.jpg

4. 关闭“忘记密码”

“忘记密码”功能能让你通过其他方式找回你的密码,但是黑客们也可以通过这个方式来获取你的密码。因此,你最好关闭这个功能。

我们需要创建一个新的文件并且上传,将其命名为forget-password.php。

 

首先,我们要更改丢失密码的URL:

function lostpassword_url() {
return site_url( 'wp-login.php' );
}
add_filter( 'lostpassword_url','lostpassword_url' );

移除链接。但是,WordPress本身并不支持这个操作,因此我们需要使用JavaScript。

function lostpassword_elem( $page ) { ?>
<script type="text/javascript">
(function(){
var links = document.querySelectorAll( &#39;a&#39; );
for (var i = links.length - 1; i >= 0; i--) {
if ( links[i].innerText === "Lost your password?" ) {
links[i].parentNode.removeChild( links[i] );
}
};
}());
</script>
<?php }
add_action( &#39;login_footer&#39;, &#39;lostpassword_elem&#39; );

最后,将“丢失密码”的URL重定向到登录页。

function lostpassword_redirect() {
if ( isset( $_GET[ &#39;action&#39; ] ) ){
if ( in_array( $_GET[ &#39;action&#39; ], array( &#39;lostpassword&#39;, &#39;retrievepassword&#39; ) ) ) {
wp_redirect( &#39;/wp-login.php&#39;, 301 );
exit;
}
}
}
add_action( &#39;init&#39;,&#39;lostpassword_redirect&#39; );

 

5. 启用HTTPS

HTTPS为你的站点提供了多一层的防护,而且还能提升你在搜索引擎中的排名。现在你可以通过 Let’s Encrypt这个项目免费获得HTTPS证书。

 

对于WordPress网站来说,你可以使用WP Encrypt轻松使用这个证书。我建议你现在就去是用HTTPS。

更多wordpress相关技术文章,请访问wordpress教程栏目进行学习!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。