17713433920 info@mac163.com

WordPress安全性是新手博客作者中破坏最大的因素之一。在无人监督的WordPress安装中,有许多潜在的漏洞无人看管。大多数WordPress安装教程都说明了在几分钟内部署WordPress的快速简便的方法。但是他们错过了一些重要的安全因素。例如,目录浏览和使用’admin’用户名被认为是严重的安全漏洞。今天,我们将看10个.htaccess代码片段,这些片段将有助于提高WordPress博客的安全性。在开始之前,让我们快速看一下什么是htaccess文件。

什么是.htaccess文件?

htaccess文件是每个目录的供Apache Web服务器解释的可选配置文件。您可以在该文件中存储各种设置,例如:密码保护目录,阻止IP,阻止文件或文件夹公开访问等。传统上,.htaccess文件位于基本WordPress安装目录中。默认情况下,它存储永久链接结构。

提示: 开始学习本教程之前,请确保将当前的.htaccess文件(如果存在)备份在Dropbox等云存储服务中。如果某个代码片段中断了您的站点,则这将回滚到最后一个已知的工作.htaccess文件。让我们开始。

1.阻止坏机器人

阻止坏机器人
阻止坏机器人

.htaccess文件的最佳用途之一是其拒绝多个IP地址访问您的站点的能力。当阻止已知的垃圾邮件发送者和其他可疑或恶意访问源时,此功能很有用。代码是:

# Block one or more IP address.
# Replace IP_ADDRESS_* with the IP you want to block

<Limit GET POST>
order allow,deny
deny from IP_ADDRESS_1
deny from IP_ADDRESS_2
allow from all
</Limit>

IP_ADDRESS_1是您要阻止其访问站点的第一个IP。您可以添加任意数量的IP。无论这些IP地址使用什么用户代理(浏览器)0,它们都将无法从您的服务器访问单个文件。网络服务器将自动拒绝所有访问。

2.禁用目录浏览

禁用目录浏览
禁用目录浏览

这是WordPress网站中受破坏最严重的安全漏洞之一。默认情况下,Apache Web服务器启用目录浏览。这意味着Web服务器的根目录(有时称为主目录)中的所有文件和文件夹都可以被访问者访问并且可以访问。您不希望这样做,因为您不希望人们浏览您的媒体上载或主题或插件文件。

如果我随机选择10个运行WordPress的个人或企业网站,则其中6-8个不会禁用目录浏览。这样,任何人都可以轻松地嗅探wp-content / uploads文件夹或其他没有默认index.php文件的目录。实际上,您看到的屏幕截图来自我的客户网站之一,在我推荐此修复程序之前。禁用目录浏览的代码段:

# Disable directory browsing
Options All -Indexes

3.只允许来自wp-content的选定文件

只允许来自wp-content的选定文件
只允许来自wp-content的选定文件

如您所知,wp-content包含最多的就是WordPress主题,插件和所有媒体上载。您当然不希望人们不受限制地访问它。除了禁用目录浏览之外,您还可以拒绝访问所有文件类型,仅保存其中一部分。本质上,您可以有选择地取消阻止JPG,PDF,DOCX,CSS,JS等文件,并拒绝其余文件。为此,请将以下代码片段粘贴到您的.htaccess文件中:

# Disable access to all file types except the following
Order deny,allow
Deny from all
<Files ~ ".(xml|css|js|jpe?g|png|gif|pdf|docx|rtf|odf|zip|rar)$">
Allow from all
</Files>

您必须使用代码创建一个新的.htaccess文件,并将其粘贴到wp-content文件夹中。请勿将其放置在基本安装目录中,否则将无法使用。您还可以通过添加“ |”将任何文件类型添加到列表中 在“ rar”之后。上面的列表包含必要的文件-XML,CSS和JavaScript,常见的图像和文档格式,最后是最常用的存档格式。

4.限制对wp-includes的所有访问

限制对wp-includes的所有访问
限制对wp-includes的所有访问

wp-includes folder仅包含严格必要的运行WordPress的核心版本的文件-一个没有任何插件或主题。请记住,默认主题仍位于wp-content / theme目录中。因此,任何访问者(包括您)都不需要访问wp-include文件夹的内容。您可以使用以下代码段禁用访问权限:

# Block wp-includes folder and files
<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]
</IfModule>

5.仅允许选定的IP地址访问wp-admin

该可湿性粉剂管理员文件夹包含运行WordPress的仪表板所需的文件。在大多数情况下,您的访客不需要访问WordPress仪表板,除非他们想要注册一个帐户。一个好的安全措施是仅允许几个选定的IP地址访问wp-admin文件夹。您可以允许需要访问WordPress仪表板的人员(编辑者,贡献者和其他管理员)的IP。此代码段仅允许固定IP访问wp-admin文件夹,并拒绝访问世界其他地方。

# Limit logins and admin by IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 302.143.54.102
allow from IP_ADDRESS_2
</Limit>

