Vbulletin mashinalari. Qaysi forum yaxshiroq vBulletin yoki PunBB. Katta taniqli kompaniya yoki yangi noma'lum

Siz vBulletin tomonidan qo'llab-quvvatlanadigan forumlarni ko'p marta ko'rgansiz. Bunday forumlar endi modaning eng yuqori darajasida emas, ammo vBulletin hali ham eng mashhur dvigatellardan biri hisoblanadi. Uning so'nggi (beshinchi) versiyasida ma'murning hayotini katta darajada buzishi mumkin bo'lgan bir nechta zaifliklar topildi. Ushbu maqolada men ulardan qanday ekspluatatsiya qilinishini tushuntiraman.

Birinchi muammo - foydalanuvchi ma'lumotlarini noto'g'ri filtrlash. Bu haqda noma'lum qolishni so'ragan mustaqil xavfsizlik tadqiqotchisi xabar berdi. Zaiflik, ba'zi bir cheklovlarga ega bo'lsa-da, juda muhim maqomga ega bo'ldi, chunki u har qanday faylni o'qishga va maqsadli tizimda o'zboshimchalik bilan kodni bajarishga imkon beradi.

Ikkinchi zaiflik TRUEL IT tadqiqotchilari tomonidan topildi va CVE-2017-17672 identifikatorini oldi. Bu dvigateldagi ma'lumotlarni deserializatsiya qilishning o'ziga xos xususiyatlari bilan bog'liq va tajovuzkor tomonidan tizimdagi o'zboshimchalik bilan fayllarni o'chirish uchun ishlatilishi mumkin.

Ikkala masala bo'yicha batafsil hisobotlar SecuriTeam-ning "Xavfsizlikdan tashqari" dasturi doirasida nashr etildi. Shuningdek, zaif tomonlarni namoyish qilish uchun PoC ekspluatatsiyalari mavjud. Keling, bularning barchasini tartibda ko'rib chiqamiz.

Tayyorgarlik

Men WAMP tarqatilishini server sifatida ishlatganman.

Biz fayllarni o'qiymiz, buyruqlarni bajaramiz

Shunday qilib, birinchi zaiflikning sababi router parametrlarini qayta ishlashda noto'g'ri mantiqdir, bu tajovuzkorga diskdagi har qanday faylni qo'shish va unga kiritilgan PHP kodini qo'shish orqali qo'shish imkonini beradi.

Bizning yo'limiz eng muhim fayl - index.php bilan boshlanadi, bu erda dasturning asosiy initsializatsiyasi amalga oshiriladi.

/index.php
48: $ app \u003d vB5_Frontend_Application :: init ("config.php"); ... 60: $ routing \u003d $ app-\u003e getRouter (); 61: $ method \u003d $ routing-\u003e getAction (); 62: $ template \u003d $ routing-\u003e getTemplate (); 63: $ class \u003d $ routing-\u003e getControllerClass ();

Keling, vB5_Frontend_Application :: init usulini ko'rib chiqamiz.

