- 1. 清理你的 WordPress 中未使用的主题和插件
- 2. 使用最新的 WordPress 插件和主题
- 3. 更改 WordPress 表前缀
- 4. 使用 SSH2 (SFTP) 连接进行 WordPress 升级
- 5. 在 WordPress 上安装 SSL 证书
- 6. 备份你的 WordPress 网站
- 7. 保护.htaccess
- 8. 保护 wp-config.php
- 9. 配置 .htaccess 以防止目录浏览
- 10. 保护 WordPress 管理员
- 11. 在 wp-config.php 中设置 WordPress 安全密钥
- 12. 使用 HTTPS 登录你的仪表盘
- 13. 删除不活跃的用户账户
- 14. 使用电子邮件作为登录的用户名
- 15. 防止脚本注入
- 16. 使用复杂度高的密码
- 17. 限制失败的 WordPress 登录尝试
- 18. 删除/伪装登录错误消息
- 19. 隐藏 WordPress 版本号
- 20. 更改默认的 WordPress 登录/密码
- 21. 阻止搜索引擎蜘蛛索引管理员部分
- 22. 设置WordPress 自动更新
- 23. 首先在暂存环境中验证更新
- 24. 卸载不活跃的插件和主题
- 25. 使用正确的(限制性)文件权限
- 26. 禁用内置文件编辑器
- 27. 禁用 WordPress 中的 XML-RPC
- 28. 在 WordPress 中安装 Google reCAPTCHA
- 总结
1. 清理你的 WordPress 中未使用的主题和插件
为什么要清理?
清理 WordPress 安装是维护网站安全性和性能的重要步骤。未使用的文件和插件可能会成为安全漏洞,占用服务器空间,并可能影响网站的加载速度。
具体步骤
- 删除未使用的 WordPress 版本
- 确保服务器上只保留当前使用的 WordPress 版本,删除所有旧版本。
- 删除未使用的主题
- 删除所有未使用的主题,只保留当前使用的主题。未使用的主题可能包含漏洞,成为攻击者的目标。
- 删除未使用的插件
- 删除所有未激活或未使用的插件。未使用的插件可能会引入安全风险,并且占用服务器资源。
- 删除未使用的文件
- 删除所有未使用的媒体文件、备份文件、临时文件等。这些文件不仅占用空间,还可能包含敏感信息。
- 删除未使用的用户账户
- 删除或禁用不再使用的用户账户。未使用的账户可能会被攻击者利用进行恶意操作。
保持服务器干净
- 定期检查和清理:定期检查服务器上的文件和安装,删除不再需要的项目。
- 遵循“删除,删除,删除”原则:对于不需要的文件或安装,坚决删除,保持服务器清洁。
2. 使用最新的 WordPress 插件和主题
为什么要使用最新的插件和主题?
因为使用最新的 WordPress 插件和主题是确保网站安全性和功能性的必要操作。未更新到最新版本的插件和主题可能包含已知的安全漏洞,容易受到攻击。
具体步骤
- 定期更新插件和主题
- 确保所有插件和主题都更新到最新版本。开发者通常会在新版本中修复已知的安全漏洞和性能问题。
- 使用官方 API
- 使用WordPress提供的官方 API 来安装和管理插件和主题,避免直接操作和篡改。
- 选择安全的插件和主题
- 在选择插件和主题时,考虑其安全性。选择那些有良好声誉和定期更新的插件和主题。
- 避免使用破解版主题
- 不要使用破解版或未经授权的主题。这些主题可能包含恶意代码,会损害你的网站安全。
- 检查主题是否包含恶意软件
- 在安装主题之前,使用安全工具检查主题是否包含恶意软件。确保主题完全安全,不会影响 WordPress 主题的安全性。
重要性
- 减少安全风险:大约 30% 的攻击是由于未更新的插件和主题引起的。因此,及时更新是减少安全风险的重要措施。
- 保持功能性:更新插件和主题可以确保它们与最新版本的 WordPress 兼容,保持网站的功能性。
3. 更改 WordPress 表前缀
为什么要更改表前缀?
WordPress 默认的数据库表前缀是 wp_
。这个前缀是公开的,黑客也知道这个前缀。更改表前缀可以增加网站的安全性,防止 SQL 注入攻击。

