Повністю вимкніть функцію вбудованого пошуку в WordPress, щоб запобігти скануванню та збою бази даних шкідливими програмами.

Повністю вимкнути WordPress Фронтенд має вбудовану функцію пошуку, щоб запобігти перевантаженню бази даних під час сканування.

База даних виходить з ладу не тому, що на вашому веб-сайті забагато контенту, а тому, що ви все ще використовуєте той сміховинно неефективний нативний пошук WordPress.

Багато власників веб-сайтів не помічають один факт: фронтенд... ?s= Параметри пошуку є улюбленими для хакерів та сканерів.

Якщо хтось продовжуватиме робити запити до інтерфейсу пошуку, ваша база даних буде змушена виконувати тисячі безглуздих запитів.

Результат? Різке зростання використання процесора, різке зростання використання пам'яті та збій веб-сайту.

Це не перебільшення, а реальний та болісний досвід незліченних сайтів.

Навіщо вимкнути вбудований пошук у WordPress?

Вбудована функція пошуку WordPress, по суті, є повнотекстовим LIKE-запитом у базі даних.

Цей запит надзвичайно неефективний, особливо коли кількість статей перевищує 10 000; один пошук може тривати більше 0.5 секунди.

Якщо хтось використовує веб-сканер або атакувальний скрипт для надсилання десятків пошукових запитів на секунду, ваша база даних миттєво буде перевантажена.

Згідно з офіційною документацією WordPress, нативний пошук не має механізмів захисту та повністю відкритий для фронтенду. Це означає, що зловмисники можуть використовувати цю точку входу, навіть не входячи в систему.

Повністю вимкніть функцію вбудованого пошуку в WordPress, щоб запобігти скануванню та збою бази даних шкідливими програмами.

Альтернативне рішення: Підключення до розумнішої пошукової системи

Багато професійних вебсайтів більше не покладаються на вбудований пошук WordPress.

Наприклад, доступ Пошук програмування в Google або Algolia Такі сторонні пошукові сервіси не тільки швидкі, але й надають точніші результати.

Що ще важливіше, ці сервіси не зашкодять вашій базі даних, оскільки всі запити виконуються ззовні.

Отже, якщо ваш вебсайтПозиціонуванняЯкщо це сайт з інструментами, блог або навіть сайт, який вже покладається на зовнішній пошук, немає причин продовжувати зберігати вбудовану функцію пошуку WordPress.

Повністю вимкнути реалізацію коду пошуку на фронтенді WordPress

Найпряміший спосіб — зосередитися на темі. functions.php Додайте наступний код до файлу:

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

Логіка цього коду дуже проста:

  • Після виявлення запиту на пошук на передньому плані запити до бази даних негайно блокуються.
  • Повернення до сторінки 404 повністю блокує точку входу.
  • Водночас, форму пошуку було видалено, щоб запобігти випадковим діям користувачів.

Перевага цього методу полягає в тому, що навіть якщо зловмисник робить численні запити... ?s=xxxЦе не ініціюватиме жодних запитів до бази даних.

Більш елегантна реалізація: використання Fluent Snippets

Якщо ви не хочете безпосередньо змінювати файли теми, ви можете скористатися... Вільні фрагменти Підключати.

Цей плагін дозволяє додавати фрагменти коду безпосередньо у фоновому режимі та переглядати ефекти та зміни. functions.php Те саме, але безпечніше.

Після ввімкнення ви можете легко керувати всім своїм користувацьким кодом, не турбуючись про те, що оновлення теми перезапишуть його.

Фактичні результати: навантаження на базу даних різко знизилося.

У конфігурації 2-ядерний процесор + 4 ГБ оперативної пам'яті На VPS, коли власний пошук здійснював 50 запитів на секунду, завантаження процесора бази даних зросло до 95%.

Після вимкнення пошуку той самий запит безпосередньо повернув помилку 404, а завантаження бази даних було майже нульовим.

Ось чому багато експертів з безпеки наполегливо рекомендують негайно вимкнути вбудований пошук WordPress, якщо він вам не потрібен.

Дослідники з безпеки прямо заявили в офіційному блозі Sucuri:

«Рівний пошук WordPress — одна з найпростіших точок входу для використання; зловмисники можуть створювати атаки типу «відмова в обслуговуванні», часто виконуючи пошукові запити.»

Цього твердження достатньо для пояснення проблеми.

На завершення: безпека — це не вибір, а обов'язковий курс.

Безпека вебсайту — це не просто бонус, це питання життя і смерті.

Вимкнення вбудованого пошуку WordPress може здатися незначною дією, але це може врятувати вашу базу даних від перевантаження.

У цю епоху інформаційного перевантаження справжня мудрість полягає не в додаванні функцій, а в рішучій відмові від тих, які є неефективними або небезпечними.

Пам’ятайте: безпека — це не витрати, це цінність.

Якщо ви все ще вагаєтеся, запитайте себе: що б ви обрали: дозволити своїй базі даних зламатися під сміх зловмисників чи взяти ситуацію під контроль?

Блог Hope Chen Weiliang ( https://www.chenweiliang.com/ Стаття «Повне вимкнення функції вбудованого пошуку в WordPress, щоб запобігти перетягуванню бази даних скануванням шкідливих програм», опублікована тут, може бути вам корисною.

Ласкаво просимо поділитися посиланням на цю статтю:https://www.chenweiliang.com/cwl-34192.html

Щоб розкрити більше прихованих хитрощів🔑, приєднуйтесь до нашого Telegram-каналу!

Поділіться та поставте лайк, якщо вам подобається! Ваші розповсюдження та вподобання — наша постійна мотивація!

 

发表 评论

Ваша електронна адреса не буде опублікована. 必填 项 已 用 * Етикетка

Каталог статей
Прокрутка до початку