拒绝 xmlrpc.php 文件但不记录失败的请求
Deny xmlrpc.php file but don't log the failed requests
我将此添加到 WordPress 网站的 .htaccess
:
<files xmlrpc.php>
order allow,deny
deny from all
</files>
有效,当有人尝试访问 http://example.com/xmlrpc.php
时,会显示此消息:
Forbidden
You don't have permission to access /xmlrpc.php on this server.
但是,日志仍然显示 (less /var/log/apache2/error.log
):
[Thu May 02 10:02:03.316061 2019] [access_compat:error] [pid 19467]
[client 1.2.3.4:49409] AH01797: client denied by server
configuration: /path/to/xmlrpc.php
如何拒绝访问 xmlrpc.php(可能来自 .htaccess)但 防止它出现在 Apache 日志中?
RewriteRule ^(xmlrpc\.php) - [F,L,NC]
使用 [F] 标志会导致服务器 return 向客户端发送 403 禁止状态代码。
[L] 标志导致 mod_rewrite 停止处理规则集。
使用 [NC] 标志会导致以不区分大小写的方式匹配 RewriteRule。
更多信息:
你可能更清楚,因为我可以看到你超过 19k 的声誉:)
xmlrpc 在 wp 中默认为 false,不建议打开全局。
你应该在.htaccess
或functions.php
中有这样的东西
add_filter('xmlrpc_enabled', '__return_false')
rpc 已禁用。
如果不是?然后将它添加到您的 functions.php
它将解决您的问题。
如果没有解决那么使用插件
要拒绝所有人 最好使用像 manuel 这样的插件来做到这一点 Manage XML-RPC.
İ如果您只想为自己考虑。
检查你的 .htaccess
中是否没有 rpc false 并添加下面的代码以仅对你的 ip 启用。
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 10.123.456.000 //Replace with your ip
</Files>
或仅允许来自 GET,PROPFIND,POST,OPTIONS,PUT,HEAD[403]
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|PROPFIND|OPTIONS|PUT)$ [NC]
RewriteRule .? - [F,NS,L]
如果您想允许 rpc,请转到此处并按照以下步骤操作:
https://www.wikihow.com/Enable-XML-RPC-in-WordPress
我将此添加到 WordPress 网站的 .htaccess
:
<files xmlrpc.php>
order allow,deny
deny from all
</files>
有效,当有人尝试访问 http://example.com/xmlrpc.php
时,会显示此消息:
Forbidden
You don't have permission to access /xmlrpc.php on this server.
但是,日志仍然显示 (less /var/log/apache2/error.log
):
[Thu May 02 10:02:03.316061 2019] [access_compat:error] [pid 19467]
[client 1.2.3.4:49409] AH01797: client denied by server
configuration: /path/to/xmlrpc.php
如何拒绝访问 xmlrpc.php(可能来自 .htaccess)但 防止它出现在 Apache 日志中?
RewriteRule ^(xmlrpc\.php) - [F,L,NC]
使用 [F] 标志会导致服务器 return 向客户端发送 403 禁止状态代码。
[L] 标志导致 mod_rewrite 停止处理规则集。
使用 [NC] 标志会导致以不区分大小写的方式匹配 RewriteRule。
更多信息:
你可能更清楚,因为我可以看到你超过 19k 的声誉:)
xmlrpc 在 wp 中默认为 false,不建议打开全局。
你应该在.htaccess
或functions.php
add_filter('xmlrpc_enabled', '__return_false')
rpc 已禁用。
如果不是?然后将它添加到您的 functions.php
它将解决您的问题。
如果没有解决那么使用插件
要拒绝所有人 最好使用像 manuel 这样的插件来做到这一点 Manage XML-RPC.
İ如果您只想为自己考虑。
检查你的 .htaccess
中是否没有 rpc false 并添加下面的代码以仅对你的 ip 启用。
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 10.123.456.000 //Replace with your ip
</Files>
或仅允许来自 GET,PROPFIND,POST,OPTIONS,PUT,HEAD[403]
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|PROPFIND|OPTIONS|PUT)$ [NC]
RewriteRule .? - [F,NS,L]
如果您想允许 rpc,请转到此处并按照以下步骤操作: https://www.wikihow.com/Enable-XML-RPC-in-WordPress