只需编写 HTACCESS 即可在 WordPress 中采取的 5 种安全措施
以下是一些只需包含 HTACCESS 中的设置即可采取的安全措施。
什么是 HTACCESS?
这是 WordPress 安装文件夹中用于写入服务器设置的文件。在 WordPress 中,它用于设置永久链接,但出于安全考虑,它还可用于写入服务器设置。
您可以使用 FTP 软件访问服务器,下载、编辑并重新上传以调整设置。
禁止显示索引列表
索引列表是服务器的一个功能,当使用浏览器访问该文件夹时,若文件夹中没有index.php或index.html,则会自动输出该文件夹中所包含的文件列表。
搜索引擎可能会获取此列表,从而导致搜索结果中出现易受攻击的插件文件夹,或者帮助黑客找出服务器上有哪些类型的文件。
在 ↓HTACCESS 文件中添加以下行
IndexIgnore *
禁用作者信息的输出
WordPress 有一个主题,在访问时除了显示站点域名外,还附加 ?author=1,从而显示用户 1(管理员)的用户名和其他信息。
对于允许会员注册的站点,使用上述不同的值访问站点将暴露各种登录用户的 ID。
为了防止这种情况,如果 URL 中包含 author= 字符串,则使用以下配置来阻止该字符串。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^author/(.*) - [R=404,L]
RewriteCond %{QUERY_STRING} author=(.*)
RewriteRule ^$ - [R=404,L]
</IfModule>
禁止执行上传文件夹中的 PHP 程序
wp-content/uploads 文件夹主要用来保存内容中嵌入的图像的数据。
未经授权的篡改(后门)或恶意软件可以在 wp-content/upload 文件夹中写入恶意 PHP 程序。禁止外部访问此程序。
以下设置仅禁止外部访问 wp-content/uploads 文件夹中带有 php 扩展的文件。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^.*wp-content/uploads/.*\.php.*$ - [F,L].
</IfModule>
禁止直接访问 wp-include 文件夹中的 PHP 程序
wp-include文件夹是包含程序用来加载各种WordPress功能的一组程序的文件夹。
该文件夹下的php文件是不能从外部直接访问的,所以可以禁止从外部直接访问。
这样,即使wp-includes文件夹中嵌入了某些恶意软件(后门),也可以阻止后续的黑客活动,或防止其他黑客利用此后门。
<IfModule mod_rewrite.c>
RewriteEngine On
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>
禁止垃圾评论
如果您在 WordPress 的评论部分收到大量垃圾评论,您可以通过向 HTACCESS 添加以下内容来抑制垃圾评论。
评论垃圾是由黑客使用大量网站上的程序机械地编写的。使用以下 HTACCESS 设置,
访问评论编写程序。
访问评论编写程序,以及
缺少浏览器类型和版本信息的访问器。
或・缺少浏览器类型或版本信息进行访问。
将“您的网站域名”替换为您的网站域名。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} POST
RewriteCond %{REQUEST_URI} ^(.*)?wp-comments-post\.php(.*)$
RewriteCond %{HTTP_REFERER} ! (^.*\⌘:⌘/your-site-domain) [NC,OR].
RewriteCond %{HTTP_USER_AGENT} ^$
RewriteRule .* http://127.0.0.1 [L]
</IfModule>
此外,我们还禁止使用代理服务器的用户发表评论。代理服务器是一种通过代理服务器访问网站并隐藏访问来源的机制。
下面的 HTACCESS 设置是一种当访问者中包含特定于代理服务器的信息时阻止发表评论的设置。
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_METHOD} ^POST
RewriteCond %{HTTP:VIA} ! ^$ [OR].
RewriteCond %{HTTP:FORWARDED} ! ^$ [OR]
RewriteCond %{HTTP:USERAGENT_VIA} ! ^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_FOR} ! ^$ [OR]
RewriteCond %{HTTP:X_FORWARDED_HOST} ! ^$ [OR]
RewriteCond %{HTTP:PROXY_CONNECTION} ! ^$ [OR].
RewriteCond %{HTTP:XPROXY_CONNECTION} ! ^$ [OR]
RewriteCond %{HTTP:HTTP_PC_REMOTE_ADDR} ! ^$ [OR]
RewriteCond %{HTTP:HTTP_CLIENT_IP} ! ^$
RewriteRule wp-comments-post\.php - [F].
</IfModule>
*此处的所有设置都是
免费的] WordPress:恶意软件扫描和安全插件 [恶意软件和病毒检测和删除]。
您可以使用以下方法从 WordPress 管理页面轻松导出到 HTACCESS