HTML shakllari. WP versiyasini olib tashlash

HitmanPro viruslarni, josuslik dasturlarini, troyanlarni, rootkitlarni va boshqa zararli dasturlarni aniqlaydi, aniqlaydi va yo'q qiladi.

Yordamchi dastur o'zining xatti-harakatlarini tahlil qilish va fayllar klasterini tekshirish mexanizmidan, shuningdek, SophosLabs, Kaspersky va Bitdefender antivirus ma'lumotlar bazalaridan foydalangan holda bulutli skanerlashning innovatsion texnologiyasidan foydalanadi. HitmanPro skaneri potentsial zararli tahdidlarni aniqlaydi va tizim ishlashiga minimal ta'sir ko'rsatadi.

* HitmanPro - bu bepul antivirus skaneri. Oʻchirish funksiyasi 30 kun davomida bepul mavjud.

HitmanPro ning asosiy xususiyatlari

Sizning antivirusingiz so'nggi tahdidlarga bardosh bera oladimi?

Zararli dasturlarning yangi manbasini har qanday joyda, hatto ishonchli saytlarda ham topish mumkin. Ushbu tahdidlar antivirus himoyasidan qochish uchun turli usullardan foydalanishi mumkin. HitmanPro antivirus himoyasi bilan ishlash uchun mo'ljallangan va nol kunlik tahdidlarni - aniqlashdan qochishga harakat qiladigan zamonaviy tahdidlarni topish va zararsizlantirish uchun chuqur xatti-harakatlar tahlilidan foydalanadi.

Xulq-atvorni aniqlash + jamoaviy tajriba

Zararli dasturlarni aniqlash uchun imzo ta'riflaridan foydalanish o'rniga, HitmanPro har bir faylning xatti-harakatlarini zararli faoliyat uchun tekshiradi. Ushbu yondashuv HitmanPro-ga eng so'nggi makkor zararli dasturlar va viruslarni aniqlashdan oldin ularni bloklash imkoniyatini beradi. HitmanPro, shuningdek, yangi tahdidlarning ko'proq shakllarini aniqlash va ularni manbasiga qaytarish uchun SophosLabs zararli dasturlari ma'lumotlar bazasiga ulanadi.

Oʻrnatish yoʻq

HitmanPro 12 megabaytni egallaydi va o'rnatishni talab qilmaydi. Dastur to'g'ridan-to'g'ri ish stoli, USB disk, CD/DVD yoki masofaviy xotiradan ishga tushirilishi mumkin. Sizning antivirusingiz zararli dastur yoki to'lov dasturi tomonidan boshqarilsa ham, HitmanPro to'g'ri ishlaydi va tahdidlarni aniqlay oladi va yo'q qiladi.

Kompleks qayta tiklash

HitmanPro sizga operatsion tizimda o'z o'rnini egallagan doimiy tahdidlarni olib tashlash imkonini beradi va infektsiyalangan tizim resurslarini xavfsiz, original versiyalar bilan almashtiradi, shu bilan birga qayta infektsiyaga urinishlarni blokirovka qilishda davom etadi.

Test mukofotlari

$_SESSION massivi orqali ma'lumotlarni uzatishga bir marta ruxsat beriladi; uzatilgan ma'lumotlar darhol o'chiriladi. Bu, masalan, boshqa modulga kiritilgan ma'lumotlarni formaga "qaytarganda" foydali bo'lishi mumkin.

Barcha xizmat funktsiyalari bir modulga birlashtirilganda yaxshi bo'ladi, asosiy modullar require_once direktivasi orqali ulanadi. Biz xizmat funktsiyalari modulimizni function.php deb nomlaymiz va aytib o'tilgan trimall va sehrli usullarga qo'shimcha ravishda u erga quyidagi funktsiyalarni kiritamiz:

  • read() - joriy ma'lumotlar bazasini o'qiydi va yozuvlar qatorini qaytaradi;
  • write($a) - faylga $a yozuvlar massivini yozadi;
  • get_index_by_name ($a,$name) - mos yozuvni $name nomi bo'yicha qidiradi va uning raqamini (noldan) yoki yozuv topilmasa -1 qiymatini qaytaradi. Bu yangi yozuv qo'shish va mavjudni tahrirlash o'rtasidagi farqni aniqlash uchun foydalidir.