确保创建一个新的.htaccess文件,并将其粘贴到wp-admin文件夹而不是基本安装目录中。如果是后者,那么除了您之外,没有人可以浏览您的网站-甚至没有搜索引擎!您当然不希望那样。该措施的一些缺点如下:

  • 如果您的站点允许或促进新用户注册,则几乎不可能跟踪用户数量。例如,在WPExplorer,如果您想下载我们很棒的免费主题,则必须注册。
  • 具有动态IP地址的人(通常是使用PPP或PPPoE协议的ADSL宽带用户)在每次注销并登录到ISP时都会更改其IP。当然,跟踪所有这些IP并将它们添加到htaccess文件中是不切实际的。
  • 移动宽带:无论您使用3G还是4G,您的IP地址都取决于您所连接的当前基站。假设您正在旅行–从原点开始的每两英里,您的IP就会不断变化。同样,跟踪htaccess文件几乎是不可能的。
  • 公共Wi-Fi热点:使用公共Wi-Fi热点连接到Internet时使用凭据非常重要,因为拥有小型软件的孩子可以提取您键入的每个字符。更不用说,每个Wi-Fi热点都会有一个唯一的IP地址。

值得庆幸的是,所有这些缺点(保存第一个缺点)都可以使用VPN进行纠正。如果将VPN设置为仅使用单个IP地址进行连接,则只需将其添加到htaccess文件中,所有问题都将得到解决。

6.保护所有人的wp-config.php和.htaccess

该WP-config.php的文件中包含你的WordPress网站的最敏感的访问凭据。它包含数据库名称和访问凭据以及各种其他关键数据以及其他设置。在任何情况下,您都不希望其他人查看此文件。当然,您希望禁用对所有此安全性源(.htaccess文件本身)的公共访问。您可以使用以下代码禁用对wp-config.php的访问:

# Deny access to wp-config.php file
<files wp-config.php>
order allow,deny
deny from all
</files>

要拒绝访问所有htaccess文件(请记住某些文件可能位于wp-admin和其他文件夹中),请使用以下代码段:

# Deny access to all .htaccess files
<files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

7.拒绝图像热链接

这是最酷的.htaccess文件黑客之一,它发送内容抓取器,尾巴在腿间运行。当有人使用您网站的图片时,您的带宽正在消耗,并且在大多数情况下,您甚至没有为此付出任何努力。此代码段消除了该问题,并在检测到热链接时发送此图像。

# Prevent image hotlinking script. Replace last URL with any image link you want.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourotherwebsite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/MlQAH71.jpg [NC,R,L]

8.启用浏览器缓存

也称为客户端缓存,此.htaccess hack启用了WordPress网站建议的浏览器缓存选项。您也可以在其他项目中使用它-HTML网站等。

# Setup browser caching
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>

9.重定向到维护页面

重定向到维护页面
重定向到维护页面

当您迁移Web主机或执行某些维护任务时,始终建议创建一个静态的“维护停机” HTML文件,以告知访问者该网站正在进行升级或维护操作。只需创建一个maintenance.html文件(或任何其他文件名)并将其上传到基本WordPress安装目录即可。将以下代码段粘贴到您的.htaccess文件中。操作结束后,请确保删除或注释掉这些行以返回到整体操作。您可以通过在每行的开头添加“#”来注释掉。

# Redirect all traffic to maintenance.html file
RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

10.自定义错误页面

自定义错误页面
自定义错误页面

您还可以使用.htaccess文件配置用户友好的自定义错误页面,以处理诸如403、404和500之类的错误。准备好错误页面后-假设是error.html,将其上传到基本的WordPress安装目录中。然后将以下代码片段添加到您的.htaccess文件中,以启用自定义错误页面:

# Custom error page for error 403, 404 and 500
ErrorDocument 404 /error.html
ErrorDocument 403 /error.html
ErrorDocument 500 /error.html

结论:

今天,我们已经学习了一些最酷的htaccess黑客,以增强您的WordPress网站。我建议您在测试每个模块之前和之后备份.htaccess文件时,一一尝试每个模块。这是因为.htaccess文件非常重要。缺少’#’字符或错误放置'</ IfModule>’可能会破坏您网站的完整性。如果您经常在旅途中访问WordPress仪表板,建议不要对wp-admin文件夹启用选择性IP 。


微信二维码

微信扫描二维码联系我们!
我们在微信上24小时期待你的声音
提供外贸路由器设备产品,轻松翻墙,解答:WP主题推荐,WP网站建设,Google SEO,百度SEO,专业服务器环境搭建等!


需要提供WordPress主题/插件的汉化服务可以随时联系我们!另外成品WordPress网站以及半成品WordPress网站建设,海外Google SEO优化托管服务,百度SEO优化托管服务,Centos/Debian服务器WP专用环境搭建,WP缓存服务器搭建,我们都是你的首选,拥有多年WP开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!
回到顶部