新闻中心
九个强化WordPress网站安全的.htaccess设定技巧
无忧虚拟主机中安装了wordpress程序中,.htaccess 是一个设定档,可以控制该路径下的档案及资料夹,以及所有子目录。这个档案名称是由 hypertext access 而来。 对于许多 WordPress 用户来说,第一次看到 .htaccess 文件应该是在自定他们网站的固定网址时,为了使用更美观的链结,而不是预设的链结格式(例如:http://51php.com/sample-post/ 而不是 http://51php.com/?p=123 ),这就是我们说的伪静态配置。我们必须将以下程式码加入 .htaccess文件: ·# BEGIN WordPress · ·RewriteEngine On ·RewriteBase / ·RewriteRule ^index\.php$ - [L] ·RewriteCond %{REQUEST_FILENAME} !-f ·RewriteCond %{REQUEST_FILENAME} !-d ·RewriteRule . /index.php [L] · ·# END WordPress 如果 .htaccess 不存在,可以自己建立一个TXT的文本文档,名字随便以英文任何字母组合,Linux主机不支持中文,然后上传到网站的根目录(domains》域名》public_html),点击重命名为.htaccess。请确认在文件的开头有一个点,是不可漏掉的。.htaccess不仅用于固定网址,该文件也能强化网站安全。数以百万的 WordPress 用户利用它来保护网站免于垃圾邮件发送者、黑客和其他已知的威胁。 今天,无忧主机小编分享一些用于 .htaccess 的程式码片段,可以强化各位的网站安全。总有一个适合您的。 大家可能也注意到上面固定网址的 .htaccess 程式码是包覆于 #BEGIN WordPress 及 #END WordPress里。WordPress 可以更新这个标签里的程式码,必须把要新增的程式码片段放置于.htaccess 文件的顶部或底部(在 #BEGIN WordPress 之前或 #END WordPress 之后)。 请注意.htaccess 是 WordPress 里个性倔强的文档,只要其中任何一个字符出错,整个就会出现错误。当错误发生时,它通常会影响到整个网站的运作,最重要的是必须确保输入 .htaccess 的程式码没有 问题。 在开始前,备份一下当前使用的 .htaccess 文件,或者重命名。将它保存到你电脑里安全的位置。无论何时更新了.htaccess ,记得回到网站重新整理一下,看看网站是不是还能正常运作。不要跳过这个步骤,因为确认网站运作正常是至关重要的一个步骤。如果访问白屏,立即恢复 .htaccess 修改前的上个步骤。 如果无法还原备份,那么将.htaccess 删除,然后建立一个空白的 .htaccess 档案并将它上传。当你的网站出现问题,这显然是最重要的一步。 1. 保护 .htaccess 既然 .htaccess 拥有你整个网站的控制权,保护它远离不相关人士就显得很重要。以下的程式码将让黑客无法存取你的 .htaccess 档,只需要通过 FTP 来修改 .htaccess 文件。 ·order allow,deny ·deny from all ·satisfy all · 2. 保护 WP-Config.php 另一个重要的文件是 wp-config.php。这就是配置文件。这个文件里包含数据库的登陆信息,以及其他的系统设定。因此,明确的作法是禁止任何人访问它。 · ·order allow,deny ·deny from all 3. 保护 /Wp-Content/ wp-content文件夹也是 WordPress 相当重要的一部分,在这个文件夹里包含了背景主题、外链、上传的媒体档案(图片、影片)等。 有鉴于此,这通常也是黑客下手的目标。当垃圾邮件发送者试图破坏老网站,他必须将邮件程式传到网站的上传资料夹。然后使用空间来寄送垃圾邮件;这么做会使网站被列入垃圾邮件名单。 可以透过创建一个独立的 .htaccess 文件来解决类似问题: ·Order deny,allow ·Deny from all · ·Allow from all · 必须将 .htaccess 档案独立上传到 wp-content 主目录,例如 www.51php.com.com/wp-content/。这么做只会允许 XML、CSS、JPG、JPEG、PNG、GIF 和 JavaScript 被上传到媒体文件夹,其余的 文件类型将被拒绝。 4. 保护 Include-Only 档案 某些文件是绝不用让使用者存取的。可以加入以下程式码,来阻挡使用者存取这些文件: ·# Block the include-only files. · ·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] · 5. 限制存取 WordPress 后台 另一个黑客觊觎的目标是 WordPress 后台。如果他们获取了存取该区域的权限,他们就可以在网站上为所欲为。 确保 WordPress 后台更加安全,建立一个 .htaccess 文件并加入以下程式码: ·# Limit logins and admin by IP · ·order deny,allow ·deny from all ·allow from 127.121.xx.xx · 请务必将 127.121.xx.xx 更改为自己的 IP 位址,然后将它上传到网站的 /wp-admin/ 路径下,例如 www.51php.com.com/wp-admin/ 。 只有自己能够存取 WordPress 后台,其他人将会被阻挡在外。 其他的管理员或作者的 IP 可以加在后面,可以在 allow from 后面加入其他 IP,不同的 IP 间使用半形逗号来区隔,例如: allow from 127.121.xx.xx, 127.121.xx.xx, 127.121.xx.xx 6. 禁止某人进入网站 如果知道某个来者不善的 IP 位址,你可以使用以下的程式码将它拒于网站之外。举例来说,可以封锁某些留下垃圾留言或是尝试存取WordPress 后台的使用者。 · ·order allow,deny ·deny from 127.121.xx.xx ·deny from 127.121.xx.xx ·allow from all · 7. 将使用者传送到维护页面 一些维护外链像是 Ultimate Maintenance Mode 和 Mainteance 相当实用,当在维护网站时,可以显示一个暂时的页面给访客,或是在更新网站时。 不幸的是,维护外链只有在网站运作正常时才起得了作用。 如果想未雨绸缪,小编建议大家建立一个基本的 .html 页面,将它命名为 maintenance.html 来提醒使用者目前网站遭遇一些问题,但会在短时间内恢复。当网站无法访问时,只要将以下程式码加入 .htaccess 档案,就能将所有流量引导至维护画面。 ·RewriteEngine on ·RewriteCond REQUEST_URI} !/maintenance.html$ ·RewriteCond REMOTE_ADDR} !^ 127.121.xx.xx ·RewriteRule $ /maintenance.html [R=302,L] 必须要为网站来自定上方程式码。变更上方的文件名称,来对应维护页面路径,也必须加入自己的 IP 位址,以便在维护状态时不会被引导至维护页面(可以继续调整网站)。 8. 禁止浏览目录 让未经授权的用户浏览目录下的文件或文件夹是相当危险的一件事情。如要禁止访问网站的目录,只要在.htaccess 加入以下程式码即可: ·# disable directory browsing ·Options All -Indexes 9. 允许浏览器快取 当启动浏览器快取功能后,将允许访客从网站储存资料,而无须重新下载。 它用于设计元素,例如 CSS 样式表和其它媒体内容,例如图片。这是一个实用的技巧,因为当图片上传到网站后,很少会再次更新。浏览器快取能让访客直接读取储存在他们电脑里的图片,而不用从空间下载,节省流量、也提升了页面载入速度。 启用浏览器快取,需要做的就是把以下程式码加入 .htaccess 文件: ·## EXPIRES CACHING ## · ·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" · ·## EXPIRES CACHING ## 以上都是实用功能,不妨去试一试。希望能够帮助到各位站在朋友! 无忧主机相关文章推荐阅读: 添加WORDPRESS数据库运行状态日志 设置WORDPRESS评论达到数量后自动关闭评论 谷歌影响后WORDPRESS存在的问题并分析解决 WORDPRESS表单插件WP USER FRONTEND PROWWP
本文地址:https://www.51php.com/wordpress/15874.html