Acasă / Sistem de operare mobil / Ce forum este mai bun vBulletin sau PunBB. Ce forum este mai bun vBulletin sau PunBB Vbulletin este celebru

Ce forum este mai bun vBulletin sau PunBB. Ce forum este mai bun vBulletin sau PunBB Vbulletin este celebru

Orice motor necesită anumite acțiuni pentru a-l optimiza în bine și lucru rapid. În cazul nostru, vom vorbi despre optimizarea Vbulletin 4.

Deoarece motorul nostru de forum este actualizat constant, nu voi scrie mai multe despre optimizare versiuni anterioare Vbulletin, dar voi începe cu versiunea 4.1.12. Deși este posibil, voi completa treptat acest articol cu ​​optimizare pt versiunile anterioare, deoarece nu toată lumea trece la altele mai noi.

Aici voi da câteva exemple pentru a vă face forumul Vbulletin mai rapid și mai bun (începând cu cele mai simple lucruri, trecând la altele mai complexe). Vă rog să rețineți că ceea ce funcționează pentru mine nu va funcționa neapărat pentru dvs. Prin urmare, faceți toate schimbările pe propriul risc și risc.

Dezactivarea listei de utilizatori.

Există o modalitate ușoară de a dezactiva pur și simplu funcția în AdminCP. (Setări -> Opțiuni -> Opțiuni pentru listarea utilizatorilor)

Acest lucru nu este global, desigur, și puteți sări peste el și nu o faceți, doar puneți-vă întrebarea, aveți nevoie de el? De când au o listă, utilizatorii o pot sorta, pot vedea cine are mai multe mesaje, reputație și așa mai departe. Utilizatorii dvs. folosesc asta? Probabil că nu... când ai folosit ultima dată această listă?

În ceea ce mă privește, mi se pare că aceste liste beneficiază doar de spammeri, deoarece acesta este cel mai simplu mod de a colecta toate numele participanților la forumul Vbulletin 4 pentru a trimite spam în mesaje private.

În plus, interogarea necesară pentru a genera o listă de utilizatori este groaznică pentru serverele de baze de date și poate duce la o încărcare mare a serverului.

Viteză crescută la procesarea unei liste de mesaje personale.

Dacă nu ați importat niciodată mesaje private din surse externe folosind Impex sau alte mijloace, vă puteți baza în siguranță pe sortarea ID-urilor pentru mesajele private. Sortarea după ID va face ca serverul dumneavoastră de baze de date să nu fie nevoit să arunce mesaje private într-un tabel temporar pentru a efectua sortarea (făcând interogarea mult mai rapidă).

Pentru a face acest lucru, trebuie să înregistrați un mic modul cu o locație în private_messagelist_filter și să scrieți următoarele în el:

Dacă ($sortfield == "pmtext.dateline") $sortfield = "pm.pmid";

Și gata, tocmai ai făcut private.php cu ~20% mai rapid.


Configuram mai multe căutare eficientă ultimele mesaje de la utilizator.

Mergem la FTP, căutăm fișierul include /class_userprofile.php și înlocuim datele din acesta după cum urmează, căutăm:

$getlastposts = $this->registry->db->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 . "thread CA fir FOLOSIND (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY post.dateline DESC LIMITA 20 ");

și înlocuiți-l cu acesta (mai precis ORDER BY):

$getlastposts = $this->registry->db->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 . "thread CA fir FOLOSIND (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY post.postid DESC LIMITA 20 ");

Acest lucru face ca cererea să fie puțin mai corectă decât este deja. În acest fel, nu va trebui să sortați într-un tabel temporar. Pentru utilizatorii cu peste 1000 de mesaje, solicitarea inițială ar dura aproximativ 10 secunde, în cazul nostru mult mai puțin. Acest lucru se aplică în primul rând profilului de utilizator Vbulletin 4 pentru a afișa postările recente.

Verificarea indexului subiectelor.

Dacă forumurile dvs. au o ordine de sortare implicită care este setată fără modificări, așa cum am făcut-o mai sus, asigurați-vă că toți indexurile dvs. sunt în tabelele lor. Au fost cazuri când indexurile s-au suprapus din motive necunoscute de mine și unele forumuri nu s-au deschis.

Propun ca sortarea implicită să fie în formă de dată (coloana care folosește aceste date se numește „dateline”), iar pentru a implementa acest lucru, rulăm interogarea:

ALTER TABLE thread ADD INDEX forumid2_dp (forumid, vizibil, sticky, dateline)

Această solicitare mi se aplică în mod specific, în cazul dvs. forumid2_dp ar trebui să aibă numele dvs. Utilizați pe propriul risc.

