当我们安装主题和插件时,都会向…
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包含最多的就是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 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开源程序服务经验,我们一直在坚持客户体验,没有最好,只有更好!