具体步骤
- 修改表前缀
- 在安装 WordPress 时,手动更改数据库表前缀。如果你已经安装了 WordPress,可以通过登录SSH的方式登录到网站后台或者直接文件管理功能找到网站后台文件wp-config.php来更改表前缀。
- 通过后台或者文件管理功能更改表前缀
- 使用各类服务提供商提供的文件管理功能来轻松地将数据库默认前缀,通过修改wp-config.php文件中的wp_后缀来提供网站的安全性,更改方式是打开wp-config.php文件将
$table_prefix = ‘wp_’;
中的wp_更改为其他后缀,例如此处我更改为feno_后缀 。
- 使用各类服务提供商提供的文件管理功能来轻松地将数据库默认前缀,通过修改wp-config.php文件中的wp_后缀来提供网站的安全性,更改方式是打开wp-config.php文件将
重要性
- 增加安全性:更改表前缀可以防止黑客利用已知的默认前缀进行 SQL 注入攻击。
- 提高防护:通过更改表前缀,你可以使你的网站更难以被攻击,增加一层安全防护。
4. 使用 SSH2 (SFTP) 连接进行 WordPress 升级
为什么要使用 SSH2 (SFTP) 连接?
使用 SSH2 (SFTP) 连接进行 WordPress 升级比传统的 FTP 连接更加安全。SSH2 (SFTP) 连接通过加密所有数据传输,提供了更高的安全性。
具体步骤
- 配置 SSH2 (SFTP) 连接
- 在服务器上配置 SSH2 (SFTP) 连接,确保所有文件传输都通过加密通道进行。
- 使用 SSH SFTP Updater Support 插件
- 使用 SSH SFTP Updater Support 插件,该插件使用 phpseclib 库,是利用 SSH、SFTP、RSA 和 X.509 的最佳方式。
重要性
- 数据加密:SSH2 (SFTP) 连接通过加密所有数据传输,防止数据在传输过程中被窃取或篡改。
- 提高安全性:相比传统的 FTP 连接,SSH2 (SFTP) 连接提供了更高的安全性,减少了被攻击的风险。
5. 在 WordPress 上安装 SSL 证书
为什么要安装 SSL 证书?
SSL(安全套接层)是保护 WordPress 管理面板的最佳选项之一。SSL 证书使你的网站难以被黑客伪造信息,并能提高你的 WordPress 网站在 Google 搜索结果中的排名。
具体步骤
- 购买 SSL 证书
- 从提供此服务的知名公司购买 SSL 证书。
- 登录托管提供商
- 登录你的网站托管提供商,并导航到 SSL 安装页面。
- 安装 SSL 证书
- 按照提供的说明安装 SSL 证书到你的 WordPress 网站。
重要性
- 提高安全性:SSL 证书通过加密数据传输,防止黑客窃取或篡改信息。
- 提升排名:Google 最近宣布使用 HTTPS 作为排名信号,因此启用 SSL 的网站在搜索结果中排名更高。
- 安全登录:安装 SSL 证书后,用户可以通过 HTTPS 安全登录。
6. 备份你的 WordPress 网站
为什么要备份?
尽管备份在应对 WordPress 黑客攻击时可能没有直接帮助,但它们对于恢复你的 WordPress 网站非常有用。在清理后,你可能需要从备份中恢复 WordPress 网站。
具体步骤
- 定期备份
- 确保在网站出现问题之前定期备份。你的整个网站内容都存储在数据库中,因此备份至关重要。
- 手动备份
- 用户可以手动备份 WordPress 数据库,包括所有内容和设置。
- 使用插件备份
- 使用备份插件(如 :UpdraftPlus)来自动备份你的网站。这些插件通常提供一键备份和恢复功能。
重要性
- 数据恢复:备份可以帮助你在网站出现问题时快速恢复数据,减少停机时间和数据丢失。
- 安全保障:定期备份可以确保你的网站在遭受攻击或出现故障时能够迅速恢复正常运行。
7. 保护.htaccess
为什么要保护 .htaccess?
.htaccess
文件用于为特定目录指定 WordPress 安全限制,是目录级配置的默认名称。保护 .htaccess
文件可以防止黑客通过篡改该文件来攻击你的网站。
具体步骤
- 添加安全代码
- 将以下代码添加到域名根目录的
.htaccess
文件中,以增强安全性。
- 将以下代码添加到域名根目录的
# Strong Htaccess Protection
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>
重要性
- 防止篡改:通过保护
.htaccess
文件,可以防止黑客篡改该文件以获取对网站的控制权。 - 增强安全性:
.htaccess
文件中的安全设置可以进一步增强网站的安全性,防止未经授权的访问。
代码解释
- Files ~ “^.*\.([Hh][Tt][Aa])”:匹配所有以
.hta
结尾的文件。 - order allow,deny:设置访问顺序,先允许后拒绝。
- deny from all:拒绝所有来源的访问。
- satisfy all:所有条件都必须满足。
8. 保护 wp-config.php
为什么要保护 wp-config.php?
wp-config.php
文件是网站根目录中最重要的配置文件之一,存储了关于 WordPress 博客的关键信息。保护 wp-config.php
文件意味着你在保护博客的核心,使黑客更难以从你的网站获取信息,因为它变得对他们不可访问。
具体步骤
- 添加安全代码
- 将以下代码添加到根目录的
.htaccess
文件中,以保护wp-config.php
文件。
- 将以下代码添加到根目录的
# Protect wp-config.php
<files wp-config.php>
Order deny,allow
Deny from all
</files>
重要性
- 防止篡改:通过保护
wp-config.php
文件,可以防止黑客篡改该文件以获取对网站的控制权。 - 增强安全性:
wp-config.php
文件中的安全设置可以进一步增强网站的安全性,防止未经授权的访问。
代码解释
- Files wp-config.php:匹配
wp-config.php
文件。 - Order deny,allow:设置访问顺序,先拒绝后允许。
- Deny from all:拒绝所有来源的访问。
9. 配置 .htaccess 以防止目录浏览