Aveți grijă când instalați suplimente.

Doar pentru că cineva realizează module și hack-uri nu înseamnă că este făcut doar pentru tine, a lucrat pe forumurile mari Vbulletin 4 și nu are erori. Un exemplu excelent sunt rapoartele de hack-uri în masă printr-un hack sau altul.

Bineînțeles, putem presupune că dezvoltatorii nu pot lua în considerare totul și cerne toate hack-urile pentru a nu intra în conflict, dar... Asigurați-vă că modulul Vbulletin nu provoacă încărcări mari de baze de date, asigurați-vă că hack-ul are potențialul de a se proteja împotriva injecție SQL sau XSS. Din păcate, există mii de aplicații și modificări și pur și simplu nu este posibil să verificați totul. Va fi mai bine dacă scrieți singuri toate hackurile sau comandați de la altcineva. Personalizat în mod special pentru tine și sarcinile tale.

Nu folosiți tabele în InnoDB.

Aici, desigur, îmi pot scuipa în față, deoarece acest subiect a fost deja discutat de un milion de ori, dar din proprie experiență pot spune că lucrez 100% pe tabelele MyISAM pentru orice acțiune. Uneori procesez 1000 de cereri pe secundă.

Dacă începeți deja să vă speriați unde se blochează totul în timpul interogărilor, în special în noua căutare Vbulletin, schimbați tabelele InnoDB în MyISAM. MyISAM răspunde mai rapid la solicitările individuale, deoarece nu trebuie să gestionați blocarea înregistrărilor individuale. InnoDB este mai rapid în general, dar numai pentru că permite interogărilor să ruleze simultan. Dacă interogările dumneavoastră rulează deja rapid în MyISAM, nu este nevoie să treceți la InnoDB. DIN PUNCTUL MEU DE VEDERE.

Evaluarea articolului

0%

Evaluare

Evaluare utilizator: 0.35 (1 voturi)

Probabil ați văzut forumuri pe motorul vBulletin de multe ori. Forumurile ca atare nu mai sunt la modă, dar vBulletin este încă unul dintre cele mai populare motoare. În cea mai recentă versiune (a cincea) sa, au fost găsite mai multe vulnerabilități care pot distruge foarte mult viața unui administrator. În acest articol vă voi spune cum sunt folosite.

Prima problemă este filtrarea incorectă a datelor utilizatorului. A fost raportat de un cercetător independent de securitate care a dorit să rămână anonim. Vulnerabilitatea, deși are unele limitări, a primit o stare critică, deoarece vă permite să citiți orice fișiere și să executați cod arbitrar pe sistemul țintă.

A doua vulnerabilitate a fost găsită de cercetătorii de la TRUEL IT și a primit identificatorul CVE-2017-17672. Este legat de caracteristicile deserializării datelor din motor și poate fi folosit de un atacator pentru a șterge fișiere arbitrare din sistem.

Rapoartele complete care detaliază ambele probleme au fost publicate ca parte a programului Beyond Security al SecuriTeam. Există, de asemenea, exploatări PoC pentru a demonstra vulnerabilitățile. Să trecem prin toate acestea în ordine.

Pregătiri

Am folosit distribuția WAMP ca server.

Citiți fișiere, executați comenzi

Deci, motivul primei vulnerabilități este logica incorectă la procesarea parametrului routestring, care permite unui atacator să includă orice fișier de pe disc prin includere și să execute codul PHP care se află în acesta.

Calea noastră începe cu cel mai important fișier - index.php, unde are loc inițializarea de bază a aplicației.

/index.php
48: $app = vB5_Frontend_Application::init("config.php"); ... 60: $routing = $app->getRouter(); 61: $metoda = $routing->getAction(); 62: $template = $routing->getTemplate(); 63: $clasa = $routing->getControllerClass();

Să ne uităm la metoda vB5_Frontend_Application::init.

