Який форум краще vBulletin або PunBB. Який форум краще vBulletin або PunBB Безнадійний vbulletin

vBulletin (скорочено vB) - потужний, повністю налаштований форум з високим потенціалом для розширення можливостей. Він був написаний за допомогою швидкої мови інтернету - PHP, і сумісний з високоефективною і дуже швидкою базою даних MySQL. З переваг цього форуму потрібно виділити: швидку та ефективну роботу з базою даних, інтерфейс, що складається з шаблонів, потужну пошукову систему, мультимовність, підтримку профілів користувачів, потужну та зручну панель адміністратора, можливість створення необмеженої кількості тем та повідомлень, оцінку тем, повідомлення по email і багато іншого

vBulletin 3.8:

Соціальні групи - Обговорення:

* Повідомлення в соц. групах можуть обговорюватися (від перекладача: а-ля цитування новин, блог-чатинг, надалі - обговорення)
* Обговорення сортуються за автором, відповідями та останнім повідомленням
* Обговорення можуть фільтруватися за допомогою повнотекстного пошуку в заголовках (від перекладача: просто набираючи частину заголовка)
* Обговорення можуть модеруватися зі сторінки (швидке меню модерування)
* Обговорення маркуються прочитаними всіма способами движка (БД, куки) з можливістю переходу до першого непрочитаного повідомлення
* Користувачі можуть підписуватися на обговорення та отримувати e-mail повідомлення про нові повідомлення
* Підписка на обговорення керується в налаштуваннях користувача (Мій кабінет)
* Особисті обговорення мають соц. закладки (керовані користувачем) (від перекладача: мабуть як у темах форуму, тільки у себе в соц. групах і налаштовується не модераторами, а самими користувачами)
* Нові "Can Always" (від перекладача: постійні?) права для створення та перегляду обговорень та повідомлень зі спрощеним доступом.
* Відгуки перероблені для користувачів без JavaScript.
* Модератори можуть швидко редагувати повідомлення в соц. групи використовуючи AJAX.
* Повідомлення сортуються за зростанням, що більш інтуїтивно зрозуміло у тематичних обговорення (від перекладача: не зовсім зрозуміло що означає за зростанням, але швидше за все за номерами повідомлення, тематичні обговорення - згруповані у соц. групах повідомлення)
* Користувачі можуть налаштувати їхні групи так, щоб тільки власник групи міг створювати обговорення.
* Відмодеровані та віддалені обговорення групуються (виділяються) у налаштуваннях користувача (Мій кабінет) де можна продовжити модерування.
* Модераторські права розділені для обговорень і тим, включаючи видалення (від перекладача: "мухи окремо, котлети окремо", видалення і того, й іншого теж окремо)
* Під час видалення/переміщення обговорень проводяться спеціальні запити з БД та даними для прискорення роботи.
* При оновленні з версій нижче 3.8, існуючі повідомлення переміщуються в обговорення, з ім'ям, як у групи.
* Інфо за соц. групі приховано, коли користувач переглядає обговорення.

Зміни у соціальних групах:

* Соц. групи маркуються прочитаними БД та кукі методами, базуючись на повідомленнях та обговореннях
* "Відзначити все" відзначить прочитаними всі обговорення в групі за допомогою AJAX
* Можна підписуватися на соц. групи, підписані групи виділяються в розділ у налаштуваннях користувача (Мій кабінет)
* Соц. групи тепер виділяються в окремі категорії/розділи
* Категорії соц. груп відображаються у випадаючому списку, списку груп та інфо про групи
* Нова сторінка відображає випадкову групу, Ваші групи, нові групи та групи, створені Вами
* За створеними Вами групами можна переміщатися за допомогою AJAX і відображати інформацію про групу, включаючи користувачів, що беруть участь, і відмодероване
* Хмара категорій (від перекладача: як хмара тегів) відображається в огляді груп (з усіма опціями відображення популярних)
* Категорії можуть бути створені, видалені або об'єднані в панелі адміністратора
* При оновленні з версій нижче 3.8 існуючі групи переміщуються до групи "Без категорії", яка може бути перейменована
* Групи можуть бути відфільтровані за категоріями, через хмару категорій або розширений пошук
* Соц. групи можуть мати значок. Іконка відображається в інформації про групу та маленька іконка відображається у списку груп
* Іконки груп, в яких складається користувач, відображаються в його профілі
* Система управління правами дозволяє керувати розміром іконок і можливістю завантажувати анімовані іконки
* Іконки можуть зберігатися як у базі даних, так і у файловій системі
* Нові права можуть обмежити кількість соц. груп, які може створювати користувач
* Соц. групи можуть передаватися між користувачами. Передача групи буде виконана, якщо одержувач групи прийме її
* Модератори можуть передавати групи іншим користувачам. Це може бути корисно, коли власник групи став неактивним

