WordPress 网站安全:Nginx 规则配置

只需简单设置 Nginx 规则,就能提高 WordPress 网站的安全性,比如限制访问 XMLRPC、限制请求类型、禁止直接访问 PHP 文件和禁止访问某些敏感文件等。将如下代码,放到 WordPress 站点所使用的 Nginx 配置文件 server {} 内即可。

1.限制访问 XMLRPC

WordPress中 的 XMLRPC 端点(根目录下的xmlrpc.php文件)用于允许外部应用程序与WordPress数据交互。例如,它可以允许添加、创建或删除文章。但是,XMLRPC也是一种常见的攻击媒介,攻击者可以在未经授权的情况下执行这些操作。所以最好允许从您信任的授权 IP 请求XMLRPC,如下所示:

location ~* /xmlrpc.php$ {
    allow 172.0.1.1;
    deny all;
}

添加上述内容后,应该在浏览器中访问 xmlrpc.php 时会看到 403 错误响应代码。

2.限制请求类型

大多数情况下,您的网站可能只执行两种类型的请求:

GET - 从你的网站上检索数据
POST - 将数据提交到你的网站
所以,只允许我们的网站执行这两种请求类型,也是增强安全性的做法。

禁止直接访问PHP文件

在神不知鬼不觉的情况下,黑客可能会将PHP文件上传到你的服务器中,然后通过访问该恶意文件执行某些操作,即可在你的网站上创建后门。所有我们应该禁止直接访问任何php文件:

location ~* /(?:uploads|files|wp-content|wp-includes|akismet)/.*.php$ {
    deny all;
    access_log off;
    log_not_found off;
}

4.禁止访问某些敏感文件

和 PHP 文件相似,以点开头的文件,比如 .htaccess、.user.ini 以及 .git 可能包含敏感信息。为了更安全,最好禁用对这些文件的直接访问。

location ~ /\.(svn|git)/* {
    deny all;
    access_log off;
    log_not_found off;
}
location ~ /\.ht {
    deny all;
    access_log off;
    log_not_found off;
}
location ~ /\.user.ini { 
    deny all; 
    access_log off;
    log_not_found off;
}

相关推荐

WordPress 禁止访问网站核心 PHP 文件,提高安全性

WordPress 禁止访问网站核心 PHP 文件,提高安全性

WordPress 用的是 PHP 语言,禁止访客访问网站核心 PHP 文件能提高安全性。我们以 Nginx 的配置文件为例,来详细说明如何安全配置:禁用某些目录执行 PHP。 server { listen 80; server_name website.com; # Redirect non-www to www (website.com -> www.website.com) return 301 http://www.$server_name$request_uri; } ...

通过 Nginx 设置连接访问限制,以及对限制开通白名单

通过 Nginx 设置连接访问限制,以及对限制开通白名单

有时需要通过 Nginx 设置一些连接访问的限制,并且设置限制白名单,对客户端特定 IP 地址不做过滤。 要求 Nginx geo 格式说明 Syntax ( 语法格式 ): geo [$address] $variable { ... } Default ( 默认 ): - Content ( 配置段位 ): http Nginx map 格式说明 Syntax ( 语法格式 ): map String $variable { ... } Default ( 默 ...

详解 Nginx 和 php-fpm 调用方式

详解 Nginx 和 php-fpm 调用方式

PHP 项目使用 Nginx 时,一般通过 php-fpm Nginx+PHP-FPM 形式访问交互,本文将详细解读 Nginx 配置文件、PHP-FPM、PHP-CGI 和 fastCGI 的概念。 一.背景: 在开发中碰到一个问题,项目以 nginx+php-fpm 形式访问交互,结果访问项目时报错如上图: 二.分析: 提示很明确嘛,去看 error.log(在nginx.conf或者vhost里头配置 ...

访问 PHP 页面会自动下载文件,可能是 Nginx 无法解析 PHP 所致

访问 PHP 页面会自动下载文件,可能是 Nginx 无法解析 PHP 所致

访问一个 .php 后缀的页面时,网页没有正常渲染而是将这个 PHP 文件自动下载了,这可能是 Nginx 无法解析 PHP 所致,建议检查 配置文件 nginx.conf 是否正确。 1、查看 nginx.conf 是否配置正确 正确格式: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_split_path_info ^((?U).+\. ...

微信扫一扫,分享到朋友圈

WordPress 网站安全:Nginx 规则配置