AllowOverride 选项的含义
AllowOverride None参数说明
AllowOverride None
表示在指定的目录(如 /var/www
)中,.htaccess
文件中的指令将被忽略。这意味着在该目录及其子目录中,.htaccess
文件中的任何配置都不会生效。
具体含义
- 忽略 .htaccess 文件:在
/var/www
目录中,.htaccess
文件中的所有指令都将被忽略。
- 提高性能:由于不需要读取和解析
.htaccess
文件,可以提高服务器的性能。
- 集中管理:所有配置都集中在主配置文件(如
httpd.conf
)中,便于管理和维护。
AllowOverride All参数说明
AllowOverride All
表示在指定的目录(如 /var/www/html
)中,.htaccess
文件中的所有指令都将被允许并生效。这意味着在该目录及其子目录中,.htaccess
文件中的配置将覆盖主配置文件中的设置。
具体含义
- 允许 .htaccess 文件:在
/var/www/html
目录中,.htaccess
文件中的所有指令都将被允许并生效。
- 灵活配置:允许在特定目录中使用
.htaccess
文件进行灵活的配置,而不需要修改主配置文件。
- 降低性能:由于需要读取和解析
.htaccess
文件,可能会稍微降低服务器的性能。
配置示例
在 httpd.conf
或 apache2.conf
文件中,你可以看到类似以下的配置:
<Directory "/var/www">
AllowOverride None
</Directory>
<Directory "/var/www/html">
AllowOverride All
</Directory>
解释
- /var/www:在这个目录中,
.htaccess
文件中的指令将被忽略。 - /var/www/html:在这个目录中,
.htaccess
文件中的所有指令都将被允许并生效。
通过这种方式,你可以在需要灵活配置的目录中使用 .htaccess
文件,而在不需要的目录中忽略 .htaccess
文件,以提高性能和安全性。
为什么要防止目录浏览?
防止目录浏览是 WordPress 安全的一个重要方面。允许目录浏览可能会暴露网站的目录结构,使黑客更容易找到敏感文件和目录。
具体步骤
- 添加安全代码
- 将以下代码添加到根目录的
.htaccess
文件中,以防止目录浏览。
- 将以下代码添加到根目录的
# Prevent Directory Browsing
Options All -Indexes
重要性
- 隐藏目录结构:通过防止目录浏览,可以隐藏网站的目录结构,减少黑客获取敏感信息的机会。
- 增强安全性:防止目录浏览可以进一步增强网站的安全性,防止未经授权的访问。
代码解释
- Options All -Indexes:禁用所有目录索引,防止目录浏览。
10. 保护 WordPress 管理员
为什么要保护 WordPress 管理员?
wp-admin
目录是 WordPress 网站的重要部分。任何对这个部分的损害都可能损害整个网站。为了保护 WordPress 管理员免受黑客攻击,确保对该目录进行密码保护。你还可以对 WordPress 网站的特定页面进行密码保护。
具体步骤
- 密码保护 wp-admin 目录
- 使用密码保护
wp-admin
目录,确保只有授权用户可以访问。
- 使用密码保护
- 限制访问
- 使用
.htaccess
文件限制只有特定 IP 地址可以访问wp-admin
目录。
- 使用
代码示例
将以下代码添加到 wp-admin
目录中的 .htaccess
文件中:
# deny access to wp admin
Order deny,allow
Allow from xx.xx.xx.xx # (This is your static IP)
deny from all
重要性
- 防止未经授权的访问:通过限制只有特定 IP 地址可以访问
wp-admin
目录,可以防止未经授权的访问。
- 增强安全性:密码保护和 IP 限制可以进一步增强网站的安全性,防止黑客攻击。
代码解释
- Order deny,allow:设置访问顺序,先拒绝后允许。
- Allow from xx.xx.xx.xx:允许特定 IP 地址访问。
- deny from all:拒绝所有其他 IP 地址的访问。
11. 在 wp-config.php 中设置 WordPress 安全密钥
为什么要设置 WordPress 安全密钥?
在 wp-config.php
中设置 WordPress 安全密钥是防止博客被黑客攻击的重要安全措施。这些密钥确保用户数据得到更好的加密。
具体步骤
- 生成安全密钥
- 使用 WordPress 密钥生成器生成密钥。
- 替换密钥
- 将生成的密钥替换到
wp-config.php
文件中的相应位置。
- 将生成的密钥替换到
代码示例
将以下代码添加到 wp-config.php
文件中:
define('AUTH_KEY', '1NBRyw^%9-_dLwJx~I]Uus*V]+ X+0*88feKk~}FrD|YIdE8m#|<m+6~&iUz^O:a');
define('SECURE_AUTH_KEY', '`rQc/+Vh[zw=I~r[;tBp0ypZ|L>hmIyjPLwma^AjH~s-*pNxrGt[?*b*s;`Ph<[8');
define('LOGGED_IN_KEY', '{V8Du##ttk`!6yjvy,=i=ln_=Kb0*>&=lik&huEX/Q0G3@ZCyDXVW)|_h~&j(Cq8');
define('NONCE_KEY', 'b@qoa:vkyCpJg]o^t+>X%B$>/Cy}^V6i|$HkuE)2XBkRW=az${EhEf!Y;a.x1|oz');
define('AUTH_SALT', '4E2jChyX&PDL-NX:R9wouvPYW@j}Cs%FI<]EMl={ok##Ud6Pd,9KZ+WF+#v-Alz-');
define('SECURE_AUTH_SALT', 'G1rVO}U[-d[Si:^kN>}}A| O@}?[f-:b7P?7>]{:V7%ZW3TvpH+S2{MtYy<fBxCL');
define('LOGGED_IN_SALT', 'i/pA=*JX_51o9RX@Sqss-+zuR/O{uwbm>ODj|.6Zt?BLx(JS-tUX6&II]yDQ{*7T');
define('NONCE_SALT', 'B&T7~#YZY9z 9xbWf2eNG=136.|Tz5xJMMr[iyLz>@b>SC}?-xZN4MK$aL#_){Me');
重要性
- 增强加密:安全密钥可以增强用户数据的加密,防止数据被窃取或篡改。
- 提高安全性:定期更新安全密钥可以进一步提高网站的安全性,防止黑客攻击。
代码解释
- AUTH_KEY:用于用户身份验证的密钥。
- SECURE_AUTH_KEY:用于安全身份验证的密钥。
- LOGGED_IN_KEY:用于登录状态的密钥。
- NONCE_KEY:用于防止跨站请求伪造(CSRF)的密钥。
- AUTH_SALT:用于用户身份验证的盐值。
- SECURE_AUTH_SALT:用于安全身份验证的盐值。
- LOGGED_IN_SALT:用于登录状态的盐值。
- NONCE_SALT:用于防止跨站请求伪造(CSRF)的盐值。
12. 使用 HTTPS 登录你的仪表盘
为什么要使用 HTTPS 登录?
HTTPS 是 HTTP 的安全版本。当你使用 HTTPS 时,你的数据将以加密形式发送,而不是明文。这使得黑客难以解码和拦截数据(如密码、用户名)。
具体步骤
- 启用 HTTPS 登录
- 在
wp-config.php
文件中添加以下代码,以强制使用 HTTPS 登录仪表盘。
- 在
define('FORCE_SSL_LOGIN', true);
重要性
- 数据加密:使用 HTTPS 可以确保数据在传输过程中被加密,防止数据被窃取或篡改。
- 提高安全性:强制使用 HTTPS 登录可以进一步提高网站的安全性,防止黑客攻击。
代码解释
- FORCE_SSL_LOGIN:定义为
true
时,强制使用 HTTPS 登录仪表盘。
通过在 wp-config.php
中添加 define('FORCE_SSL_LOGIN', true);
代码,你可以确保在登录仪表盘时使用 HTTPS,从而显著提高网站的安全性,减少潜在的安全风险。
13. 删除不活跃的用户账户
为什么要删除不活跃的用户账户?
不活跃的用户账户可能对你的网站构成安全威胁。最好的做法是删除 WordPress 中不活跃的用户账户。
具体步骤
- 访问 WordPress 仪表盘
- 登录到你的 WordPress 仪表盘。
- 进入用户管理页面
- 点击左侧菜单中的“用户”选项,这将带你到用户列表页面。
- 删除不活跃的用户账户
- 在用户列表页面中,找到并删除那些不活跃的用户账户。
重要性
- 减少安全风险:删除不活跃的用户账户可以减少潜在的安全风险,防止这些账户被黑客利用。
- 简化管理:删除不活跃的用户账户可以简化用户管理,减少不必要的账户。
14. 使用电子邮件作为登录的用户名
为什么要使用电子邮件作为登录的用户名?
当你打开 WordPress 网站时,通常需要输入用户名来登录账户。使用电子邮件作为登录比使用用户名更安全,可以避免你的网站被黑客攻击。
默认情况下,在网站起初新建的期间,配置用户名的时候就可以设置用户名为一个邮箱地址,如果此时没有设置成邮箱地址,可以添加一个管理员账户然后添加的时候使用邮箱即可。
重要性
- 提高安全性:使用电子邮件作为登录可以提高网站的安全性,因为电子邮件地址通常比用户名更难猜测。
- 防止暴力破解:电子邮件地址的唯一性可以防止暴力破解攻击。
15. 防止脚本注入
为什么要防止脚本注入?
脚本注入是一种常见的攻击方式,黑客通过在 URL 或表单中插入恶意脚本来攻击网站。防止脚本注入可以保护你的 WordPress 博客免受不必要的修改和攻击。
具体步骤
- 添加安全代码
- 将以下代码添加到根目录的
.htaccess
文件中,以防止脚本注入。
- 将以下代码添加到根目录的
# protect from sql injection
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]
重要性
- 防止 SQL 注入:通过防止 SQL 注入,可以保护数据库免受恶意查询的攻击。
- 增强安全性:防止脚本注入可以进一步增强网站的安全性,防止黑客攻击。
代码解释
- Options +FollowSymLinks:启用符号链接跟随。
- RewriteEngine On:启用重写引擎。
- RewriteCond %{QUERY_STRING} (\<|%3C).*script.*(\>|%3E) [NC,OR]:检测查询字符串中是否包含
<script>
标签。 - RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]:检测查询字符串中是否包含对
GLOBALS
变量的非法访问。 - RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2}):检测查询字符串中是否包含对
_REQUEST
变量的非法访问。 - RewriteRule ^(.*)$ index.php [F,L]:如果满足上述条件,则禁止访问并重定向到
index.php
。
16. 使用复杂度高的密码