Зміни в особистих повідомленнях:

* Можливість використовувати нову "Швидку відповідь" для відповіді на особисті повідомлення
* Нова опція користувача, що дозволяє зберігати копію повідомлення за замовчуванням, включаючи і відправку через форму швидкої відповіді
* Особисті повідомлення можуть бути відсортовані за заголовком, датою та відправником
* Особисті повідомлення можна фільтрувати за відправником, заголовком, датою отримання
* Контроль повідомлень. Адміністратори можуть встановити тимчасовий період та максимальну кількість повідомлень для кожної групи.
* Вибрані повідомлення запам'ятовуються на всіх сторінках для наступних дій (переміщення, видалення та ін.)

Профіль:

* Тепер користувач може вибирати, які частини профілю видимі і для кого
* Довільні поля профігу користувача можуть налаштовуватися адміном

* Зображення можуть бути переміщені з одного альбому до іншого
* Обкладинка альбому створюється заново, якщо зображення обкладинки було переміщене або альбом призначення не мав обкладинки

Лайтбокс:

* Лайтбокси тепер можуть використовуватися для перегляду всіх картинок у повідомленні
* Кнопки "Попередній" та "Наступний" можуть використовуватися для навігації по прикріпленим файлам і змінюються при досягненні першого/останнього зображення

Інші зміни та доповнення:

* Зміни в системі CAPTCHA
* Теги тем тепер можуть бути об'єднані та перейменовані
* Вибір тегів на панелі адміністратора запам'ятовується на всіх сторінках
* Нове посилання на правила тепер налаштоване і розташоване внизу сторінок за замовчуванням
* Оновлено посилання на список користувачів: тепер є підменю на різні списки форуму (соц. групи, зображення та альбоми, контакти та друзі та список користувачів)
* Видалені та відмодеровані повідомлення тепер згорнуті в панелі керування
* Навороти з підменю у посиланнях у різних частинах форуму
* Зміни в меню на панелі користувача
* Нові права мініатюр у повідомленнях. Дозволяють переглядати мініатюри, але не дозволяють переглядати повне зображення.
* Вилучення в RSS: фільтри
* Зміни у шаблонах, порівняннях шаблонів
* Права у префіксах тем - префікси можуть використовувати певні групи користувачів
* Підтримка TypePad анти-спаму
* Перевірка доступності імені користувача під час реєстрації за допомогою AJAX
* Повідомлення тепер можна закрити тільки після їх прочитання
* Історія редагування повідомлень очищується через панель адміністратора
* Правила форуму можна переглядати поза процесом реєстрації
* Повідомлення через особисті повідомлення
* Очищення папок підписки в один клік
* Швидке редагування в соц. групах у розділах "Повідомлення відвідувачів" та "Коментарі до зображень"
* Нові параметри дати для повідомлень
* Поліпшення в редагуванні списку контактів.

Основні переваги:

  • Швидка та ефективна основа на базі даних
  • Інтерфейс, що складається із шаблонів
  • Потужна пошукова система
  • Багатомовна підтримка
  • Профілі користувачів
  • Потужна та зручна панель адміністратора
  • Необмежену кількість розділів/тем/повідомлень
  • Повідомлення по email
  • Підтримка COPPA

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

