Directorio de artículos
Deshabilitar completamente WordPress La interfaz de usuario incluye una función de búsqueda nativa para evitar que la base de datos se sature con los escaneos.
La base de datos se bloquea no porque tu sitio web tenga demasiado contenido, sino porque sigues utilizando ese buscador nativo de WordPress ridículamente ineficiente.
Muchos propietarios de sitios web pasan por alto un hecho: el front-end... ?s= Los parámetros de búsqueda son uno de los recursos favoritos de los hackers y los escáneres.
Si alguien realiza repetidamente solicitudes a la interfaz de búsqueda, su base de datos se verá obligada a ejecutar miles de consultas sin sentido.
¿El resultado? El uso de la CPU se disparó, el uso de la memoria se disparó y el sitio web colapsó.
Esto no es una exageración, sino una experiencia real y dolorosa vivida en innumerables lugares.
¿Por qué desactivar la búsqueda nativa de WordPress?
La función de búsqueda integrada de WordPress es esencialmente una consulta LIKE de texto completo en la base de datos.
Esta consulta es extremadamente ineficiente, especialmente cuando el número de artículos supera los 1; una sola búsqueda puede tardar más de 0.5 segundos.
Si alguien utiliza un rastreador web o un script de ataque para enviar docenas de solicitudes de búsqueda por segundo, su base de datos se verá saturada al instante.
Según la documentación oficial de WordPress, la búsqueda nativa no cuenta con mecanismos de protección y está completamente expuesta al usuario. Esto significa que los atacantes pueden explotar este punto de entrada sin siquiera iniciar sesión.

Solución alternativa: Conéctese a un motor de búsqueda más inteligente.
Muchos sitios web profesionales ya no dependen del buscador nativo de WordPress.
Por ejemplo, acceso Búsqueda de programación de Google o Algolia Estos servicios de búsqueda de terceros no solo son rápidos, sino que también proporcionan resultados más precisos.
Y lo que es más importante, estos servicios no perjudicarán su base de datos, ya que todas las consultas se realizan externamente.
Entonces, si su sitio webPosicionamientoSi se trata de un sitio web de herramientas, un blog o incluso un sitio que ya depende de la búsqueda externa, no hay razón para seguir manteniendo la función de búsqueda integrada de WordPress.
Deshabilitar completamente la implementación del código de búsqueda del front-end de WordPress
La forma más directa es centrarse en el tema. functions.php Agregue el siguiente código al archivo:
// 禁用 WordPress 前台搜索功能,防止被扫描拖垮数据库
function disable_wp_search( $query, $error = true ) {
if ( is_search() && !is_admin() ) {
$query->is_search = false;
$query->query_vars['s'] = false;
$query->query['s'] = false;
if ( $error == true ) {
// 直接返回 404 页面,不走任何数据库查询
$query->set_404();
status_header( 404 );
nocache_headers();
}
}
}
add_action( 'parse_query', 'disable_wp_search' );
add_filter( 'get_search_form', '__return_empty_string' );
La lógica de este código es muy simple:
- Una vez que se detecta una solicitud de búsqueda en primer plano, las consultas a la base de datos se bloquean inmediatamente.
- Al regresar a una página 404, el punto de entrada queda completamente bloqueado.
- Al mismo tiempo, se eliminó el formulario de búsqueda para evitar acciones accidentales por parte del usuario.
La ventaja de este método es que, incluso si un atacante realiza numerosas solicitudes... ?s=xxxNo generará ninguna consulta a la base de datos.
Una implementación más elegante: usando Fluent Snippets.
Si no quieres modificar directamente los archivos del tema, puedes usar... Fragmentos fluidos Enchufar.
Este plugin te permite añadir fragmentos de código directamente en segundo plano y ver los efectos y las modificaciones. functions.php Igual, pero más seguro.
Una vez habilitada, podrás gestionar fácilmente todo tu código personalizado sin preocuparte de que las actualizaciones del tema lo sobrescriban.
Resultados reales de las pruebas: La presión sobre la base de datos disminuyó drásticamente.
En una configuración de CPU de 2 núcleos + 4 GB de RAM En el VPS, cuando la búsqueda nativa realizaba 50 solicitudes por segundo, la utilización de la CPU de la base de datos se disparaba hasta el 95%.
Tras deshabilitar la búsqueda, la misma solicitud devolvió directamente un error 404 y la carga de la base de datos fue prácticamente nula.
Por eso, muchos expertos en seguridad recomiendan encarecidamente desactivar la búsqueda nativa de WordPress de inmediato si no la necesitas.
Los investigadores de seguridad afirmaron explícitamente en el blog oficial de Sucuri:
"La función de búsqueda nativa de WordPress es uno de los puntos de entrada más fáciles de explotar; los atacantes pueden provocar ataques de denegación de servicio realizando frecuentes solicitudes de búsqueda."
Esta afirmación es suficiente para explicar el problema.
En conclusión: la seguridad no es una opción, sino una obligación.
La seguridad de un sitio web no es solo una ventaja, es una cuestión de vida o muerte.
Deshabilitar la búsqueda nativa de WordPress puede parecer una acción insignificante, pero puede evitar que tu base de datos se sature.
En esta era de sobrecarga de información, la verdadera sabiduría no reside en añadir funciones, sino en descartar decisivamente aquellas que son ineficientes o peligrosas.
Recuerda: la seguridad no es un coste, es un valor.
Si aún dudas, pregúntate lo siguiente: ¿Prefieres dejar que tu base de datos colapse entre las risas de los atacantes, o prefieres tomar el control de la situación?
Esperanza Chen Weiliang Blog ( https://www.chenweiliang.com/ El artículo "Deshabilitar completamente la función de búsqueda nativa en WordPress para evitar que el escaneo de programas maliciosos sobrecargue la base de datos", compartido aquí, puede resultarle útil.
Bienvenido a compartir el enlace de este artículo:https://www.chenweiliang.com/cwl-34192.html
