构建安全的 WordPress 涉及到很多方面的东西:
首先要及时修补服务器的安全漏洞。
做好做一步之后,不要给 WordPress 设置过于简单的管理员密码,比如123456,大部分安全的问题,都是密码过于简单造成的。
如果上面两步都处理完之后,我们还需要从程序方面加强 WordPress 的安全性,今天这篇文章就把这方面的文章总结一下:
防止用户名暴露
因为默认情况下 WordPress 用户的 user_nicename
和 user_login
是一样的,这样只要通过下面三个方法猜测到 user_login
,然后就可以暴力破解。
1. 作者的文章列表链接是:https://www.yiricheng.cn/author/superdenis/
,其中的 superdenis
是user_nicename
。
2. 在 body 的 class 中,如果当前用户的作者页,也会出现用户的 user_nicename
。
3. 和 comment 的 class 中,如果留言的用户也是当前站点的用户,也会出现用户的 user_nicename
。
怎么处理呢?
修改 user_nicename,「WPJAM #用户管理插件#」在 WordPress 后台提供修改的 user_nicename
的功能
或者通过自定义代码设置使得:user_login
不出现在作者的文章列表链接中,也不出现在 body_class
和 comment_class
中。具体的代码参考:WordPress 安全第一步:防止用户名暴露。
隐藏登录失败的错误信息
默认情况下,在登录 WordPress 的时候,如果输入的用户名不存在,WordPress 会报「未知用户名」的错误,如果用户名正确,密码错误的话,WordPress 会报「密码不正确」的错误:
这样是存在一定的安全隐患的,首先让暴力破解知道快速定位用户名,确定了用户名,只需要给他时间,就可以开始暴力破解了。所以最好统一改成:「用户名或者密码错误」的错误信息,让猜去吧。
限制登录次数,防止暴力破解
WordPress 的一个重大的安全隐患就是 WordPress 没有防止暴力破解的功能,在登录界面,用户可以不停的登录尝试输入账号密码,直到暴力破解,如果密码不够复杂,破解的人如果被使用软件扫描的话,那么很快就会被破解的。
我们可已通过 Memcached 来记录失败登录的次数,超过一定次数之后就限制登录,需要等待一段时间之后才能再次登录。
一日程新手WP建站指南(https://www.yiricheng.cn/),为广大编程爱好者提供零基础快速搭建博客网站的方法,分享计算机网络、HTML、CSS、JavaScript、PHP、响应式设计以及Python自动化办公的博客文章,另有各类小工具、电子书、免费教程。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。