bajo
Agregué esto a .htaccess
de un sitio de WordPress:
<files xmlrpc.php>
order allow,deny
deny from all
</files>
Funciona, cuando alguien intenta acceder http://example.com/xmlrpc.php
se muestra este mensaje:
Prohibido
No tienes permiso para acceder a /xmlrpc.php en este servidor.
Pero aún así, el registro muestra (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
Cómo denegar el acceso a xmlrpc.php (posiblemente desde .htaccess) pero evitar que aparezca en los registros de Apache?
andré aboud
RewriteRule ^(xmlrpc\.php) - [F,L,NC]
Utilizando el [F] hace que el servidor devuelva un código de estado 403 Prohibido al cliente.
los [L] marca hace que mod_rewrite deje de procesar el conjunto de reglas.
Uso de la [NC] marca hace que RewriteRule coincida sin distinguir entre mayúsculas y minúsculas.
Para más información:
-
Gracias por su respuesta. ¿Puedes explicar en pocas palabras lo que hace? ¿Que es lo que hace? ¿Y Florida Carolina del Norte?
– Basj
3 de enero de 2020 a las 7:29
-
¡Muchos gracias! ¡Funciona, estas 403 solicitudes prohibidas ya no están presentes en el error.log!
– Basj
3 de enero de 2020 a las 9:02
Probablemente lo sepa mejor, ya que puedo ver su reputación de más de 19k 🙂 xmlrpc es falso por defecto en wp y no se recomienda para abrir global. deberías tener algo como esto en.htaccess
o en functions.php
add_filter('xmlrpc_enabled', '__return_false')
rpc está deshabilitado.
que no ? luego añádelo a tu functions.php
resolverá tu problema. si no se resolvió, entonces use un complemento
Negar de todos es mejor hacerlo con un complemento como manuel Administrar XML-RPC.
Si quieres permitir solo para ti mismo. Compruebe si no tiene rpc falso en su .htaccess
y agregue el código a continuación para habilitar solo para su ip.
<Files xmlrpc.php>
order deny,allow
deny from all
allow from 10.123.456.000 //Replace with your ip
</Files>
O permitir solo desde GET,PROPFIND,POST,OPCIONES,PUT,HEAD[403]
RewriteCond %{REQUEST_METHOD} !^(GET|HEAD|POST|PROPFIND|OPTIONS|PUT)$ [NC]
RewriteRule .? - [F,NS,L]
si desea permitir rpc, vaya aquí y siga los pasos:
https://www.wikihow.com/Habilitar-XML-RPC-en-WordPress
En lugar de negar el acceso a él, podría usar un
RewriteRule
para reescribirlo en la página de inicio? Eso también se puede usar para ayudar a ocultar el hecho de que es un sitio de wordpress.– Nick
2 de mayo de 2019 a las 8:13
@Nick Sí, tal vez, pero en general me interesa saber cómo denegar el acceso a un archivo, pero evite que los registros se llenen con estas solicitudes.
– Basj
2 de mayo de 2019 a las 8:17
¿Le importaría explicar por qué diablos uno querría que los archivos de registro mintieran?
– arkascha
6 de enero de 2020 a las 17:31
@arkascha Tenía demasiadas líneas de este tipo en error.log (¿probablemente bots?), así que quería reducir la verbosidad de estas solicitudes xmlrpc.php
– Basj
6 de enero de 2020 a las 18:42
¿Por qué sería eso un problema? No lee esos archivos de todos modos, escanea y luego usa grep o alguna utilidad más compleja. Algunos GB más o menos de archivos de registro realmente no importan, ¿verdad?
– arkascha
6 de enero de 2020 a las 19:44