Bundan tashqari, funktsiyalar fayli konfiguratsiya faylini o'z ichiga oladi va seansni boshlaydi - bu imkoniyatlar uni bog'laydigan har qanday modulga kerak bo'lishi mumkin.

Function.php fayli

Esda tutingki, o'qish funksiyasi yozuvlar massivini bo'sh satrlardan qo'shimcha ravishda filtrlaydi (umuman olganda, ular yuzaga kelmasligi kerak) va trimall birinchi navbatda har qanday bo'sh bo'lmagan cheklovchilar qatorini bitta bo'sh joy bilan almashtiradi (ikkinchi preg_replace) va keyin qolgan qatorning boshida va oxirida mumkin bo'lgan qo'shimcha chegaralovchilarni olib tashlang (birinchi preg_replace).

Kodning mosligi nuqtai nazaridan o'qish funktsiyasi bilan bir nuance ham mavjud. Uning yagona qatori anonim funksiyani o'z ichiga olganligi sababli, 5.3 dan past bo'lmagan PHP versiyasidan foydalanilgan deb taxmin qilinadi. Agar kerak bo'lsa, quyidagi kodni filtrlash funksiyasi nomlangan yoki umuman ishlatilmaydigan kod bilan almashtiring, masalan:

Funktsiyani o'qish () ($str=@file_get_contents (FILENAME); $a=portlash("\n",$str); $a;ni qaytarish)

Unicode qatorini kichik harflarga to'g'ri yozish ham muhim (koddagi mb_strtolower ga qarang). Biz bu yerda mahalliy tildan foydalanmaymiz.

Asosiy index.php faylini yozish vaqti keldi shekilli. U quyidagi vazifalarni hal qiladi:

  • add.php moduli tomonidan qayta ishlanadigan yangi yozuv qo'shish formasini ko'rsatish;
  • qo'shish formasi yonida biz qo'shimcha buyruqlarni ko'rsatamiz - parametrlarsiz skriptni "o'z-o'zidan chaqirish" orqali shaklni tozalash (tugma bu erda ishlamaydi, chunki u serverga ma'lumotlarni uzatmaydi) va yozuvlarni saralashga kirish uchun havola. modul sort.php;
  • o'z ishining natijalarini boshqa modullardan $status raqamli o'zgaruvchisi ko'rinishida olish va tegishli xabarlarni ko'rsatish ($status_msg massivi). Nolga teng bo'lgan $status qiymati sukut bo'yicha qabul qilinadi, u dasturning ishlashi haqida qisqacha yordamning chiqishiga mos keladi;
  • agar ma'lumotlar bazasi bo'sh bo'lmasa, uning yozuvlarini ko'rsating va tahrirlash yoki o'chirishga o'tishni ta'minlang.

Jadvalni qo'shimcha tugmalar va havolalar bilan ortiqcha yuklamaslik uchun bosing nomi bilan edit.php moduli yordamida yozuvni tahrirlash va bosish orqali "Raqam" maydoni bo'yicha del.php moduli tomonidan yozuvni o'chirishga mos keladi.

Bir nechta yozuvlar qo'shilganda u qanday ko'rinadi:

"Matn faylida mini-DB" skriptining ko'rinishi

index.php fayli

Endi etishmayotgan modullarga o'tamiz. add.php oddiy vazifaga o'xshaydi - $name va $number o'zgaruvchilarni index.php dan oling va ularni faylga yozing. Shu bilan birga, modul unga bo'sh bo'lmagan ma'lumotlar uzatilganligini tekshirishi kerak, shuningdek, ma'lumotlar bazasida mavjud bo'lgan nom yangi yozuvning kiritilishidan kiritilgan vaziyatni ajrata olishi kerak (qarang: ($id>-). 1) kodda ( ... ) boshqa ( ... ) ). Ikkinchi holda, yozuv har doim oxiriga qo'shiladi, chunki satrlarni alifbo tartibida saralash moduli bo'ladi.