Для інсталяції vBulletin, переходимо в панель керування хостингом (кнопка з шестернею навпроти замовлення хостингу в білінгу), там у "Менеджер файлів", в ньому переходимо в директорію "www". Натискаємо кнопку "Закачати файл до поточної директорії":

Вказуємо шлях до файлу на своєму комп'ютері:

Виділяємо архів з vBulletin, розпаковуємо його:

Видаляємо непотрібні нам файли та директорії, у тому числі директорію нашого www домену - за умови, що там у вас нічого потрібного немає. Якщо ви ставите не в корінь сайту, або в директорії сайту є щось потрібне - видаляти директорію www домену не треба:

Виділяємо директорію з інсталятором vBulletin, перейменовуємо її:

Вводимо ім'я нашого сайту як ім'я директорії:

Переходимо до розділу "Бази даних", панелі керування хостингом:

Створюємо нову базу даних MySQL та користувача з повними правами доступу до неї:

Зверніть увагу, що користувач і база автоматично отримали префікс, на ім'я вашого облікового запису на хостинг-сервері:

Заходимо на головну сторінку нашого сайту, отримуємо таку помилку vBulletin:

Вбиваємо шлях до інсталятора в адресному рядку, треба дописати "install/install.php", після чого запуститься програма встановлення форуму vBulletin:

Інсталятор vBulletin перевіряє наявність файлів:

На наступному кроці відбувається перевірка з'єднання з базою даних, вона не проходить - т.к. у файлі конфігурації форуму вбито неправильні дані:

Повертаємося в панель управління хостингом, файловий менеджер, заходимо до директорії з форумом, далі субдиректорія "includes". Відкриваємо файл "config.php":

Вносимо правильні дані від БД до конфігураційного файлу, після чого його закриваємо:

Повертаємось на сайт, до інсталятора. натискаємо "F5", цього разу все добре, з'єднання з базою зрослося:

Програма встановлення vBulletin створює таблиці в базі даних:

Інсталятор vBulletin змінює типи деяких таблиць:

Вносяться дані до бази даних:

Імортуються мови:

Імпортуються стилі:

Імпортується довідка:

Налаштування за замовчуванням не чіпаємо, програма установки vBulletin все правильно визначила:

Імпортуються стандартні налаштування:

Вводимо дані адміністратора vBulletin:

Адміністратор vBulletin успішно доданий:

vBulletin на хостинг успішно завершено:

Наслідуючи останню пораду інсталятора, видаляємо непотрібні файли:

Можна зайти на форум vBulletin, переконатися, що все працює коректно:

Будь-який двигун вимагає певних дій для оптимізації його для кращої і швидкої роботи. У нашому випадку ми поговоримо про оптимізацію Vbulletin 4.

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

Тут я наведу кілька прикладів, щоб зробити ваш форум Vbulletin швидше і краще (починаючи з найпростіших речей, переходячи до більш складних). Будь ласка, майте на увазі, що ті речі, які працюють у мене, не обов'язково будуть працювати і у вас. Тому всі зміни ви робите на свій страх та ризик.

Вимкнення списку користувачів.

Існує простий спосіб, просто вимкнути функцію AdminCP. (Settings -> Options -> User Listing Options)

Це не глобально звичайно, і ви можете це пропустити і не робити, просто поставте собі питання чи потрібно вам це? Так як маючи список, користувачі можуть сортувати його, подивитися у кого більше повідомлень, репутація і так далі. Чи ваші користувачі користуються цим? Напевно, ні… коли ви самі востаннє користувалися цим списком?

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

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

Збільшення швидкості обробки списку особистих повідомлень.

Якщо ви не імпортували особисті повідомлення від зовнішніх джерел за допомогою Impex або інших засобів, ви можете сміливо покластися на сортування за ID для особистих повідомлень. Сортування за ID буде робити так, щоб ваш сервер бази даних не доводилося скидати особисті повідомлення в тимчасову таблицю для виконання сортування (роблячи запит набагато швидше).

Щоб зробити це, потрібно прописати невеликий модуль з розташуванням private_messagelist_filter і прописати в ньому наступне:

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

І все, ви тільки що зробили private.php на ~ 20% швидше.


