Desactiva completamente a función de busca nativa en WordPress para evitar que programas maliciosos escaneen e fagan fallar a base de datos.

Desactivar completamente WordPress A interface inclúe unha función de busca nativa para evitar que a base de datos se vexa sobrecargada pola análise.

A base de datos non se está a colapsar porque o teu sitio web teña demasiado contido, senón porque aínda estás a usar esa busca nativa de WordPress ridiculamente ineficiente.

Moitos propietarios de sitios web pasan por alto un feito: o front-end... ?s= Os parámetros de busca son os favoritos dos piratas informáticos e dos escáneres.

Se alguén segue facendo solicitudes á interface de busca, a túa base de datos verase obrigada a executar miles de consultas sen sentido.

O resultado? O uso da CPU disparouse, o uso da memoria disparouse e o sitio web colapsou.

Isto non é unha esaxeración, senón unha experiencia real e dolorosa de innumerables sitios.

Por que desactivar a busca nativa de WordPress?

A función de busca integrada de WordPress é esencialmente unha consulta LIKE de texto completo na base de datos.

Esta consulta é extremadamente ineficiente, especialmente cando o número de artigos supera os 1; unha única busca pode levar máis de 0.5 segundos.

Se alguén usa un rastreador web ou un script de ataque para enviar ducias de solicitudes de busca por segundo, a túa base de datos verase desbordada ao instante.

Segundo a documentación oficial de WordPress, a busca nativa non ten mecanismos de protección e está completamente exposta ao front-end. Isto significa que os atacantes poden aproveitar este punto de entrada sen sequera iniciar sesión.

Desactiva completamente a función de busca nativa en WordPress para evitar que programas maliciosos escaneen e fagan fallar a base de datos.

Solución alternativa: conectarse a un motor de busca máis intelixente

Moitos sitios web profesionais xa non dependen da busca nativa de WordPress.

Por exemplo, o acceso Busca de programación de Google ou Algolia Estes servizos de busca de terceiros non só son rápidos, senón que tamén proporcionan resultados máis precisos.

Máis importante aínda, estes servizos non prexudicarán a túa base de datos porque todas as consultas se realizan externamente.

Entón, se o teu sitio webPosicionamentoSe se trata dun sitio de ferramentas, un blog ou mesmo un sitio que xa depende da busca externa, non hai razón para seguir mantendo a función de busca integrada de WordPress.

Desactivar completamente a implementación do código de busca front-end de WordPress

A maneira máis directa é centrarse no tema. functions.php Engade o seguinte código ao ficheiro:

// 禁用 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' );

A lóxica deste código é moi simple:

  • Unha vez que se detecta unha solicitude de busca en primeiro plano, as consultas da base de datos bloquéanse inmediatamente.
  • Volver a unha páxina 404 bloquea completamente o punto de entrada.
  • Ao mesmo tempo, eliminouse o formulario de busca para evitar accións accidentais do usuario.

A vantaxe deste método é que mesmo se un atacante fai numerosas solicitudes... ?s=xxxNon activará ningunha consulta á base de datos.

Unha implementación máis elegante: usar fragmentos de datos Fluent

Se non queres modificar directamente os ficheiros do tema, podes usar... Fragmentos fluídos Enchufar.

Este complemento permíteche engadir fragmentos de código directamente en segundo plano e ver os efectos e as modificacións. functions.php O mesmo, pero máis seguro.

Unha vez activado, podes xestionar facilmente todo o teu código personalizado sen preocuparte de que as actualizacións do tema o sobrescriban.

Resultados reais da proba: a presión da base de datos caeu drasticamente.

Nunha configuración de CPU de 2 núcleos + 4 GB de RAM No VPS, cando a busca nativa realizaba 50 solicitudes por segundo, a utilización da CPU da base de datos subía ata o 95 %.

Despois de desactivar a busca, a mesma solicitude devolveu un erro 404 directamente e a carga da base de datos foi case nula.

É por iso que moitos expertos en seguridade recomendan encarecidamente desactivar a busca nativa de WordPress inmediatamente se non a necesitas.

Os investigadores de seguridade declararon explicitamente no blog oficial de Sucuri:

"A busca nativa de WordPress é un dos puntos de entrada máis fáciles de explotar; os atacantes poden crear ataques de denegación de servizo facendo solicitudes de busca frecuentes."

Esta afirmación é suficiente para explicar o problema.

En conclusión: a seguridade non é unha opción, senón unha materia obrigatoria.

A seguridade dun sitio web non é só unha vantaxe, é unha cuestión de vida ou morte.

Desactivar a busca nativa de WordPress pode parecer unha pequena acción, pero pode evitar que a túa base de datos se vexa sobrecargada.

Nesta era da sobrecarga de información, a verdadeira sabedoría non reside en engadir funcionalidades, senón en descartar decididamente aquelas que son ineficientes ou perigosas.

Lembra: a seguridade non é un custo, é un valor.

Se aínda dubidas, pregúntate isto: preferirías deixar que a túa base de datos se bloquease entre as risas dos atacantes ou preferirías tomar o control da situación?

发表 评论

O teu enderezo de correo electrónico non será publicado. Utilízanse os campos obrigatorios * Etiqueta

Directorio de artigos
Volver arriba