Parametrlar ishlov beruvchisi orqali "o'tkazilgan" $name qatori allaqachon ", ", kabi "tanqidiy" belgilash belgilaridan xoli bo'lishi ham muhimdir.< и >, va maʼlumotlar faylidan oʻqilgan $a massivida barcha qatorlar “xuddi shunday” boʻladi va agar qayta ishlashdan keyin $name 123 ga aylangan boʻlsa, 123 topilmaydi. Shuning uchun, biz get_index_by_name deb ataydigan yozuvlarni qidirish funksiyasi standart htmlspecialchars_decode funksiyasidan foydalanib, asl ko'rinishiga "orqaga" aylantirilgan qator uzatiladi (PHP 5.1 da mavjud). Xuddi shu shaklda satr $_SESSION massivi orqali index.php ga qaytariladi. Bu biroz qulaylik yaratadi - yangi yozuv kiritilgandan so'ng, uning ma'lumotlari shaklda qoladi va nomidan biroz farq qiladigan boshqa yozuvni kiritish mumkin bo'ladi ("Ivanov" dan keyin "Ivanova").

Xo'sh, moduldan modulga qaytish mutlaqo standart - standart sarlavha funktsiyasi orqali. Esda tutingki, modul brauzerga hali hech narsa chiqarmagan bo'lsagina foydalanish mumkin.

add.php fayli

Endi tahrirlash haqida, u edit.php da amalga oshiriladi. Tahrirlash formasi qo'shish formasi bilan deyarli bir xil, biz formani ko'rsatish uchun alohida funksiya yaratishga juda dangasa bo'ldik. Eng muhimi, modulning o'zi tahrirlash shakli orqali uzatiladigan ma'lumotlar protsessoriga aylanadi va shuning uchun foydalanuvchi "Saqlash" tugmasini bosgandan so'ng, u hozirgina chaqirilgan vaziyatdan ajralib turishi kerak. Oxirgi vazifa - tekshirish

Agar (!empty($_POST["yuborish"]) && !empty($name) && isset($number) && isset($id)) (

tugma bosilganligini va barcha ma'lumotlar uzatilganligini aniqlash. Ikkinchi filial -

Aks holda (isset($a[$id])) (

$a massivida yozuv mavjud bo'lgan vaziyat uchun mo'ljallangan, uning soni skriptga uzatiladi va uni tahrirlash kerak. Kirish raqami yashirin HTML maydonida saqlanadi.

edit.php fayli

Del.php yozuvini o'chirish moduli juda oddiy bo'ladi, unga faqat $id yozuvini ($a massividagi element raqami) olish kerak, massivdan mos elementni olib tashlash, faylni qayta yozish va asosiy modulga qaytish kerak. sahifa.

del.php fayli

Nihoyat, sort.php saralash moduli yangi muammoni keltirib chiqaradi - Unicode satrlarini katta va kichik harflarni ajratmasdan alifbo tartibida qanday tartiblash mumkin? Standart tartiblash funksiyasidan foydalangan holda "to'g'ridan-to'g'ri" saralash deyarli mos kelmaydi - u kichik va katta harfni turli belgilar deb hisoblaydi. Biz mahalliy parametrni o'rnatmadik, ayniqsa uni o'rnatish uchun barcha operatsion tizimlar uchun yagona kirish shakli mavjud emas.

Keling, elementlarni solishtirish uchun maxsus funktsiyaga ega massivlarni tartiblash uchun barcha funktsiyalardan usortni tanlash bilan cheklanamiz.

Bir belgili Unicode satrlarini "to'g'ridan-to'g'ri" taqqoslash mutlaqo to'g'ri emasga o'xshaydi, lekin strcmp satrlarni bayt-bayt bilan taqqoslaydi va biz uchun mos emas, lekin umuman olganda taqqoslash to'g'ri har qanday Unicode'dagi strings - bu juda qiyin vazifa... Rus va ingliz tillari uchun tizimda hamma narsa men uchun ishladi, masalan, tartiblashdan keyin men tabiiy so'z tartiblarini oldim, masalan.

Abba, Avka, avklit, basya, Bobi, Bobik, bobik, Bobina

Fayl sort.php

Biz qilishimiz kerak bo'lgan yagona narsa - .htaccess nomli papkada fayl yaratish, u erda standart kodlashni Unicode ga o'rnatamiz va sayt uchun tirnoqlarni o'rnatish bo'yicha ko'rsatmalarni ko'rsatamiz, shuning uchun...

Xuddi shu papkada bo'sh (0 bayt) data.txt faylini yarating (agar barcha huquqlar sozlangan bo'lsa, ixtiyoriy).

File.htaccess AddDefaultCharset utf-8 php_flag magic_quotes_gpc oʻchirilgan php_flag magic_quotes_runtime oʻchirilgan php_flag magic_quotes_sybase oʻchirilgan

Siz nima bo'lganini ko'rishingiz va topilgan muammolar haqida menga xabar berishingiz mumkin, men skriptni juda tez, 2 bosqichda yozdim va men biror narsani o'ylamagan bo'lishim mumkin :)