为什么要使用复杂度高的密码?
强密码是保护你的 WordPress 网站的第一层防护。使用小写字母、大写字母、特殊字符和数字来设置强密码,可以有效防止黑客通过暴力破解攻击你的账户。
具体步骤
- 创建强密码
- 使用小写字母、大写字母、特殊字符和数字来创建强密码。
强密码的基本要求
- 包含数字、大写字母、特殊字符(如 @, #, * 等)
- 可以包含空格,形成密码短语
- 每 90 天或 3 个月更换一次密码
- 长度至少 10 个字符,理想情况下 50 个字符
17. 限制失败的 WordPress 登录尝试
为什么要限制失败的登录尝试?
限制失败的登录尝试可以防止用户使用暴力破解技术攻击你的 WordPress 网站。暴力攻击是通过尝试每一种可能的密码组合来获取用户密码的攻击方式。
具体步骤
- 限制登录尝试
- 使用插件(如:Limit Login Attempts Reloaded)来限制失败的登录尝试次数。
- 实施双重认证
- 在 WordPress 登录页面实施双重认证(如 Google Authenticator),增加额外的安全层。
- 添加 HTTP 认证
- 在 WordPress 登录页面添加 HTTP 认证,进一步增强安全性。
插件推荐
- Limit Login Attempts Reloaded:这个插件可以限制失败的登录尝试次数,防止暴力破解攻击。
- Google Authenticator:这个插件提供双重认证功能,增加登录安全性。
18. 删除/伪装登录错误消息
为什么要删除/伪装登录错误消息?
当你在 WordPress 登录页面输入错误的用户名和密码组合时,错误消息会提示你哪里出错了。例如,如果你输入了错误的用户名和密码,错误消息会说“错误:你输入的用户名或密码不正确”。然而,如果你输入了正确的用户名但错误的密码,错误消息会说“错误:你输入的密码不正确”。
这对黑客来说是个非常好的提示。如果你是黑客,你现在知道你有一个有效的用户名,只需要破解密码就可以,而无效再花费很多事件去猜测有效的用户名。因此,最好始终保持第一个错误消息,即“错误:你输入的用户名或密码不正确”。
具体步骤
- 删除/伪装错误消息
- 使用插件(如 :WP Cerber这款优秀的安全插件)来删除或伪装登录错误消息。
- 修改错误消息
- 通过修改 WordPress 核心文件或使用插件来修改错误消息,使其始终显示“错误:你输入的用户名或密码不正确”。
19. 隐藏 WordPress 版本号
为什么要隐藏 WordPress 版本号?
WordPress 版本号会显示在你的网站源代码中,这可能成为黑客的攻击目标。如果你的 WordPress 版本已知,黑客可能会轻松构建出完美的攻击技术。
具体步骤
- 隐藏版本号
- 使用插件(如:Security Optimizer)来隐藏 WordPress 版本号。
20. 更改默认的 WordPress 登录/密码
为什么要更改默认的 WordPress 登录/密码?
更改默认的 WordPress 登录(如 admin
)可以减少黑客尝试登录的机会。最好的做法是删除默认的管理员账户,并创建一个新的自定义登录账户。如果密码非常强,你的账户将更加安全。
具体步骤
- 删除默认管理员账户
- 登录到 WordPress 仪表盘,删除默认的管理员账户(如
admin
),这个情况一般出现在老版本,或者是没有经验的用户在搭建网站,进行初始化的时候设置的,现在最新版本一般都会提示不要设置admin等场景用户。
- 登录到 WordPress 仪表盘,删除默认的管理员账户(如
- 创建新账户
- 创建一个新的管理员账户,并为其设置强密码。
- 分配权限
- 将新账户分配为管理员权限。
重要性
- 减少攻击面:删除默认的管理员账户可以减少黑客尝试登录的机会。
- 增强安全性:使用强密码和自定义登录账户可以进一步增强账户的安全性。
21. 阻止搜索引擎蜘蛛索引管理员部分
为什么要阻止搜索引擎蜘蛛索引管理员部分?
搜索引擎爬虫(如 Google)通常会爬取你的整个博客站点并索引其中的内容,除非你要求它们不要这样做。需要注意的是,用户不希望索引他们的管理员部分,因为所有敏感信息都放在那里。防止爬虫索引管理员部分的最简单方法之一是在根目录中创建一个 robots.txt
文件。
具体步骤
- 创建 robots.txt 文件
- 在网站的根目录中创建一个名为
robots.txt
的文件。
- 在网站的根目录中创建一个名为
- 添加阻止规则
- 将以下代码添加到
robots.txt
文件中,以阻止搜索引擎爬虫索引管理员部分和其他敏感目录。
- 将以下代码添加到
#
User-agent: *
Disallow: /cgi-bin
Disallow: /wp-admin
Disallow: /wp-includes
Disallow: /wp-content/plugins/
Disallow: /wp-content/cache/
Disallow: /wp-content/themes/
Disallow: */trackback/
Disallow: */feed/
Disallow: /*/feed/rss/$
Disallow: /category/*
重要性
- 保护敏感信息:阻止搜索引擎爬虫索引管理员部分可以保护敏感信息不被公开。
- 提高安全性:通过阻止爬虫索引敏感目录,可以进一步提高网站的安全性。
代码解释
- User-agent: *:适用于所有搜索引擎爬虫。
- Disallow: /cgi-bin:禁止索引
cgi-bin
目录。 - Disallow: /wp-admin:禁止索引
wp-admin
目录。 - Disallow: /wp-includes:禁止索引
wp-includes
目录。 - Disallow: /wp-content/plugins/:禁止索引
wp-content/plugins/
目录。 - Disallow: /wp-content/cache/:禁止索引
wp-content/cache/
目录。 - Disallow: /wp-content/themes/:禁止索引
wp-content/themes/
目录。 - Disallow: */trackback/:禁止索引所有
trackback/
目录。 - Disallow: */feed/:禁止索引所有
feed/
目录。 - Disallow: /*/feed/rss/$:禁止索引所有
feed/rss/
目录。 - Disallow: /category/:禁止索引所有
category/
目录。
22. 设置WordPress 自动更新
为什么要启用自动更新?
WordPress 3.7 引入了自动更新功能,可以自动安装 WordPress 的次要更新、安全插件和主题补丁。启用自动更新可以确保你的网站始终保持最新状态,减少安全漏洞。
具体步骤
- 启用自动更新
- 将以下代码添加到主题的
functions.php
文件中,以激活主题和插件的自动更新。
- 将以下代码添加到主题的
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );
重要性
- 保持最新状态:自动更新可以确保你的网站始终使用最新的 WordPress 版本、插件和主题,减少安全漏洞。
- 减少手动操作:自动更新可以减少手动更新的工作量,节省时间和精力。
代码解释
- add_filter( ‘auto_update_plugin’, ‘__return_true’ ):启用插件的自动更新。
- add_filter( ‘auto_update_theme’, ‘__return_true’ ):启用主题的自动更新。
23. 首先在暂存环境中验证更新
为什么要首先在暂存环境中验证更新?
为了安全起见,建议始终先在暂存站点上进行更新,并验证更新是否正常工作。这样可以确保在更新你的实时网站时不会出现意外问题,避免影响网站的正常运行。
具体步骤
- 创建暂存环境
- 在服务器上创建一个暂存环境,复制你的实时网站数据和文件。
- 在暂存环境中进行更新
- 在暂存环境中进行 WordPress 更新、插件更新和主题更新。
- 验证更新
- 在暂存环境中验证更新是否正常工作,确保没有错误或问题。
- 应用到实时网站
- 如果暂存环境中的更新验证通过,将更新应用到你的实时网站。
重要性
- 减少风险:在暂存环境中验证更新可以减少更新对实时网站的影响,避免出现意外问题。
- 确保稳定性:通过在暂存环境中测试更新,可以确保更新不会影响网站的正常运行。
24. 卸载不活跃的插件和主题
为什么要卸载不活跃的插件和主题?
入侵者总是寻找未使用的数据、不活跃的插件和主题。黑客可以利用不活跃插件和主题中的已知漏洞。不活跃的插件总是会收到更新提醒,这对正在运行的网站来说更加危险。
从现在开始,我们强烈建议删除不活跃的插件和主题。
具体步骤
- 检查不活跃的插件和主题
- 登录到 WordPress 仪表盘,检查并列出所有不活跃的插件和主题。
- 卸载不活跃的插件和主题
- 删除所有不活跃的插件和主题,确保网站只保留正在使用的插件和主题。
重要性
- 减少攻击面:删除不活跃的插件和主题可以减少黑客利用已知漏洞的机会。
- 提高安全性:通过删除不活跃的插件和主题,可以进一步提高网站的安全性。
25. 使用正确的(限制性)文件权限
为什么要使用正确的文件权限?
在 WordPress 中,管理员可以为文件分配读取、写入和修改的权限。他有权限制访问,以利用 WordPress 提供的内部安全性。严格分配文件权限是向黑客表明修改你的网站并不容易的一种方式。任何简单的技术都不会奏效。
三个数字指定文件权限,其中每个数字代表一个用户组以及该组可以执行的操作。
最左边的第一个组是“用户”(或“所有者”)权限,第二个是“组”权限,第三个组是“其他”权限。
简单来说,数字越高,用户拥有的权限越多。对于感兴趣的人,这里解释了不同数字的实际含义:
- 4 = 读取 (r)
- 2 = 写入 (w)
- 1 = 执行 (x)
- 0 = 无权限 (-)
读取 + 写入 + 执行 = 7
读取 + 写入 = 6
读取 + 执行 = 5
所有文件夹应设置为 755 或 750。
所有文件应设置为 644 或 640,除了 wp-config.php
应设置为 440 或 400,以防止其他人访问它。
永远不应将文件夹设置为 777,给予所有用户完全权限。这永远没有必要,因为 PHP 进程由文件所有者运行,因此它可以在 755 权限的文件夹中写入。
在“共享主机”环境中,严格分配文件权限至关重要,因为你与其他网站共享服务器。你必须确保保护你的文件不被与你共享网络空间的其他用户访问。
具体步骤
- 设置文件夹权限
- 将所有文件夹的权限设置为 755 或 750。
- 设置文件权限
- 将所有文件的权限设置为 644 或 640,除了
wp-config.php
应设置为 440 或 400。
- 将所有文件的权限设置为 644 或 640,除了
- 避免设置 777 权限
- 永远不要将文件夹设置为 777 权限,以防止所有用户拥有完全权限。
重要性
- 提高安全性:通过严格分配文件权限,可以进一步提高网站的安全性,防止未经授权的访问。
- 保护文件:在共享主机环境中,严格分配文件权限可以保护你的文件不被其他用户访问。
26. 禁用内置文件编辑器
为什么要禁用内置文件编辑器?
WordPress 自带一个用于主题和插件的内置编辑器。直接在 WP-Admin 中编辑网站文件的便利性虽然很好,但也带来了一些风险。
当内置文件编辑器启用时,管理员和开发人员可以直接在浏览器中编辑主题和插件的代码。这存在潜在的安全风险,因为容易出错。后果可能很危险,因为整个页面可能在做出更改后停止工作。此外,它还为黑客提供了快速访问你网站所有文件的途径。
专家建议完全禁用这个内置文件编辑器,而是通过 SFTP 编辑文件。可以通过在 wp-config.php
中添加以下代码片段来轻松禁用内置文件编辑器:
define( 'DISALLOW_FILE_EDIT', true );
具体步骤
- 禁用内置文件编辑器
- 将以下代码添加到
wp-config.php
文件中,以禁用内置文件编辑器。
- 将以下代码添加到
define( 'DISALLOW_FILE_EDIT', true );
重要性
- 减少风险:禁用内置文件编辑器可以减少因编辑错误导致的风险。
- 提高安全性:通过禁用内置文件编辑器,可以进一步提高网站的安全性,防止黑客访问文件。
27. 禁用 WordPress 中的 XML-RPC
为什么要禁用 XML-RPC?
WordPress 使用 XML-RPC 功能与其他系统进行通信。近年来,这个功能的使用率一直在稳步下降。未来,它可能会被完全移除,并被 WordPress 的 API 取代。
如今,XML-RPC 已成为黑客的流行“工具”,因此其使用被最小化。因为它允许通过单个命令测试数百个密码组合。
你可以通过插件或通过将一些代码粘贴到主题的 functions.php
文件中来禁用 XML-RPC:
add_filter( 'xmlrpc_enabled', '__return_false' );
或者更好的做法是通过外部防护措施进行禁用XML-RPC,而不是上述直接更改代码的方式操作,所以可以通过使用 .htaccess
禁用它:
<Files xmlrpc.php>
order deny, allow
deny from all
</Files>
具体步骤
1. 通过插件禁用 XML-RPC
- 使用插件(如:Disable XML-RPC)来禁用 XML-RPC 功能。
2. 通过代码禁用 XML-RPC
- 将以下代码添加到主题的
functions.php
文件中,以禁用 XML-RPC。
add_filter( 'xmlrpc_enabled', '__return_false' );
3. 通过 .htaccess 禁用 XML-RPC
- 将以下代码添加到
.htaccess
文件中,以禁用 XML-RPC。
<Files xmlrpc.php>
order deny, allow
deny from all
</Files>
重要性
- 减少攻击面:禁用 XML-RPC 可以减少黑客利用该功能进行攻击的机会。
- 提高安全性:通过禁用 XML-RPC,可以进一步提高网站的安全性,防止黑客进行暴力破解攻击。
28. 在 WordPress 中安装 Google reCAPTCHA
为什么要安装 Google reCAPTCHA?
对于 WordPress 网站来说,安装 Google reCAPTCHA 插件是一种有效的安全措施。这个插件可以帮助防止垃圾邮件和机器人对你的登录页面、联系表单和其他网站区域的自动攻击。通过在这些易受攻击的区域添加一层安全保护,你可以显著降低未经授权访问和潜在黑客攻击的风险。
Google reCAPTCHA 通过各种测试(包括图像识别和音频挑战)来验证用户的身份。这是一种简单而有效的方式,可以增强你的 WordPress 网站的安全性,并保护它免受潜在威胁。
具体步骤
- 安装 Google reCAPTCHA 插件
- 在 WordPress 后台,搜索并安装 Google reCAPTCHA 插件。
- 配置插件
- 激活插件后,按照插件的设置指南配置 Google reCAPTCHA。通常需要获取 Google reCAPTCHA 的 API 密钥,并将其添加到插件设置中。
- 启用 reCAPTCHA
- 在插件设置中启用 reCAPTCHA,并选择要保护的表单(如登录页面、联系表单等)。
重要性
- 防止垃圾邮件和机器人攻击:Google reCAPTCHA 可以有效防止垃圾邮件和机器人对你的网站进行攻击。
- 提高安全性:通过添加 reCAPTCHA,可以进一步提高网站的安全性,防止未经授权的访问。
总结
维护 WordPress 网站安全性和性能至关重要:清理未使用的主题和插件,定期更新,使用强密码和 HTTPS,保护关键文件(如 .htaccess 和 wp-config.php),启用自动备份和自动更新,限制登录尝试,禁用 XML-RPC,设置文件权限,并安装安全插件(如 Google reCAPTCHA)。这些措施可以显著增强网站的安全性,防止黑客攻击和数据泄露。