/includes/vb5/frontend/application.php
13: vB5_Frontend_Application klassi vB5_ApplicationAbstract 14-ni kengaytiradi: (15: public static function init ($ configFile) 16: (17: parent :: init ($ configFile); 18: 19: self :: $ instance \u003d new vB5_Frontend_Application (); 20: self :: $ instance-\u003e router \u003d new vB5_Frontend_Routing (); 21: self :: $ instance-\u003e router-\u003e setRoutes ();

Bu erda biz setRoutes usuli bilan qiziqamiz.

47: public function setRoutes () 48: (49: $ this-\u003e processQueryString (); ... 54: if (isset ($ _ GET ["routestring"])) 55: (56: $ path \u003d $ _GET [" routestring "];

$ Path o'zgaruvchisi foydalanuvchi sana qiymatini routestring parametridan oladi. Siz forum sahifasiga yo'lni unga kiritishingiz mumkin va u yuklanadi.



Aytaylik, biz sinovdan o'tdik.

O'zgaruvchini tayinlagandan so'ng, agar mavjud bo'lsa, satr boshidagi chiziqdan xalos bo'ladigan kod bo'lagi keladi.

/includes/vb5/frontend/routing.php
75: if (strlen ($ path) AND $ path (0) \u003d\u003d "/") 76: (77: $ path \u003d substr ($ path, 1); // $ path \u003d "test" 78 :)
o'z ichiga oladi \\ vb5 \\ frontend \\ routing.php
83: if (strlen ($ path)\u003e 2) 84: (85: $ ext \u003d strtolower (substr ($ path, -4)); 86: if (($ ext \u003d\u003d ".gif") OR ($ ext) \u003d\u003d ".png") OR ($ ext \u003d\u003d ".jpg") OR ($ ext \u003d\u003d ".css") 87: OR (strtolower (substr ($ path, -3)) \u003d\u003d ".js" )) 88: (89: sarlavha ("HTTP / 1.0 404 topilmadi"); 90: o'lish (""); 91 :) 92 :)

Ko'rib turganingizdek, sinov juda g'alati. Hech bo'lmaganda, kodga kiritilgan taqiqlangan kengaytmalar ro'yxati mavjudligi sharmandali. Va umuman olganda, kengaytmani satr oxiridan to'rtta belgini echib olish yo'li (85-satr) juda hayratlanarli. Umuman olganda, biz gif, png, jsp, css yoki js kengaytmalari bilan fayl olishga harakat qilsak, server 404 sahifani qaytaradi va skript bajarilishini to'xtatadi. Barcha tekshiruvlar o'tkazilganda, vB_Api_Route sinfidan getRoute usuli callApi yordamida chaqiriladi. Foydalanuvchi tomonidan taqdim etilgan ma'lumotlarga asoslanib, tegishli marshrutlarni qidiradi.

Davomi faqat a'zolar uchun mavjud

Variant 1. Saytdagi barcha materiallarni o'qish uchun "sayt" jamoasiga qo'shiling

Belgilangan davrda jamoaga a'zolik sizga Hackerning ALL materiallariga kirish imkoniyatini ochadi, shaxsiy kumulyativ chegirmangizni oshiradi va sizga professional Xakep balini to'plashga imkon beradi!

Forum dvigatelini tanlash. IPB, vBulletin, Phpbb


Forum dvigateli jiddiy sayt uchun zarurdir. Bu tamoyil ma'lum - har qanday sayt interaktiv bo'lishi kerak. Interaktivlikka erishishning ko'plab usullari mavjud, maqolalardagi sharhlardan o'zingizning tematik ijtimoiy tarmog'ingizga qadar. Forum, ehtimol tashrif buyuruvchilarning haqiqiy fikr-mulohazalarini bildiradigan eng ko'p qirrali vositadir.

Forum sizga quyidagilarni amalga oshirishga imkon beradi:

Doimiy ravishda qaytadigan va faol bo'lgan sayt foydalanuvchilarining doimiy auditoriyasini yarating. Mehmonlarning faoliyati - bu haqiqiy pul.

Tarkibni tejash. Agar siz forum o'tkazsangiz, unda kontent foydalanuvchilar tomonidan yaratiladi va egasiga reklama uchun ko'p miqdordagi matnlarni sotib olishning hojati yo'q.

Saytning semantik yadrosini kengaytirish. Forumni yaratish, egasi tomonidan ko'p harakat qilmasdan, sayt reklama qilinadigan so'rovlar sonini kengaytirishga imkon beradi.

Forum dvigatelini o'rnatish - bu oddiy jarayon, ammo sozlash va undan keyingi boshqaruv yangi boshlovchi uchun juda ko'p qiyinchiliklarni keltirib chiqarishi mumkin. Biroq, har bir mashhur dvigatel uchun juda katta miqdordagi hujjatlar mavjud, shuning uchun agar xohlasangiz, buni aniqlang. Yoki professional ma'murni yollang.

Umuman olganda, dvigatellarning aksariyati forumning normal ishlashi uchun juda moslashgan bo'lib, ular taxminan bir xil asosiy funktsiyalar to'plamiga ega, shu jumladan foydalanuvchilarga kirish huquqlarini o'rnatishning moslashuvchan tizimi. Ular ma'muriyat qulayligi, andozalar to'plami va plaginlari, ishlab chiqaruvchining ishonchliligi va texnik ko'magi bilan ajralib turadi. Men o'zimning sharhlarimni Runet-dagi uchlikdan boshlayman: Phpbb, ehtimol Runet-da forum yaratish uchun eng mashhur vosita. Yangi boshlanuvchilar uchun Phpbb-ning asosiy afzalligi shundaki, forum dvigatelining o'zi ham, barcha turdagi qo'shimchalar ham bepul. Shuningdek, rus tilida ham, xorijiy Internetda ham turli xil Phpbb muxlislar jamoalari mavjud.

Boshqa afzalliklarga ish tezligi, sozlamalarning soddaligi va nisbatan moslashuvchanligi, ko'p sonli shablonlar va qo'shimchalar kiradi. Agar siz phpbb-da forum qilsangiz, u saytning bir qismi sifatida ishlatilishi mumkin (ko'plab smslar bilan birlashish imkoniyati mavjud), lekin siz uning asosida ozmi-ko'pmi to'liq portal saytini yaratishingiz mumkin.

Ammo Phpbb-ning kamchiliklari ham bor - bu sizning spam-hujumlarga va o'z kodingizni kiritishda buzilishlarga katta zaiflik. Bunga yo'l qo'ymaslik uchun siz spamdan himoya qilish uchun maxsus qo'shimchalarni o'rnatishingiz kerak, shuningdek, yangi versiyalarni o'rnatib, dvigatelni muntazam yangilab turishingiz kerak. Afsuski, bu har doim ham yuz foiz himoyani ta'minlay olmaydi, shuning uchun uni o'zingiz yoki moderatorlarni tayinlash orqali nazorat qilishingiz kerak bo'ladi. Siz uni https://www.phpbb.com/ rasmiy veb-saytidan yuklab olishingiz mumkin.

IPB (Invision Power Board) - bu ko'pchilik yangi boshlanuvchilarni darhol qo'rqitadigan pullik forum vositasi. Ammo, agar loyiha jiddiy bo'lsa, unda IPB uchun taxminan 200 dollar miqdorida aniqlangan veb-ustani to'xtatish mumkin emas. Ammo, agar siz juda keng imkoniyatlar uchun ham, doimo IPB dvigatelini o'zingiz uchun qayta tuzishga tayyor bo'lsangiz, qo'llab-quvvatlash va yangilanishlarni murakkablashtirishi mumkin bo'lsa, o'n marta o'ylab ko'ring.

Tizim turli xil xizmatlar - turli xil sms-lar, bloglar, chatlar, fotogalereyalar va hk. Bilan birlashish uchun juda ko'p imkoniyatlarga ega. Ehtimol, ushbu dvigateldagi portalni, albatta, ma'lum bir sozlamalar bilan to'la-to'kis sayt deb hisoblash mumkin.

Va bu erda malhamda muhim ahamiyatga ega bo'lmagan narsa yo'q edi - IPB dvigateli juda kamdan-kam hollarda yangilanadi, foydalanuvchilar o'zlari zaiflik va xatolarni topadigan sinovchilar sifatida harakat qilishadi. Qanday bo'lmasin, kod "egri" va sub-optimal bilan tugaydi. Yuqori sifatli rus muxlislari jamoalari yo'q, barcha muammolarni o'z-o'zidan hal qilish kerak bo'ladi. Rus tilidagi lokalizatsiya ham mukammal emas, chunki til fayllari odatda normal ko'rish uchun tahrir qilinishi kerak.

Kodning murakkabligi va noto'g'riligi tufayli IPB-dagi forumlar faqat FireFox-da to'g'ri ko'rsatiladi, boshqa brauzerlarda kichik muammolar bo'lishi mumkin.

Ikkinchi versiyadan uchinchi versiyaga o'tishda ham muammo bo'lishi mumkin - terilar va sinflarning tuzilishi o'zgargan, agar forum o'zgartirilgan bo'lsa, uni yangilash muammoli bo'ladi.

IPB templat tizimi juda chalkash, tashqi ko'rinishini o'zgartirish unchalik oson emas, sizga juda ko'p fayllarni "surish" kerak bo'ladi. Standart dizayn yomon emas va tanish emas - lekin bu standart, bu ko'pchilik uchun muhim kamchilik bo'lishi mumkin. Siz Invision Power Board-ni http://www.invisionpower.com/apps/board/ rasmiy veb-saytidan yuklab olishingiz mumkin.
vBulletin (vb). Internetning rus tilida so'zlashadigan segmentida vBulletin an'anaviy ravishda "vobla" yoki "bulka" deb nomlanadi. Bu, ehtimol, eng yaxshi forum dvigatelidir, bundan boshqa qo'shadigan hech narsa yo'q. Taxminan 250 dollarlik narx (litsenziya bir yilga sotib olinadi va shu vaqt ichida bepul yangilanishlarni o'z ichiga oladi) juda oqlanadi va vaqt va asablarni tejash orqali o'zini o'zi to'laydi. Bu erda hamma narsa soat kabi ishlaydi. Pul nima uchun ekanligi juda aniq - vBulletin dvigateli doimiy ravishda takomillashtirilmoqda va bu erda nafaqat muxlislar, balki professional dasturchilar ham ishlayotgani aniq.

Barcha funktsiyalarni sanab o'tish mantiqsiz - u (yoki qo'shimcha ravishda) ma'murga forum yaratishi uchun kerak bo'lgan hamma narsani amalga oshiradi. Multitsitatsiya, podkastingni qo'llab-quvvatlash, foydalanuvchilar jamoalari, ijtimoiy guruhlar, obro'li obro'-e'tibor tizimi va boshqa ko'p narsalar mavjud.

Albatta, vBulletin uchun juda ko'p qo'shimchalar va foydalanuvchilar jamoalari mavjud, shuning uchun texnik xizmat ko'rsatish bilan bog'liq muammolar bo'lmaydi, ayniqsa rasmiy qo'llab-quvvatlash xizmati mavjud. VBulletin-ning kamchiligi, unchalik katta bo'lmasa ham, masalan, foydalanuvchi bloglari uchun pullik qo'shimchalar.

Umuman olganda forumda kamchiliklar yo'q. Katta, jiddiy loyihalar uchun aniq ishonchliligi va barcha turdagi hujumlarga chidamliligi tufayli tavsiya qilinishi mumkin. Natijada, bu serverda, ayniqsa o'rnatilgan qo'shimchalar bilan katta yuk hosil qiladi, ammo jiddiy loyihalar uchun ular odatda jiddiy serverlar va jiddiy ma'murlardan foydalanadilar. Siz uni http://www.vbulletin.com/ rasmiy veb-saytidan yuklab olishingiz mumkin.

SMF (oddiy mashinalar forumi). Har qanday yangi boshlovchi ishlay oladigan oddiy dvigatel. Oddiylik funktsional imkoniyatlarning etishmasligi bilan qoplanadi, ammo hamma ham "chiplar" ning to'liq to'plamiga muhtoj emas. Dvigatel plaginlarni (modlarni) o'rnatishni qulay tarzda tashkil qiladi, ularni to'g'ridan-to'g'ri administrator panelidan bir necha marta bosish orqali yuklab olish va o'rnatish mumkin.

Ma'muriy panel biroz g'ayrioddiy, ammo yangi boshlanuvchilar uchun bu kamchilik emas, chunki u boshqa dvigatellar bilan tajribasi va odatlariga ega emas. Ko'nikmaslik noqulaylikni anglatmaydi. Yana bir ortiqcha - bu boshqa dvigatellardan o'tish uchun juda ko'p sonli konvertorlarning mavjudligi.

Forum xakerlik nuqtai nazaridan juda ishonchli va spam ... bu spam - bu abadiy muammo, uni hal qilish kerak va hal qilinishi mumkin. SMF bepul bo'lishiga qaramay, ishlab chiquvchilar va tajribali foydalanuvchilar rasmiy loyiha forumida muhtojlarga yordam berishadi.

Ushbu dvigatelga asoslanib, siz portallar uchun maxsus qo'shimchalar (Adk Portal, EzPortal va boshqalar) yordamida to'liq huquqli saytlar yaratishingiz mumkin, ammo forum asosida portal yaratishga arziydimi, degan savol katta. To'liq dvigatelda asosiy saytga qo'shimcha sifatida forum yaratish mantiqan to'g'ri bo'ladi.

Intellekt taxtasi (IntBoard). Fan forum dvigateli, muxlis tomonidan yozilgan va muvaffaqiyatli tashlab qo'yilgan. Biroq, tark etish qat'iyan tavsiya qilmaslik uchun sabab emas.

Darhol kamchiliklar to'g'risida. Muammolar ko'pincha ko'kdan paydo bo'ladi, sinf sifatida hech qanday yordam yo'q, rasmiy forum deyarli o'lik va ushbu dvigateldagi forum egalari vaqti-vaqti bilan u erda javob berishadi. Amalda hech qanday qo'shimchalar va shablonlar mavjud emas - siz hamma narsani o'zingiz qilishingiz kerak bo'ladi.

Ammo afzalliklari ham bor. Dvigatel kodi etarlicha sodda, hatto yangi boshlovchi ham buni o'zi aniqlay oladi va ba'zi muammolarni o'zi hal qiladi, shuningdek o'zi uchun ba'zi funktsiyalarni o'zgartiradi. Dvigatel juda yengil, u serverda kichik yuk hosil qiladi. Administrator paneli juda nostandart, ammo u, ehtimol, foydalanuvchi huquqlarini sozlash uchun eng yaxshi imkoniyatga ega; guruhlar tizimi va har bir aniq bo'limga kirish huquqlari kuchli va samarali moderatsiya tizimini yaratadi.

PunBB. Yuzaga kelgan muammolarni hal qilishda yordam beradigan etarlicha kuchli jamoatchilikka ega oddiy engil dvigatel. Server manbalariga talab yo'q. Administrator paneli intuitiv.

Tartibni css yordamida amalga oshirildi, shuning uchun jadval tuzilishiga odatlanib qolgan yangi boshlanuvchilar uchun shablonlarni tahrirlash odatiy holga aylanadi. Biroq, bu ham ortiqcha - zamonaviy texnologiyalarni o'zlashtirish vaqti keldi.

Jiddiy nuqson - bu spamning yuqori darajasi - o'rnatilgan plaginlardan tashqari, buni qo'lda kuzatib borishingiz kerak.

ExBB - bu bepul dvigatel, uning o'ziga xos xususiyati shundaki, u MySQL-dan foydalanmasdan matnli ma'lumotlar bazalari bilan ishlaydi. Ehtimol, 10 yil oldin bu afzallik bo'lgan - bunday saytlar kam yukni yaratgan va ma'lumotlar bazasini qo'llab-quvvatlash bilan xosting qilish ancha qimmatga tushgan. Endi har qanday xosting MySQL-ni qo'llab-quvvatlaydi va matnli ma'lumotlar bazalari kamchilik hisoblanadi; ular ancha sekin va unchalik ishonchli emas.

Shu bilan birga, ushbu sms-da tashrif buyuruvchilar va xabarlarning katta oqimi kutilmagan kichik sayt uchun forum yaratish mumkin. O'rnatish oson, parvarish qilish oson, rasmiy veb-saytda ko'plab foydalanuvchilar va qo'llab-quvvatlash forumi mavjud.

Vanilya - bu unchalik mashhur bo'lmagan dvigatel eng ommabop sms-lardan biri bo'lgan Wordpress-ga qo'shimcha sifatida joylashtirilgan. WordPress-ning standart funktsiyalari orasida forum yaratish imkoniyati yo'q. Albatta, har qanday forum dvigatelini moslashtirish mumkin, ammo bu unchalik oddiy emas. Vanilla oddiy plagin kabi o'rnatiladi.

Shaxsiy xabarlar tizimi g'ayrioddiy tarzda amalga oshiriladi - ular odatdagi mavzular bo'yicha nashr etiladi, ammo ular faqat ularga murojaat qilganlarga ko'rinadi. Har qanday mavzuda, ommaviy mavzudan tashqari, siz shaxsiy xabar qoldirishingiz mumkin. G'ayrioddiy, ammo juda qulay. Umuman olganda, ishlab chiquvchilar boshqalardan farqli o'laroq forum o'tkazishga qaror qilishgan ko'rinadi. Plyus yoki minus - siz qaror qilasiz.

Umuman olganda, dvigatellar juda ko'p - siz sinab ko'rishingiz mumkin, darhol mashhur narsada to'xtashingiz mumkin, hatto o'zingizning biror narsangizni yozishingiz yoki buyurtma qilishingiz mumkin. Variantlarning qaysi biri har bir aniq ish uchun maqbul bo'lishini aniq aytish mumkin emas.

Bunday xizmatlarning ma'muriyati odatda hech narsa uchun javobgar emas, shuning uchun agar sizning forumingiz biron bir ajoyib daqiqada yo'qolsa, ular eng yaxshi holatda kechirim so'rashadi.

Keyingi maqolada sizga nima ekanligini aytib beraman

Har qanday dvigatel uni yaxshiroq va tezroq ishlashi uchun optimallashtirish uchun muayyan harakatlarni talab qiladi. Bizning holatda Vbulletin 4 optimallashtirish haqida gaplashamiz.

Forumimiz dvigateli doimiy ravishda yangilanib turadiganligi sababli, men Vbulletinning oldingi versiyalarini optimallashtirish haqida yozmayman, lekin 4.1.12 versiyasidan boshlayman. Mumkin bo'lsa ham, men ushbu maqolani asta-sekin avvalgi versiyalar uchun optimallashtirish bilan to'ldiraman, chunki hamma ham yangilariga o'tavermaydi.

Vbulletin forumingizni tezroq va yaxshiroq qilish uchun bir nechta misollar (eng sodda narsalardan boshlang va murakkablariga o'ting). Iltimos, yodda tutingki, men uchun ishlaydigan narsalar sizga mos kelmasligi mumkin. Shuning uchun siz barcha o'zgarishlarni o'zingizning xavf-xataringiz va xavf-xataringiz bilan amalga oshirasiz.

Foydalanuvchilar ro'yxatini o'chirib qo'yish.

Bu erda oson usul bor, faqat AdminCP-dagi xususiyatni o'chirib qo'ying. (Sozlamalar -\u003e Variantlar -\u003e Foydalanuvchilar ro'yxati parametrlari)

Bu global emas, albatta, va siz buni o'tkazib yuborishingiz mumkin va buni qilolmaysiz, shunchaki o'zingizga savol berasizmi? Ro'yxat mavjud bo'lganligi sababli, foydalanuvchilar uni saralashi mumkin, kim ko'proq xabarlar, obro'-e'tibor va boshqalarni ko'rishlari mumkin. Sizning foydalanuvchilaringiz undan foydalanadimi? Ehtimol emas ... bu ro'yxatni oxirgi marta qachon o'zingiz ishlatgansiz?

Menga kelsak, menimcha, bu ro'yxatlar faqat spammerlarning manfaati uchundir, chunki bu Vbulletin 4 forum a'zolarining barcha ismlarini shaxsiy xabarlarda spam yuborish uchun to'plashning eng oson yo'li.

Bundan tashqari, foydalanuvchilar ro'yxatini yaratish uchun talab qilinadigan ma'lumotlar bazasi serverlari uchun dahshatli va serverning yuqori yuklanishiga olib kelishi mumkin.

Shaxsiy xabarlar ro'yxatini qayta ishlashda tezlikni oshirish.

Agar siz hech qachon Impex yoki boshqa vositalardan foydalangan holda shaxsiy xabarlarni tashqi manbalardan import qilmagan bo'lsangiz, shaxsiy xabarlar uchun identifikator bo'yicha saralashga ishonchingiz komil bo'lishi mumkin. ID bo'yicha saralash ma'lumotlar bazasi serverida saralashni amalga oshirish uchun shaxsiy xabarlarni vaqtinchalik jadvalga tashlashiga yo'l qo'ymaydi (so'rovni ancha tezlashtiradi).

Buning uchun private_messagelist_filter-dagi joylashgan kichik modulni ro'yxatdan o'tkazishingiz va unga quyidagilarni yozishingiz kerak:

Agar ($ sortfield \u003d\u003d "pmtext.dateline") $ sortfield \u003d "pm.pmid";

Va shu bilan siz private.php-ni ~ 20% tezroq qildingiz.


Biz foydalanuvchidan so'nggi xabarlarni yanada samarali qidirishni yo'lga qo'ydik.

Biz ftp-ga o'tamiz, /class_userprofile.php faylini qidiramiz va undagi ma'lumotlarni quyidagicha almashtiramiz:

$ getlastposts \u003d $ this-\u003e register-\u003e db-\u003e query_read_slave ("SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM". TABLE_PREFIX. "post AS post INNER JOIN ". TABLE_PREFIX." Mavzu AS USING (threadid) WHERE thread.visible \u003d 1 AND post.userid \u003d ". $ This-\u003e userinfo [" userid "]." VA post.visible \u003d 1 TARTIB BILAN post.dateline DESC. LIMIT 20 ");

va shu bilan almashtiring (aniqrog'i BUYUK BY):

$ getlastposts \u003d $ this-\u003e register-\u003e db-\u003e query_read_slave ("SELECT thread.title, thread.threadid, thread.forumid, thread.postuserid, post.postid, post.dateline FROM". TABLE_PREFIX. "post AS post INNER JOIN ". TABLE_PREFIX." Mavzu AS USING (threadid) WHERE thread.visible \u003d 1 AND post.userid \u003d ". $ This-\u003e userinfo [" userid "]." VA post.visible \u003d 1 TARTIB BILAN post.postid DESC. LIMIT 20 ");

Bu so'rovni ushbu shaklda mavjud bo'lganidan biroz to'g'riroq qiladi. Shunday qilib, vaqtinchalik jadvalni saralashga hojat yo'q. 1000 dan ortiq xabarlarga ega foydalanuvchilar uchun dastlabki so'rov 10 soniyani tashkil qiladi, bizning holimizda, juda kam. Bu birinchi navbatda so'nggi xabarlarni namoyish qilish uchun Vbulletin 4 foydalanuvchi profiliga taalluqlidir.

Mavzular indeksini tekshirish.

Agar sizning forumlaringiz standart tartiblashtirish tartibiga ega bo'lsa va yuqorida ko'rsatilganidek, o'zgarmagan holda o'rnatilsa, barcha indekslaringiz jadvallarida ekanligiga ishonch hosil qiling. menga noma'lum sabablarga ko'ra indekslar ustma-ust tushgan va ba'zi forumlar ochilmagan holatlar bo'lgan.

Odatiy tartiblash sana shaklida bo'lishiga ishonch hosil qilishni taklif qilaman (ushbu ma'lumotdan foydalanadigan ustun "ma'lumotlar jadvali" deb nomlanadi) va buni amalga oshirish uchun biz so'rovni bajaramiz:

ALTER TABLE thread ADD INDEX forumid2_dp (forumid, ko'rinadigan, yopishqoq, ma'lumotlar jadvali)

Ushbu so'rov menga tegishli, ayniqsa forumid2_dp sizning ismingiz bo'lishi kerak. O'zingizning tavakkalingiz bilan foydalaning.

Qo'shimchalarni o'rnatishda ehtiyot bo'ling.

Kimdir modullar va xakerlar ishlab chiqarishi ularning faqat siz uchun ishlab chiqarilganligini, katta Vbulletin 4 forumlarida ishlaganligini va hech qanday xatosi yo'qligini anglatmaydi. Ulkan xakerlik to'g'risidagi hisobotlarni u yoki bu xak orqali katta misol qilib keltirish mumkin.

Albatta, siz ishlab chiquvchilar hamma narsani hisobga olmaydilar va barcha xaklarni bir-biriga zid bo'lmasligi uchun belkurak qilolmaydi deb o'ylashingiz mumkin, ammo ... Vbulletin moduli ma'lumotlar bazasiga katta yuklarni keltirib chiqarmaganligiga ishonch hosil qiling, xakerlik SQL in'ektsiyasidan yoki XSS dan himoya qilish imkoniyatiga ega ekanligiga ishonch hosil qiling. ... Afsuski, minglab dasturlar va modifikatsiyalar mavjud va hamma narsani tekshirish shunchaki haqiqiy emas. Agar siz barcha xaklarni o'zingiz yozsangiz yoki birovdan buyurtma bersangiz yaxshi bo'ladi. Ayniqsa siz va sizning vazifalaringiz uchun.

InnoDB-da jadvallardan foydalanmang.

Bu erda, albatta, ular mening yuzimga tupurishlari mumkin, chunki bu mavzu allaqachon million marta muhokama qilingan, ammo o'z tajribamdan kelib chiqib aytishim mumkinki, MyISAM jadvallarida har qanday harakat uchun 100% ishlayman. Ba'zan men soniyada 1000 ta so'rovni ko'rib chiqaman.

Agar siz so'raganingizda hamma narsa osilib turadigan joyni oldindan bilishni boshlagan bo'lsangiz, ayniqsa, yangi Vbulletin qidiruvida MyISAM-dagi InnoDB jadvallarini o'zgartiring. MyISAM individual so'rovlarga tezroq javob beradi, chunki u alohida yozuvlarni bloklashni boshqarish shart emas. InnoDB umuman tezroq, ammo so'rovlarni bir vaqtda bajarishga imkon berganligi uchungina. agar sizning so'rovlaringiz MyISAM-da tezda bajarilayotgan bo'lsa, InnoDB-ga o'tishga hojat yo'q. MENING ODDIYGINA FIKRIMCHA.

Maqola reytingi

0%

Reyting

Foydalanuvchi reytingi: 0.35 (1 ovoz)

Asosiy afzalliklari:

  • Ma'lumotlar bazasiga asoslangan tezkor va samarali tizim
  • Shablonlardan tashkil topgan interfeys
  • Kuchli qidiruv tizimi
  • Ko'p tilli qo'llab-quvvatlash
  • Foydalanuvchilarning profillari
  • Kuchli va foydalanuvchilar uchun qulay bo'lgan administrator paneli
  • Cheksiz bo'limlar / mavzular / xabarlar
  • Elektron pochta xabarnomalari
  • COPPA-ni qo'llab-quvvatlash

O'rnatilishi mumkin bo'lgan forum demolarini ishlab chiqaruvchi taqdim etmasligi sababli, men qandaydir vareznikdan yuklab olingan chap versiyasini o'rnatishga majbur bo'ldim. Shunday qilib, ko'rsatmalar litsenziyalangan forumni o'rnatish jarayoniga to'liq mos kelmasligi mumkin. O'rnatishdan so'ng sayt olib tashlandi va maqsadiga muvofiq foydalanilmadi.

VBulletin-ni o'rnatish uchun xostingni boshqarish paneliga o'ting (billingdagi xosting tartibiga qarama-qarshi uzatmali tugma), "Fayl menejeri" ga o'ting, undagi "www" katalogiga o'ting. "Faylni joriy katalogga yuklash" tugmasini bosing:

Kompyuteringizda faylga yo'lni ko'rsatamiz:

VBulletin bilan arxivni tanlang, uni oching:

Bizga kerak bo'lmagan fayllar va kataloglarni, shu jumladan www domenimiz katalogini o'chirib tashlaymiz - agar u erda sizga kerak bo'ladigan narsa bo'lmasa. Agar siz saytning ildizidan boshqasini qo'ygan bo'lsangiz yoki sayt katalogida zarur bo'lgan narsa bo'lsa, siz www domen katalogini o'chirishingizga hojat yo'q:

VBulletin o'rnatuvchisi bilan katalogni tanlang, uning nomini o'zgartiring:

Saytimiz nomini katalog nomi sifatida kiriting:

Xostingni boshqarish panelining "Ma'lumotlar bazalari" bo'limiga o'ting:

Yangi MySQL ma'lumotlar bazasini yarating va unga to'liq kirish huquqiga ega foydalanuvchi:

Iltimos, foydalanuvchi ham, ma'lumotlar bazasi ham xosting serverida sizning hisobingiz nomi bilan avtomatik ravishda qo'shilganligini unutmang:

Biz saytimizning asosiy sahifasiga o'tamiz, quyidagi vBulletin xatosiga duch kelamiz:

Biz manzil satrida o'rnatuvchiga boramiz, "install / install.php" qo'shamiz, shundan so'ng vBulletin forum o'rnatuvchisi boshlanadi:

VBulletin o'rnatuvchisi fayllarni tekshiradi:

Keyingi bosqichda ma'lumotlar bazasiga ulanish tekshiriladi, u o'tmaydi - chunki Forum konfiguratsiya faylida noto'g'ri ma'lumotlar kiritilgan:

Biz xosting boshqaruv paneliga, fayl menejeriga qaytamiz, forum bilan katalogga o'tamiz, keyin "o'z ichiga oladi" pastki katalogi. "Config.php" faylini oching:

Ma'lumotlar bazasidan to'g'ri ma'lumotlarni konfiguratsiya fayliga kiritamiz, so'ng uni yopamiz:

Biz saytga, o'rnatuvchiga qaytamiz. "F5" tugmachasini bosing, bu safar hamma narsa yaxshi, baza bilan aloqa rivojlandi:

VBulletin o'rnatuvchisi ma'lumotlar bazasida jadvallar yaratadi:

VBulletin o'rnatuvchisi ba'zi jadvallarning turlarini o'zgartiradi:

Ma'lumotlar bazasiga ma'lumotlar kiritiladi:

Tillar import qilinadi:

Uslublar import qilinadi:

Yordam import qilinadi:

Standart sozlamalarga tegmaymiz, vBulletin o'rnatuvchisi hamma narsani to'g'ri aniqladi:

Standart sozlamalar import qilinadi:

VBulletin administratori ma'lumotlarini kiriting:

VBulletin ma'muri muvaffaqiyatli qo'shildi:

Xostingda vBulletin-ni o'rnatish muvaffaqiyatli yakunlandi:

O'rnatuvchining so'nggi maslahatidan so'ng, keraksiz fayllarni o'chirib tashlang:

Hammasi to'g'ri ishlashiga ishonch hosil qilish uchun vBulletin forumiga borishingiz mumkin:

Maqola sizga yoqdimi? Do'stlar bilan bo'lishish uchun: