nginx wordpress xmlrpc可以防止残酷的攻击

时间:2017-04-16 01:47:47

标签: wordpress nginx url-rewriting

我希望我的xmlrpc.php只能通过wordpress-jetpack访问并向其他任何人抛出404

我试过

location ~ /xmlrpc.php {
      if ($http_user_agent !~* ".*jetpack.*") {
            return 403;
      }
}

尝试从wordpress.com连接我的网站时仍然出现错误

2017/04/16 09:28:39 [error] 24200#24200: *1453 access forbidden by rule, client: 162.158.69.63, server: example.com, request: "POST /xmlrpc.php?for=jetpack&token=4xm%28

如果$ request_uri不包含“jetpack”然后返回404,我该如何创建重定向规则?

1 个答案:

答案 0 :(得分:1)

我想你只是做一个小小的,嗯..让我们称之为错字。您正在使用$http_user_agent尝试检查User Agent,但您需要使用的是$request_uri或(正如您特别要求的那样)$query_string

因此,对于xmlrpc位置,Conf在这里工作得非常好。

    location ~ /xmlrpc.php {
        if ( $query_string !~* ".*jetpack.*" ) {
            return 404;
        }
    }