使用.htaccess的一些技巧提高 WordPress 安全性

什么是.htaccess?

.htaccess 代表超文本访问。对于 WordPress 网站,当您选择更改永久链接的设置时,它会自动创建。但它通常是隐藏的,这意味着您在查看站点文件时不会自动看到它。如你使用的乐道美国虚拟主机,您可以在cPanel主机面板中的文件管理器中更改此设置。

只需单击右上角的“设置”按钮,然后在出现的框中,选中“显示隐藏文件(点文件)”,然后保存。

如何创建 .htaccess 文件?

请使用记事本或您最喜欢的文本编辑器来创建一个,如htaccess.text,将其命名为 .htaccess

开始 WordPress

现在将此文件上传到您站点的根目录,然后将其重命名为 .htaccess,您需要确保文件具有正确的权限,将此 .htaccess 文件的权限设置为 644。

现在我们可以开始调整这个文件,为您的 WordPress 网站添加功能和安全性。

注意:在行首使用数字符号# 进行注释。该行上的任何内容均不被视为代码,仅用作提醒以保持一切井井有条。

注意:一次做一个更改,并在每次更改之间刷新您的站点,以确保没有任何中断。这样,如果出现问题,您就可以确切地知道需要修复哪一行代码。

如何打开和使用这些 .htaccess 提示

首先,转到 cPanel > 文件管理器 > public_html

如果您有多个站点,则还需要双击要使用的站点的文件夹。

找到 .htaccess 文件并右键单击它并单击编辑。

保护您的 .htaccess 文件免受黑客攻击

您应该做的第一件事是保护您的 .htaccess 文件,在我们处理它的同时,为 wp-config.php、php.ini和错误日志添加保护。只需将此代码添加到 .htaccess 文件中:

<FilesMatch “^.*(error_log|wp-config\.php|php.ini|\.[hH][tT][aApP].*)$”>
Order deny,allow
Deny from all

注意:检查您是否有 php.ini 或 php5.ini 并在上面的代码中使用适当的文件名。

禁用文件夹浏览

现在让我们禁用文件夹浏览。任何人都可以在地址栏中输入您的域和目录,然后查看其中的所有内容。使用 WordPress,这很容易做到,因为所有 WordPress 站点都具有相同的默认结构,所以我们要阻止任何潜在的黑客访问您网站上所有内容的简单布局:

# disable directory browsing

阻止用户名枚举

用户名枚举是指黑客在您的网站上获取作者的用户名。通过添加以下代码不允许这样做:

RewriteCond %{QUERY_STRING} author=d
RewriteRule ^ /? [L,R=301]

防止访问 wp-includes 目录中的重要文件您的 wp-includes 目录通常会成为目标,因为这里有运行任何 WordPress 站点所需的非常重要的文件。让我们使用以下代码防止潜在的黑客访问它:

<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]

限制对重要 PHP 文件的访问

您可以添加以下代码以防止直接访问编辑您的主题和插件中的PHP 文件,从而使潜在黑客更难向其中添加恶意代码:

RewriteCond %{REQUEST_URI} !^/wp-content/plugins/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/plugins/directory/to/exclude/
RewriteRule wp-content/plugins/(.*\.php)$ – [R=404,L]
RewriteCond %{REQUEST_URI} !^/wp-content/themes/file/to/exclude\.php
RewriteCond %{REQUEST_URI} !^/wp-content/themes/directory/to/exclude/
RewriteRule wp-content/themes/(.*\.php)$ – [R=404,L]

防止脚本注入

接下来,让我们通过添加以下代码来阻止它们插入脚本注入,这通常是通过 _REQUEST 和 GLOBALS 完成的:

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]

通过将所有这些添加到您的 .htaccess 文件中,您将设置许多障碍,黑客必须克服这些障碍才能弄乱您的网站。但是,使用这些 .htaccess 提示调整您的网站只是提高 WordPress 网站安全性的众多方法之一。您可以对 wp-config 文件进行调整,或者您可以添加安全插件。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注