基于apache的WordPress安全设置

1.移动 wp-config.php 文件的存放位置

wp-config.php 文件默认是在网站根目录保存的,把这个文件移动到别的位置就可以解决到这个隐患,WordPress 默认会在网站根目录寻找这个文件,如果没有找到,会继续往上层目录寻找。知道了这点,我们就可以把 wp-config.php 文件移动到 WordPress 站点根目录的上层目录,就算别人知道了你的 FTP 密码,在网站里也找不到数据库配置信息。

安全起见,建议在 WordPress 根目录创建一个 wp-config 配置文件,然后把真实的 wp-config.php 文件的位置包含进来,如下:

<?php
define('ABSPATH', dirname(__FILE__) . '/');
require_once(ABSPATH . '../path/to/wp-config.php');

2.禁用目录浏览

一些服务器设置允许目录浏览,即你可以通过http://yoursite.com/wp-plugins/这样的链接看到自己的插件内容。 要禁用目录浏览,只需要在.htaccess文件里加上下面的代码:

Options All -Indexes

3.禁止浏览.htaccess文件

更改自己本地的.htacess文件,添加如下代码:

<Files .htaccess>
order allow,deny
deny from all
</Files>

注: order 的意思是规定allow和deny的次序

4.wordpress修改wp-admin隐藏后台管理登录地址

在主题的 functions.php 文件里加入 保护后台登陆的代码:

//保护后台登录

add_action('login_enqueue_scripts','login_protection');

function login_protection(){
  // 获取首页地址
  $url = home_url();
  if($_GET['word'] != 'admin') {
    header('Location:'.$url);
    exit();
  }
}

修改后您的默认后台登陆地址就变为:域名/wp-login.php?word=admin 输入wp-admin就会被重定向到普通登陆地址。

 5.文件夹,文件权限设置建议

.htaccess    0444
wp-config.php  0444

 注:Linux修改权限命令chmod 444 文件名

 6.禁用PHP执行保护网站免受后门访问文件的侵害,我们需要创建一个.htaccess 文件并将其上传到网站的/wp-includes/和/wp-content/uploads/目录中

<Files *.php>
deny from all
</Files>

7.保护WordPress下的wp-config.php配置文件

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

8.使用.htaccess设置网站图片防盗链

#disable hotlinking of images with forbidden or custom image option
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?yourdomian.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?baidu.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ – [NC,F,L]

如果请求源自yourdomian.com或baidu.com,此代码仅允许显示图像。不要忘记用您自己的域名替换yourdomian.com。

9.禁用通过xmlrpc.php来的请求

每个WordPress安装都附带一个名为xmlrpc.php的文件。

此文件允许第三方应用程序连接到您的WordPress网站。

大多数WordPress安全专家建议,如果您没有使用任何第三方应用程序,那么您应该禁用此功能。

# Block WordPress xmlrpc.php requests
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>

10.阻止对网站中的作者进行扫描

# BEGIN block author scans
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (author=\d+) [NC]
RewriteRule .* - [F]
# END block author scans

11.禁止网站服务器通过未经授权的访问

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

12.配置网站上传文件的大小限制

php_value upload_max_filesize 64M
php_value post_max_size 64M
php_value max_execution_time 300
php_value max_input_time 300

 

posted @ 2020-03-16 11:10  venkim  阅读(529)  评论(0编辑  收藏  举报