/includes/vb5/frontend/application.php
13: clasa vB5_Frontend_Application extinde vB5_ApplicationAbstract 14: ( 15: funcția publică statică init($configFile) 16: ( 17: parent::init($configFile); 18: 19: self::$instance = new vB5_Frontend:_20); self::$instance->router = new vB5_Frontend_Routing( 21: self::$instance->router->setRoutes();

Aici ne interesează metoda setRoutes.

47: funcția publică setRoutes() 48: ( 49: $this->processQueryString(); ... 54: if (isset($_GET["routestring"])) 55: ( 56: $cale = $_GET[" rută șirul"];

Variabila $path conține valoarea userdata din parametrul routestring. Puteți trece calea către pagina de forum în ea și va fi încărcată.



Să presupunem că am trecut /test .

După atribuirea unei variabile, există o bucată de cod care scapă de bara oblică de la începutul liniei, dacă este prezentă.

/includes/vb5/frontend/routing.php
75: if (strlen($cale) ȘI $cale(0) == "/") 76: ( 77: $cale = substr($cale, 1); // $cale = "test" 78: )
include\vb5\frontend\routing.php
83: dacă (strlen($cale) > 2) 84: ( 85: $ext = strtolower(substr($cale, -4)) ; 86: dacă (($ext == ".gif") SAU ($ext == ".png") SAU ($ext == ".jpg") SAU ($ext == ".css") 87: SAU (strtolower(substr($cale, -3)) == ".js" )) 88: ( 89: antet("HTTP/1.0 404 Nu a fost găsit"); 90: die(""); 91: ) 92: )

După cum puteți vedea, verificarea este destul de ciudată. Cel puțin, prezența unei liste de extensii interzise scrise direct în cod este confuză. Și, în general, însuși faptul că extensia se obține prin tăierea a patru caractere de la sfârșitul rândului (linia 85) este derutant. În general, dacă încercăm să primim un fișier cu extensii gif, png, jsp, css sau js, serverul va returna o pagină 404 și scriptul se va opri din executare. Când toate verificările sunt trecute, metoda getRoute din clasa vB_Api_Route este apelată folosind callApi. Acesta caută rute potrivite pe baza informațiilor furnizate de utilizator.

Continuarea este disponibilă numai pentru membri

Opțiunea 1. Alăturați-vă comunității „site” pentru a citi toate materialele de pe site

Calitatea de membru al comunității în perioada specificată vă va oferi acces la TOATE materialele Hacker, vă va crește reducerea cumulativă personală și vă va permite să acumulați un rating profesional Xakep Score!

Principalele avantaje:

  • Cadru de baze de date rapid și eficient
  • Interfață formată din șabloane
  • Motor de căutare puternic
  • Suport în mai multe limbi
  • Profiluri de utilizator
  • Panou de administrare puternic și convenabil
  • Număr nelimitat de secțiuni/subiecte/mesaje
  • Notificări prin e-mail
  • Sprijin COPPA

Din cauza faptului că producătorul nu oferă un demo al forumului care poate fi instalat, a trebuit să instalez versiunea din stânga, descărcată de pe niște Vareznik. Prin urmare, este posibil ca instrucțiunile să nu corespundă exact cu procesul de instalare al forumului de licențiere. După instalare, site-ul a fost șters și nu a fost folosit în scopul propus.

Pentru a instala vBulletin, mergeți la panoul de control al găzduirii (butonul cu roată de lângă ordinea de găzduire în facturare), acolo în „Manager de fișiere”, în el mergem la directorul „www”. Faceți clic pe butonul „Încărcați fișierul în directorul curent”:

Specificați calea către fișierul de pe computer:

Selectați arhiva cu vBulletin și despachetați-o:

Ștergem fișierele și directoarele de care nu avem nevoie, inclusiv directorul domeniului nostru www - cu condiția ca acolo să nu aveți nimic de care aveți nevoie. Dacă nu îl puneți la rădăcina site-ului sau este nevoie de ceva în directorul site-ului, nu este nevoie să ștergeți directorul domeniului www:

Selectați directorul cu programul de instalare vBulletin și redenumiți-l:

Introduceți numele site-ului nostru ca nume de director:

Accesați secțiunea „Băzuri de date” a panoului de control al găzduirii:

Crearea unei noi baze de date Date MySQL, și un utilizator cu drepturi de acces complete la acesta:

Vă rugăm să rețineți că atât utilizatorul, cât și baza de date au primit automat un prefix bazat pe numele contului dvs. de pe serverul de găzduire:

Să mergem la pagina de start site-ul nostru, primim următoarea eroare vBulletin:

Introducem calea către programul de instalare în bara de adrese, adăugăm „install/install.php”, după care pornește programul de instalare a forumului vBulletin:

Programul de instalare vBulletin verifică prezența următoarelor fișiere:

Următorul pas este să verificați conexiunea la baza de date, nu funcționează - pentru că... Fișierul de configurare a forumului conține date incorecte:

Ne întoarcem la panoul de control al găzduirii, managerul de fișiere, mergem la directorul cu forum, apoi la subdirectorul „include”. Deschideți fișierul „config.php”:

Introducem datele corecte din baza de date în fișierul de configurare, după care îl închidem:

Ne întoarcem pe site, la instalator. apăsați „F5”, de data aceasta totul este bine, conexiunea la baza de date a crescut împreună:

Programul de instalare vBulletin creează tabele în baza de date:

Programul de instalare vBulletin modifică tipurile unor tabele:

Datele sunt introduse în baza de date:

Limbi importate:

Stilurile sunt importate:

Ajutorul este importat:

Nu atingem setările implicite, programul de instalare vBulletin a determinat totul corect:

Setările implicite sunt importate:

Introduceți detaliile administratorului vBulletin:

Administratorul vBulletin a fost adăugat cu succes:

Instalarea vBulletin pe găzduire a fost finalizată cu succes:

Urmând ultimul sfat al instalatorului, ștergeți fișierele inutile:

Puteți accesa forumul vBulletin pentru a vă asigura că totul funcționează corect:

  • Din:
  • Inregistrat: 2014.07.08
  • Postari: 3,924
  • Îmi place: 504

Subiect: Ce forum este mai bun vBulletin sau PunBB

VBulletin (Vobla sau Bulka, așa cum ne place să-l numim) este unul dintre cele mai vechi motoare de forum comerciale scrise folosind tehnologii PHP și MySQL. De la lansarea primei versiuni în 2000, a fost depusă o cantitate enormă de muncă pentru a îmbunătăți funcționalitatea, ceea ce a permis ca VB să fie inclus în lista celor mai bune produse software.

O licență VBulletin vă va costa în jur de 250 USD. Fiți siguri că aceasta este o cheltuială complet justificată și cu siguranță se va plăti singură prin economisirea timpului de lucru și a celulelor nervoase. Majoritatea acestor bani merg către dezvoltatori și programatori, care ulterior îi vor folosi pentru a îmbunătăți funcționalitatea și pentru a lansa patch-uri și completări (da, toate actualizările vă vor fi livrate gratuit pe tot parcursul anului).

2 Răspunde de către PunBB

  • Din: Moscova, Sovkhoznay 3, ap. 98
  • Inregistrat: 2014.07.08
  • Postari: 3,924
  • Îmi place: 504

Nu are rost să enumerați toate funcțiile VBulletin. Au implementat aproape tot ce ar putea avea nevoie administratorii de forum. Podcasting, suport cu mai multe citări, împărțire în grupuri sociale și comunități, sistem de rating (reputație). Pachetul de bază poate fi completat cu extensii de la terți.

Motorul de forum VBulletin creează o sarcină serioasă pe server, mai ales dacă sunt instalate suplimente și scripturi terțe. Pentru a evita problemele cu încărcarea paginilor în viitor, va trebui să renunțați la găzduirea normală. Mai ales dacă anticipați mai mult trafic către resursa dvs. în viitor.

3 Răspunde de către PunBB

  • Din: Moscova, Sovkhoznay 3, ap. 98
  • Inregistrat: 2014.07.08
  • Postari: 3,924
  • Îmi place: 504

Re: Care forum este mai bun vBulletin sau PunBB

VBulletin, datorită rezistenței sale extreme la hacking și spamboți, este recomandat pentru utilizare în proiecte serioase mari. În plus, setările standard și fișierele de configurare pot fi modificate cu ușurință în felul tău, obținând un efect și mai mare. Există multe instrucțiuni și ghiduri de la meșteșugari populari pe Internet, deși nu toate ar trebui să fie de încredere.

VBulletin implementează idei la scară largă în cel mai bun mod posibil. Actualizări constante, servicii de înaltă calitate, extensii suplimentare și mecanisme de securitate fiabile - toate acestea justifică pe deplin banii cheltuiți pe produs.

4 Răspunde de către PunBB

  • Din: Moscova, Sovkhoznay 3, ap. 98
  • Inregistrat: 2014.07.08
  • Postari: 3,924
  • Îmi place: 504

Re: Care forum este mai bun vBulletin sau PunBB

Nu are rost să enumerați toate funcțiile - acesta (sau suplimentele) implementează aproape tot ceea ce ar putea avea nevoie un administrator pentru a crea un forum. Există multi-citare, suport pentru podcasting, comunități de utilizatori, grupuri sociale, un sistem flexibil de reputație și multe altele.

Desigur, vBulletin are un număr mare de suplimente și comunități de utilizatori, așa că nu vor fi probleme cu întreținerea, mai ales că există o echipă oficială de asistență. Dezavantajul vBulletin, deși nu foarte mare, îl reprezintă completările plătite, de exemplu, pentru blogurile utilizatorilor.

În general, forumul nu are defecte. Poate fi recomandat pentru proiecte mari serioase tocmai datorita fiabilitatii si rezistentei la tot felul de atacuri. Drept urmare, creează o încărcare semnificativă pe server, mai ales cu suplimente instalate, dar pentru proiecte serioase folosesc de obicei servere serioase și administratori serioși.