Foydali parchalar (kodlar) to'plami. Kodlar mavzuni tahrirlash yoki yaratishda umumiy vazifalar uchun mo'ljallangan.

Odatda, bu kodlarning barchasi mavzuning functions.php fayliga joylashtirilishi kerak. Yoki alohida.php faylini yaratishingiz, kodni u yerga joylashtirishingiz va faylni mavzuning functions.php ga quyidagi tarzda ulashingiz mumkin:

// parchalarni ulash require_once "functions-snippets.php";

TinyMCE muharriri uchun CSS ko'rinishi

Uslublar faylini WordPress TinyMCE muharririga ulaydi. Shunday qilib, biz administrator panelida muharrir uslublarini o'rnatishimiz va postni tahrirlashda uning old qismida qanday ko'rinishini ko'rishimiz mumkin.

// TinyMCE muharriri uchun uslublar // Mavzu papkasida "editor-styles.css" faylini yaratishingiz kerak add_action("current_screen", "my_theme_add_editor_styles"); funktsiya my_theme_add_editor_styles() ( add_editor_style("editor-styles.css"); )

Kirish sahifasi uchun CSS

## Kirish sahifasi uchun CSS ## Mavzu papkasida "wp-login.css" faylini yaratishingiz kerak add_action("login_head", "my_loginCSS"); my_loginCSS() funktsiyasi (echo ""; )

Administrator paneli uchun CSS

Administrator panelining barcha sahifalarida uslublar faylini o'z ichiga oladi. Shunday qilib, siz boshqaruv paneli uslublarini qulay tarzda o'zgartirishingiz va to'ldirishingiz mumkin.

## Administrator paneli uchun CSS uslublari. Mavzu papkasida "wp-admin.css" faylini yaratishingiz kerak add_action("admin_enqueue_scripts", "my_admin_css", 99); funktsiya my_admin_css())( wp_enqueue_style("my-wp-admin", get_template_directory_uri() ."/wp-admin.css"); )

Old qismdan administrator panelini olib tashlash

Mavzu qattiq (suzuvchi) bloklardan foydalanganda administrator paneli xalaqit berishi mumkin. Bunday hollarda, ba'zan bu barni olib tashlash osonroq bo'ladi.

## Administrator panelini oldingi qo'shimcha_filtrdan olib tashlaydi("admin_barini_ko'rsatish", "__qaytish_false"); ## Vidjetlarni qoʻllab-quvvatlashni yoqing. Vidjetlar uchun hudud qo‘shing, agar(function_exists("register_sidebar"))( register_sidebar(array("before_widget" => "", "after_widget" => "", "fore_title" => "", "after_title" => "" ,)))

Maxsus menyuni qo'llab-quvvatlashni faollashtirish