Налаштовуємо ефективніший пошук останніх повідомлень від користувача.

Ідемо на фтп, шукаємо файл includes /class_userprofile.php, і замінюємо в ньому дані таким чином, шукаємо:

$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 AS thread USING (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY post.dateline DESC LIMIT 20");

і замінюємо на це (а конкретніше 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 AS thread USING (threadid) WHERE thread.visible = 1 AND post.userid = " . $this->userinfo["userid"] . " AND post.visible = 1 ORDER BY post.postid DESC LIMIT 20");

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

Перевірка індексу тем.

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

Я пропоную зробити так, щоб сортування за умовчанням було у вигляді дати (стовпець, який використовує ці дані називається «dateline»), і щоб це реалізувати, виконаємо запит:

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

Це запит застосовується до мене конкретно, у вашому випадку forumid2_dp повинен мати ваше ім'я. Використовуйте на свій страх та ризик.

Будьте обережні під час встановлення додатків.

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

Звичайно, можна припустити, що розробники не можуть всього врахувати, і перелопатити всі хакі, щоб вони не конфліктували, але ... Переконайтеся, що модуль Vbulletin не викликає великих навантажень бази даних, переконайтеся, що хак має потенціал для захисту від SQL ін'єкцій або XSS . На жаль, додатків та модифікацій тисячі, і просто не реально все перевірити. Краще буде якщо всі хакі ви писатимете собі самі, або замовляти у будь-кого. Саме під вас і ваші завдання.

Не використовуйте таблиці в InnoDB.

Тут, звичайно, мені можуть плюнути в обличчя, оскільки ця тема вже обговорювалася мільйон разів, але за своїм досвідом можу сказати, що я працюю 100% на MyISAM таблицях для будь-якої дії. Буває обробляю 1000 запитів за секунду.

Якщо ви вже починаєте психовати де при запитах у вас все повисає, особливо в новому пошуку Vbulletin, змініть таблиці InnoDB MyISAM. MyISAM відповідає швидше на окремі запити, тому що не потрібно керувати блокуванням окремих записів. InnoDB працює швидше загалом, але тільки тому, що дозволяє виконувати запити одночасно. якщо ваші запити і так виконуються швидко під MyISAM, не потрібно переходити на InnoDB. ІМХО.

Рейтинг статті

0%

Рейтинг

User Rating: 0.35 (1 votes)

  • Від:
  • Registered: 2014.07.07
  • Posts: 3,796
  • I just like PunBB:
  • 5 years, 7 months, 6 days,
  • Likes: 470

Topic: Який форум краще vBulletin або PunBB

VBulletin (Вобла або Булка, як його люблять у нас називати) – один із найстаріших комерційних форумних движків, написаних за допомогою технологій PHP та MySQL. Починаючи з виходу найпершої версії в 2000 році, було проведено колосальну роботу з покращення функціоналу, що дозволило VB потрапити до списку кращих програмних продуктів.

Ліцензія VBulletin буде коштувати вам близько 250 доларів. Не сумнівайтеся, це цілком виправдана витрата і точно окупить себе економією робочого часу і нервових клітин. Більшість цих грошей йде розробникам і програмістам, які надалі пустять їх на доопрацювання функціоналу і випуск латок і доповнень (так, протягом року всі оновлення будуть поставлятися вам безкоштовно).

2 Reply by PunBB

  • Від: Москва, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.07
  • Posts: 3,796
  • I just like PunBB:
  • 5 years, 7 months, 6 days,
  • Likes: 470

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

Двигун форуму VBulletin створює серйозне навантаження на сервер, особливо якщо встановлені сторонні доповнення та скрипти. Щоб надалі уникнути проблем із завантаженням сторінок, доведеться розщедритися на нормальний хостинг. Особливо якщо у майбутньому прогнозуєте своєму ресурсу велику відвідуваність.

3 Reply by PunBB

  • Від: Москва, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.07
  • Posts: 3,796
  • I just like PunBB:
  • 5 years, 7 months, 6 days,
  • Likes: 470

Який форум краще vBulletin або PunBB

VBulletin, внаслідок його надзвичайної стійкості до злому та спам-ботів, рекомендований для використання у великих серйозних проектах. Крім того, стандартні налаштування та конфігураційні файли можна легко змінити на свій лад, досягнувши ще більшого ефекту. В інтернеті є безліч інструкцій та гайдів від народних умільців, щоправда, не кожному з них варто довіряти.

VBulletin, реалізує масштабні ідеї якнайкраще. Постійні оновлення, високоякісний сервіс, додаткові розширення та надійні механізми безпеки – це цілком виправдовує витрачені на продукт кошти.

4 Reply by PunBB

  • Від: Москва, Sovkhoznay 3, apt. 98
  • Registered: 2014.07.07
  • Posts: 3,796
  • I just like PunBB:
  • 5 years, 7 months, 6 days,
  • Likes: 470

Який форум краще vBulletin або PunBB

Всі функції перераховувати немає сенсу – в ньому (або в доповненнях) реалізовано практично все, що може знадобитися адміністратору для створення форуму. Там є і мультицитування, і підтримка підкастингу, і спільноти користувачів, і соціальні групи, гнучка система репутації та багато іншого.

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

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

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

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

Друга вразливість була знайдена дослідниками компанії TRUEL IT і отримала ідентифікатор CVE-2017-17672. Вона пов'язана з особливостями десеріалізації даних у двигуні і може бути використана атакуючим для видалення довільних файлів у системі.

Повні звіти з деталями обох проблем було опубліковано у рамках програми Beyond Security від SecuriTeam. Там є PoC-експлоїти для демонстрації вразливостей. Давай по порядку пройдемося з усього цього.

Приготування

Як сервер я використовував дистрибутив WAMP.

Читаємо файли, виконуємо команди

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

Наш шлях починається з найголовнішого файлу – index.php, де відбувається базова ініціалізація програми.

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

Подивимося метод vB5_Frontend_Application::init .

/includes/vb5/frontend/application.php
13: class vB5_Frontend_Application extends vB5_ApplicationAbstract 14: ( 15: public static function init($configFile) 16: ( 17: parent::init($configFile); 18: 19: self::$instance = new vB5_Fron_ self::$instance->router = новий vB5_Frontend_Routing();21: self::$instance->router->setRoutes();

Тут нас цікавить метод setRoutes.

47: public function setRoutes() 48: ( 49: $this->processQueryString(); ... 54: if (isset($_GET["routestring"])) 55: ( 56: $path = $_GET[" routestring"];

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



Допустимо, ми передали /test.

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

/includes/vb5/frontend/routing.php
75: if (strlen($path) AND $path(0) == "/") 76: ( 77: $path = substr($path, 1); // $path = "test" 78: )
includes\vb5\frontend\routing.php
83: if (strlen($path) > 2) 84: ( 85: $ext = strtolower(substr($path, -4))); 86: if (($ext == ".gif") OR ($ext == ".png") OR ($ext == ".jpg") OR ($ext == ".css") 87: OR (strtolower(substr($path, -3)) == ".js" )) 88: ( 89: header("HTTP/1.0 404 Not Found"); 90: die(""); 91: ) 92: )

Як бачиш, перевірка є досить дивною. Як мінімум бентежить наявність зашитого прямо в код списку заборонених розширень. Та й взагалі сам факт, що розширення одержують, вирізаючи чотири символи з кінця рядка (рядок 85), викликає подив. Загалом, якщо ми намагаємося отримати файл з розширеннями gif, png, jsp, css або js, сервер поверне сторінку 404 і виконання скрипту припиниться. Коли всі перевірки пройдені, callApi викликається метод getRoute з класу vB_Api_Route . Він шукає відповідні роути, виходячи з переданої користувачем інформації.

Продовження доступне лише учасникам

Варіант 1. Приєднайтесь до спільноти «сайт», щоб читати всі матеріали на сайті

Членство у спільноті протягом зазначеного терміну відкриє тобі доступ до ВСІХ матеріалів «Хакера», збільшить особисту накопичувальну знижку та дозволить накопичувати професійний рейтинг Xakep Score!