Цалкам адключыце ўбудаваную функцыю пошуку ў 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

Калі вы не хочаце непасрэдна змяняць файлы тэмы, вы можаце выкарыстоўваць... 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!

Падзяліцеся і пастаўце лайкі, калі вам гэта падабаецца! Вашы акцыі і лайкі - наша пастаянная матывацыя!

 

发表 评论

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

Каталог артыкулаў
Пракрутка да пачатку