Menyu uchun hududni (joylashuvni) qayd qiladi va menyuni qo'llab-quvvatlashni yoqadi. Ushbu kodni administrator paneliga o'rnatgandan so'ng, maxsus menyular yaratish va ularni ushbu kod tomonidan yaratilgan joylarga biriktirish mumkin bo'ladi. Menyu shablonida u wp_nav_menu() funksiyasi tomonidan ko'rsatiladi.

## Maxsus menyularni qo'shish register_nav_menus(array("main" => "Asosiy menyu", "in_footer" => "Altbilgidagi menyu",));

Xabarlar va sharhlarning RSS tasmasiga havolalar qo'shish

Maxsus fon tasviri yoki fon ## Administrator panelidan fon tasvirini o'rnatish imkoniyatini beradi add_theme_support("custom-fon");

Natijada, kod chiqadi:

body.custom-fon (fon rangi: #bdd96e; )

Matn vidjetidagi qisqa kodlarni o'z ichiga oladi

Ko'pgina plaginlar qisqa kodlardan foydalanadi, ammo hamma ham vidjetlarga ega emas. Bunday holda, "Matn" vidjetida plaginning qisqa kodidan foydalanish qulay bo'ladi.

## "Matn" vidjetidagi qisqa kodlar if(! is_admin())( add_filter("widget_text", "do_shortcode", 11); )

Administrator sohasidagi kontent maydonida sukut bo'yicha tasodifiy matn

Yangi yozuv (post yoki sahifa) yaratishda, ba'zan u erda qanday va nima yozishni tushuntirib beradigan ba'zi eslatmalar bo'lishi qulay. Buning uchun tarkibga standart matnni kiritishingiz mumkin:

## Muharrir uchun tasodifiy standart matn add_filter("default_content", "writing_couragement_func"); write_encouragement_func($content) funksiyasi ( global $post_type; // Muharrir uchun matnlar, post turi if($post_type == "post")( $array = array("Ba'zi xabar", "Ba'zi xabar", ); return $ array[ array_rand($array) ]; ) // Muharrir uchun matnlar, post turi sahifasi else ( $array = array("Ba'zi xabar", "Ba'zi xabar",); return $array[ array_rand($array) ]; ))

Qidiruv sahifasidagi yozuvlar sonini o'zgartirish

Odatiy bo'lib, qidiruv sahifasi sozlamalarda o'rnatilganidek, sahifadagi boshqa joylarda bo'lgani kabi bir xil miqdordagi yozuvlarni ko'rsatadi.

Ushbu misol sahifada 100 ta yozuvni qanday ko'rsatishni ko'rsatadi.

## qidiruv sahifasidagi postlar miqdorini o'zgartirish - bu erda 100 ta qo'shish_aktsiyasini o'rnating ("pre_get_posts", "search_results_per_page_func"); funksiya search_results_per_page_func($query) ( // qidiruv sahifasida soʻrov agar(! is_admin() && $query->is_main_query() && $query->is_search())( $query->set("posts_per_page", 100) ; ) $ so'rovini qaytaring; )

Iqtibosda qancha so'z bo'lishi kerakligini aniqlaydi, bu odatda postlarning arxivlangan sahifalarida (toifalar, teglar) ko'rsatiladi. Kotirovka the_excerpt() funktsiyasi tomonidan chiqariladi.

## Qo'shtirnoq uzunligini o'zgartirish add_filter("ko'chirma_uzunligi", "maxsus_ko'chirma_uzunligi_funksiyasi"); custom_excerpt_length_func($length) funksiyasi (qaytish 20; // so'zlar soni)

Administrator panelidagi profildan maydonlarni olib tashlash: AIM, Yahoo IM, Jabber ## profildan maydonlarni olib tashlaydi: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "remove_contactmethod"); function remove_contactmethod($contactmethods) ( unset($contactmethods["aim"]); unset($contactmethods["jabber"]); unset($contactmethods["yim"]); return $contactmethods; ) Profilga maydonlar qo'shish adminda: facebook, twitter ## Profilga maydonlar qo'shadi: AIM, Yahoo IM, Jabber / Google Talk add_filter("user_contactmethods", "add_contactmethod"); funktsiya add_contactmethod($contactmethods) ( $contactmethods["twitter"] = "Twitter"; $contactmethods["facebook"] = "Facebook"; return $contactmethods; ) Yon panel mavjud bo'lsa tegga has_sidebar sinfini qo'shish

Ushbu buzish ishlashi uchun mavzu tegi odatdagidek body_class() shablon tegidan foydalanishi kerak.

## Yon paneldagi add_filtr ("tana_sinf", "has_sidebar_func") bo'lsa, "has_sidebar" klassini '' tegiga qo'shish; funksiya has_sidebar_func($classes)( if(is_active_sidebar("sidebar"))( // class qo'shing $classes = "has_sidebar"; ) return $classes; )

Konsolga vidjet qo'shish

Ba'zan joriy mavzuga oid muhim ma'lumotlarni joylashtirish uchun administrator paneli konsoliga vidjet qo'shish foydali bo'lishi mumkin.

## Administrator panelidagi konsoldagi maxsus vidjet add_action("wp_dashboard_setup", "mening_maxsus_boshqarish paneli_vidjetlari"); funktsiya my_custom_dashboard_widgets() ( wp_add_dashboard_widget("custom_help_widget", "Mavzu qaydlari", "custom_dashboard_help"); ) function custom_dashboard_help() ( echo "

"Mening mavzuim" mavzusiga xush kelibsiz! Mana mavzu bo'yicha ba'zi eslatmalar.";)

Biz ushbu vidjetni olamiz:

Sharhga javob skripti ham kiradi

Ushbu skript "Javob berish" tugmasini bosganingizda sharh shaklini siljitadi.

## Sharhga javob skriptini ulash add_action("wp_footer", "enable_threaded_comments"); function enable_threaded_comments())( if(is_singular() && comments_open() && get_option("thread_comments")) wp_enqueue_script("comment-reply"); )

Rasmlar Post eskizlarini yoqing

Odatiy bo'lib, postlarda post eskizini o'rnatishingiz mumkin bo'lgan blok mavjud emas. Bunday blok paydo bo'lishi uchun uni yoqish kerak. Eskizni qo'llab-quvvatlashni yoqishingiz kerak. Bu juda oddiy tarzda amalga oshiriladi:

## Post eskizlarini yoqish add_theme_support("post-thumbnails"); set_post_thumbnail_size(200, 200, rost); // Oddiy post eskizlari

Qo'shimcha oraliq eskiz o'lchamlarini yaratish

Tasvirni yuklaganingizda, uning uchun qo'shimcha o'lchamlar - eskizlar yaratiladi. Siz o'zingizning o'lchamlaringizni osongina asosiy o'lchamlarga - o'zboshimchalik bilan qo'shishingiz mumkin.

## Oraliq eskiz oʻlchamlarini yaratish, agar(funktsiya_mavjud boʻlsa("rasm_oʻlchamini_qoʻshish"))( add_image_size("mening oʻlchamim-gorizont", 300, 200, rost); add_image_size("mening oʻlchamim-vertikal", 400, 500, rost); )

Ro'yxatdan o'tgan o'lchamni olish uchun funktsiyadan foydalaning:

RSS tasmasiga eskiz qo'shish

Ushbu kod RSS tasmasining yuqori qismiga post eskizini qo'shadi.

## RSS tasmasiga eskiz qo'shish add_filter("the_excerpt_rss", "add_thumbnail_to_feed"); //filtrni qo'shish("tarkibni_tasma", "tasmaga_eskiz_qo'shish"); // odatda bu ilgak ishlatilmaydi, lekin u ham bo'lishi mumkin... funksiya add_thumbnail_to_feed($content)( $img = get_the_post_thumbnail(null, array(100, 80), array("align" => "left", " style" => "margin-right:15px;")); $content = $img. ​​$content; return $content; )

Tasvirlarni tegga o'rashni bekor qiling

Tarkibida

The_content() yordamida mavzudagi tarkibni ko'rsatishda wpautop() funksiyasi ishga tushadi va natijada alohida satrda joylashgan, u oʻraladi

Bular. edi bo'ldi.

Ushbu misol bu g'alati xatti-harakatni qanday olib tashlashni ko'rsatadi.

## ` tegidagi tasvirlarni oʻrashni bekor qiling

` kontentni qo'shish_filtrida("tarkib", "img_ptags_funksiyasini_o'chirish"); remove_img_ptags_func($content) funktsiyasi (preg_replace("/"ni qaytaring

\s*((?:]+>)?\s* ]+>\s*(?:)?)\s*/i", "\1", $content); ) // IE uchun html5 skriptini cdn add_action bilan ulash("wp_head", "IEhtml5_shim_func"); funktsiya IEhtml5_shim_func())( echo ""; // yoki sizga chop etish uchun yordam kerak bo'lsa // echo ""; )

Yozuvlarni tahrirlashning maksimal sonini belgilang

Odatiy bo'lib, yozuvlarni qayta ko'rib chiqish soni cheklanmagan va bu ma'lumotlar bazasini keraksiz ravishda bezovta qilishi mumkin. Qayta ko'rib chiqishni butunlay o'chirib qo'yish ham eng yaxshi yechim emas, chunki yozuvni tahrirlashda biror narsa noto'g'ri bo'lib, kiritilgan ma'lumotlar yo'qoladi - ish tugaydi...

Ideal holda, tahrirlar sonini cheklang, masalan, 5 ta:

If(! defined("WP_POST_REVISIONS")) define("WP_POST_REVISIONS", 5);

Konstanta plaginda yoki undan oldin aniqlangan bo'lishi kerak.

Himoya WP versiyasini olib tashlash

Bu xakerlar WP versiyasini bilmasligi va zaif tomonlarini aniqlay olmasligi uchun kerak. Ushbu kod bilan bir qatorda siz sayt ildizidagi readme.html faylini ham o'chirishingiz kerak, chunki u joriy versiyani ham ko'rsatadi.

## WP versiyasini to'liq olib tashlash ## Shuningdek, siz sayt ildizidagi readme.html faylini o'chirishingiz kerak remove_action("wp_head", "wp_generator"); // sarlavhadan add_filter("the_generator", "__return_empty_string"); // tasma va URL manzillaridan

Kirish sahifasida xato xabarlarini o'chirib qo'ying

Login yoki parolni kiritishda xatolik yuzaga kelsa, WP aynan nima noto'g'ri kiritilganligi haqida xabar beradi: login yoki parol. Bu parolni taxmin qiluvchilar uchun qo'shimcha ma'lumot beradi.

Mavzular va plaginlar uchun administrator panelidagi fayllarni tahrirlash imkoniyatini o'chirib qo'ying

To'g'ridan-to'g'ri administrator panelidan fayllarni tahrirlash imkoniyati katta xavfsizlik teshigiga aylanishi mumkin. Keling, uni yopamiz.

## Mavzular va plaginlar uchun administrator panelidagi fayllarni tahrirlash imkoniyatini o'chirib qo'ying("FILE_TUZISHNI_EDIT", rost);

Nashrni xmlrpc.php orqali yoping

Odatiy bo'lib, xmlrpc.php fayli orqali xabarlarni nashr qilish imkoniyati yoqilgan.

Bu tashqaridan, masalan, elektron pochtadan xabarlarni nashr qilish imkoniyatidir ... Ko'pincha, bu funksiya kerak emas va unda potentsial teshiklar bo'lishi mumkin. Shuning uchun, ko'pincha uni o'chirib qo'yish maqsadga muvofiqdir. Aytgancha, WordPress-ning oldingi versiyalarida bu funksiya sukut bo'yicha o'chirilgan va undan foydalanish uchun uni yoqish kerak edi.

## xmlrpc.php orqali nashr qilish imkoniyatini o'chirib qo'ying add_filter("xmlrpc_enabled", "__return_false");

Hatto shaxsiy veb-saytni yaratishda ham, undan keyingi foydalanishning barcha mumkin bo'lgan usullarini hamma ham ko'ra olmaydi. Saytni yanada rivojlantirish uchun zamin tayyorlash juda muhimdir. Agar siz ilgari veb-sayt yaratgan bo'lsangiz va barcha sahifalarga sukut bo'yicha .html kengaytmasini tayinlagan bo'lsangiz va shundan keyingina PHP dan foydalanishga qaror qilsangiz, o'qing.

Ilgari, SSI dan foydalanish uchun sayt sahifalari nomlari .shtml kengaytmasi bilan tugashi kerak edi, ammo bugungi kunda ko'pchilik Internet-serverlar SSI dan .html kengaytmali sahifalarda ishlatilishi mumkin bo'lgan tarzda tuzilgan, bu juda qulay. PHP butunlay boshqacha hikoya - .php kengaytmasi standart kengaytmadir. Veb-sayt ishlab chiquvchilari, ma'lum bir dasturlash tili ishlatilishini oldindan bilib, darhol to'g'ri kengaytmani tayinlaydilar.

Lekin barcha sahifalar .html kengaytmasi bilan tugasa nima qilish kerak?

HTML kengaytmasini PHP bilan almashtiring

Buni bir necha usul bilan amalga oshirish mumkin. Eng aniq yo'l - barcha sahifalarga .php kengaytmasini berish yoki mavjud kengaytmalarni o'zgartirish (.html, .shtml va boshqalar). Bu usulning kamchiliklari bor. Misol uchun, .html kengaytmali allaqachon indekslangan sahifalar qidiruv tizimlari tomonidan qayta indekslanishi kerak bo'ladi. Yoki bundan ham yomoni, ma'lum bir sahifaga aniq bog'langan barcha tashqi havolalar yaroqsiz bo'ladi. Va siz ushbu o'zgarishlar haqida har bir sayt egalarini xabardor qilishingiz va har bir sahifa uchun 301 xatolik bilan boshqa sahifa yaratishingiz kerak bo'ladi. Albatta, bitta kengaytmani boshqasiga o'zgartirish maqbuldir, lekin agar saytda allaqachon ko'plab sahifalar va boshqa saytlarning turli sahifalariga havolalar mavjud bo'lsa-chi?

Ongli sababga ko'ra, hozirgi vaqtda ushbu saytning barcha sahifalari html kengaytmasi bilan tugaydi va men yuqoridagi o'zgarishlarni qilishni xohlamadim va shu bilan o'zim uchun keraksiz qiyinchiliklarni yaratdim.

Siz buni boshqa yo'l bilan qilishingiz mumkin. Agar saytni joylashtirgan server mod_rewrite-ni qo'llab-quvvatlasa (ko'p hollarda shunday qiladi) va .htaccess fayliga kirish imkoni bo'lsa, siz ushbu faylga quyidagi qatorlarni qo'shishingiz mumkin:

RewriteRule da RewriteEngine ^(.*)\.html $1\.php

Ushbu kodni .htaccess ga qo'shsangiz, tashvishlanishingiz shart emas. .html kengaytmasi bilan so'ralgan barcha mavjud bo'lmagan sahifalar Apache mo''jizalari tufayli avtomatik ravishda .php kengaytmasi bilan almashtiriladi. Ammo bu usul yagona emas. Xuddi shu .htaccess faylida quyidagilarni yozishingiz mumkin:

AddHandler ilovasi/x-httpd-php .php .html .htm

Menimcha, eng muvaffaqiyatli yo'l. Bu HTML sahifalarni PHP sahifalariga tenglashtiradi, ya'ni endi barcha PHP funksiyalaridan HTML kengaytmali sahifalarda foydalanish mumkin. Agar sizda .htaccess fayliga kirish imkoningiz bo'lmasa, siz hosting kompaniyasiga xat yozishingiz va administratorlardan Apache konfiguratsiyasiga (httpd.conf) sayt uchun kerakli qiymatni kiritishni xushmuomalalik bilan so'rashingiz mumkin.

Aytgancha, agar bundan oldin sayt SSIdan foydalangan bo'lsa:

keyin yangi PHP holatida ushbu kod quyidagi bilan almashtirilishi kerak:

Xo'sh, hammasi shu, menimcha, yuqoridagi usullardan biri yordam beradi.