关于WordPress 网站安全的.Htaccess 设置技巧

.htaccess 是一个配置文件,让你可以控制该路径下的文件及文件夹,以及所有子目录。这个配置文件是由hypertext access而来,能为大多数的服务器环境使用。该配置文件能强化网站安全。数以百万的WordPress用户都会利用它来保护网站免于垃圾邮件发送者、黑客的威胁。

wordpress 网站安全配置

.htaccess 配置文件的样子大概如下,一般在网站的Cpanel中放置网页的Folder内。.htaccess 程序代码是包在#BEGIN WordPress 及#END WordPress 里。WordPress 可以更新这个标签里的程序代码。为了画分程序代码以容易辨析,你必须把要新增的程序代码片段放置于你的.htaccess 配置文件的顶部或底部(在#BEGIN WordPress 之前或#END WordPress 之后)。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

如果.htaccess不存在,你可以自己建立一个然后将它上传。你需要做的只有建立一个空白的文档(.txt),将它储存为.htaccess然后上传到网站的根目录。请确保在配置文件名的开头有一个点!

如何使用 .Htaccess优化WordPress 网站安全?
1. 保护存取.htaccess
首先由于.htaccess 拥有你整个网站的控制权,以下的程序代码将让黑客无法存取你的.htaccess 配置文件,只需要透过FTP 来修改.htaccess 配置文件(或是控制台的命令管理)。

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

2. 保护/Wp-Content/
wp-content 资料文件夹是WordPress 相当重要的一部分,因为内里包含了你的外观主题、插件、上传的媒体文件(图片、影片)及缓存文件等。

Order deny,allow
Deny from all
<Files ~ ".(xml|css|jpe?g|png|gif|js)$">
Allow from all
</Files>

你可以将.htaccess 配置文件独立上传到wp-content 主目录,例如www.example.com/wp-content/。这么做只会允许XML、CSS、JPG、JPEG、PNG、GIF 和JavaScript 被上传到媒体资料夹,其余的文件类型将被拒绝。

3. 保护WP-Config.php
Wp-config.php这个文件里包含了数据库的登入信息,以及其他的系统设定。因此,用.htaccess是禁止任何人访问它。

<files wp-config.php>
order allow,deny
deny from all
</files>

4. 保护Include-Only 文件夹
某些文件是绝不用让使用者存取的。你可以加入以下程序代码,来阻挡使用者存取这些文件。

# Block the include-only 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. 限制存取WordPress 控制台
WordPress 控制台经常成为黑客的目标。如果他们获取了存取该区域的权限,后果相当严重,为确保WordPress 控制台更加安全,建立一个.htaccess 配置文件并加入以下程序代码:

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

将12.34.56.78更改为你的IP位址,然后将它上传到网站的/wp-admin/路径下,例如www.example.com/wp-admin/。这个设置是仅让你能够存取WordPress 控制台,其他人将会被阻挡在外。

如果有多个管理员怎么办?

其他的管理员或作者的IP 可以加在后面,你可以在allow from 后面加入其他IP,不同的IP 间使用半形逗号来区隔,例如:

allow from 12.34.56.78, 87.65.43.21, 99.88.77.66

6. 封锁某人进入你的网站
如果你知道某个来者不善的IP 地址,你可以使用以下的程序代码将它拒于网站访问之外。

<Limit GET POST>
order allow,deny
deny from 123.456.78.9
deny from 987.654.​​32.1
allow from all
</Limit>

7. 禁止浏览目录
让未经授权的使用者浏览目录下的文件或文件夹是相当危险。如要禁止访问你网站的目录,只要在你的.htaccess 加入以下程序代码:

# disable directory browsing
Options All -Indexes

8. 允许浏览器快取
当启动浏览器快取功能后,将允许使用者从你的网站储存元件,而无须重新下载。

例如当图片上传到网站后,很少会再次更新。浏览器快取能让访客直接读取储存在他们电脑里的图片,而不用从你的服务器下载,节省频宽、也提升了页面加载速度。

## EXPIRES 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>
## EXPIRES CACHING ##

9. 重定向一个网址/网站
301 重定向向让你可以通知搜索引擎该链接已经重新移到新的路径。它可以被用来重定向一个网址、文件夹,甚至是整个网站。

例如变更网站域名、变更固定网址结构时经常用到301 redirect将网站重置。这也是提升网站SEO的其中一个重要技巧。

只要加入以下程序代码便可将网址重新导向某个路径:

Redirect 301 /originpage.html http://www.example.com/newpage.html
Redirect 301 /originfolder/page2.html /folder4/page5.html
Redirect 301 / http://www.newexample.com/

10. 禁止直接链接图片
直接链接的意思是某人直接取用你的图片链接,然后将它分享到其他网页上。直接链接可能对你的网站带来负面影响,包括使你的网站变慢,也会让你的频宽费用增加。你可以禁止除了你的网站外的网站直接链接图片,将以下程序代码加入即可。请确认将以下网址更改为你的网址。

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?example.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?examwebsite.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ http://i.imgur.com/abcd.png [NC,R,L]

当其他人试图从其他网址浏览你的图片时,他们将会看到禁止图片,而这图片可以变更为任何你想要的图(在上面的最后一行设定图片路径)。

注意事项!!!
.htaccess 是WordPress 里特别严格的配置文件,只要其中任何一个字符出错,文件就会出现错误。当错误发生时,整个网站的运作会停止,所以必须确保输入.htaccess 的程序代码没有问题是很重要的。

在开始前,建议备份一下你当前使用的.htaccess配置文件。若更新了.htaccess 配置文件令网站不能正常运作,立即恢复、还原.htaccess备份。

添加评论

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