vbulletin بی حد و حصر. خواندن فایل ها، اجرای دستورات

موتور انجمن را انتخاب کنید. IPB، vBulletin، Phpbb


موتور فروم یک چیز ضروری برای یک سایت جدی است. این یک اصل شناخته شده است که هر وب سایتی باید تعاملی باشد. راه های زیادی برای دستیابی به تعامل وجود دارد، از نظرات گرفته تا مقاله ها و موضوعی خودتان شبکه اجتماعی. انجمن شاید جهانی ترین ابزار واقعی باشد بازخوردبا بازدیدکنندگان

انجمن به شما اجازه می دهد:

یک مخاطب دائمی از کاربران سایت ایجاد کنید که دائماً بازگردند و فعال باشند. فعالیت بازدیدکنندگان پول واقعی است.

صرفه جویی در محتوا اگر یک انجمن ایجاد کنید، محتوا توسط کاربران ایجاد می شود و مالک نیازی به خرید ندارد مقادیر زیادمتن هایی برای تبلیغ

افزونه هسته معناییسایت. ایجاد یک تالار گفتمان اجازه می دهد تا بدون تلاش زیاد از طرف مالک، تعداد درخواست هایی را که سایت برای آنها تبلیغ می شود، افزایش دهد.

نصب موتور انجمن یک فرآیند ساده است، اما راه اندازی و مدیریت بیشتر می تواند برای یک مبتدی مشکلات زیادی ایجاد کند. با این حال، اسناد زیادی برای هر موتور محبوب وجود دارد، بنابراین اگر بخواهید، می توانید همه چیز را درک کنید. یا یک مدیر حرفه ای استخدام کنید.

به طور کلی ، اکثریت قریب به اتفاق موتورها برای عملکرد عادی انجمن کاملاً مناسب هستند ، آنها تقریباً مجموعه مشابهی دارند توابع اساسی، از جمله یک سیستم منعطف برای تنظیم حقوق دسترسی برای کاربران. آنها با سهولت مدیریت، مجموعه ای از قالب ها و پلاگین ها، قابلیت اطمینان و پشتیبانی فنیاز سازنده من بررسی را با سه مورد برتر در Runet شروع می کنم: Phpbb شاید محبوب ترین موتور برای ایجاد یک انجمن در Runet باشد. برای یک مبتدی، مزیت اصلی Phpbb این است که هم خود موتور انجمن و هم انواع افزونه ها رایگان هستند. همچنین بسیاری از جوامع مختلف طرفداران Phpbb، هم در اینترنت روسی زبان و هم در اینترنت خارجی وجود دارد.

از دیگر مزایای آن می توان به سرعت عمل، سادگی و انعطاف نسبی تنظیمات، تعداد زیاد قالب ها و افزونه ها اشاره کرد. اگر انجمنی را با phpbb بسازید، می توان از آن به عنوان بخشی از سایت استفاده کرد (امکان ادغام با cms های زیادی وجود دارد) اما می توانید یک سایت پرتال کم و بیش کامل نیز بر اساس آن بسازید.

اما یک اشکال نیز در Phpbb وجود دارد - به شدت در برابر حملات هرزنامه و هک با معرفی کد شخصی خود آسیب پذیر است. برای جلوگیری از این امر، باید افزونه های ویژه ای را برای محافظت در برابر هرزنامه ها نصب کنید و همچنین با نصب نسخه های جدید به طور منظم موتور را به روز کنید. افسوس، این همیشه 100٪ محافظت نمی کند، بنابراین باید خودتان یا با تعیین ناظران، این موضوع را به صورت دستی کنترل کنید. می توانید آن را در وب سایت رسمی https://www.phpbb.com/ دانلود کنید

IPB (Invision Power Board) یک موتور انجمن پولی است که بلافاصله اکثر مبتدیان را می ترساند. با این حال، اگر قرار است پروژه جدی باشد، بعید است که مبلغی در حدود 200 دلار برای یک IPB مانع یک وب مستر مصمم شود. اما ده بار فکر کنید که آیا آماده هستید، حتی به خاطر طیف وسیعی از امکانات، به طور مداوم موتور IPB را برای خود بازسازی کنید، با این خطر که پشتیبانی و به روز رسانی برای خود پیچیده شود.

سیستم دارد یک عالمهامکان ادغام با سرویس های مختلف - cms های مختلف، وبلاگ ها، چت ها، گالری های عکس و غیره. شاید بتوان یک پورتال در این موتور را یک وب سایت کاملاً کامل و البته با تنظیمات خاص در نظر گرفت.

و در اینجا یک پرواز قابل توجه در پماد وجود دارد - موتور IPB به ندرت به روز می شود ، خود کاربران به عنوان آزمایش کننده عمل می کنند که خود آسیب پذیری ها و خطاها را پیدا می کنند. در هر صورت، کد در نهایت "کج" و نابهینه است. هیچ انجمن هواداران روسی با کیفیت بالا وجود ندارد، همه مشکلات باید به طور مستقل حل شوند. بومی سازی های روسی نیز به دور از کامل بودن فایل های زبانی برای نمایش عادی باید ویرایش شوند.

به دلیل پیچیدگی و نادرست بودن کد، انجمن ها در IPB فقط در مرورگرهای دیگر به درستی نمایش داده می شوند، ممکن است مشکلات جزئی وجود داشته باشد.

همچنین ممکن است هنگام ارتقا از نسخه دوم به سوم مشکلی ایجاد شود - ساختار پوسته ها و کلاس ها تغییر کرده است و اگر انجمن اصلاح شده باشد، ارتقاء با مشکل مواجه می شود.

سیستم قالب IPB بسیار گیج کننده است، تغییر ظاهرخیلی آسان نیست، شما باید فایل های زیادی را "از بین ببرید". طراحی استاندارد بد و کاملاً آشنا نیست - اما استاندارد است، که به خودی خود می تواند برای بسیاری یک نقطه ضعف قابل توجه باشد. می توانید Invision Power Board را از وب سایت رسمی http://www.invisionpower.com/apps/board/ دانلود کنید.
vBulletin (vb). در بخش روسی زبان اینترنت، vBulletin به طور سنتی "vobla" یا "bun" نامیده می شود. این شاید بهترین موتور انجمن باشد، چیز دیگری برای اضافه کردن وجود ندارد. قیمت حدود 250 دلار (لایسنس برای یک سال خریداری می شود و شامل آپدیت های رایگان در این مدت است) کاملاً موجه است و مطمئناً در صرفه جویی در وقت و اعصاب هزینه های خود را خواهد پرداخت. همه چیز اینجا مانند ساعت کار می کند. کاملاً واضح است که چرا پول گرفته می شود - موتور vBulletin دائماً در حال بهبود است و واضح است که برنامه نویسان حرفه ای و نه فقط طرفداران روی آن کار می کنند.

فهرست کردن همه توابع فایده ای ندارد - آن (یا افزونه ها) تقریباً هر چیزی را که ممکن است یک مدیر برای ایجاد یک انجمن به آن نیاز داشته باشد، پیاده سازی می کند. چند استناد و پشتیبانی برای پادکست و جوامع کاربر و گروه های اجتماعیو یک سیستم شهرت منعطف و خیلی بیشتر.

البته vBulletin دارای تعداد زیادی افزونه و انجمن های کاربری است، بنابراین هیچ مشکلی برای تعمیر و نگهداری وجود نخواهد داشت، به خصوص که یک تیم پشتیبانی رسمی وجود دارد. نقطه ضعف vBulletin، اگرچه خیلی بزرگ نیست، اضافه کردن پولی است، به عنوان مثال، برای وبلاگ های کاربران.

به طور کلی، انجمن هیچ کاستی ندارد. دقیقاً به دلیل قابلیت اطمینان و مقاومت در برابر انواع حملات می تواند برای پروژه های بزرگ و جدی توصیه شود. در نتیجه، بار قابل توجهی روی سرور ایجاد می کند، به خصوص با افزونه های نصب شده، اما برای پروژه های جدی معمولا از سرورهای جدی و مدیران جدی استفاده می کنند. می توانید آن را در وب سایت رسمی http://www.vbulletin.com/ دانلود کنید

SMF ( ماشین های سادهانجمن).

یک موتور ساده که هر مبتدی می تواند از عهده آن برآید. سادگی با کمبود عملکرد جبران می شود، اما همه به مجموعه کاملی از "ترفندها" نیاز ندارند. نصب پلاگین ها (mod) به راحتی در موتور سازماندهی شده است.

انجمن از نظر هک بسیار قابل اعتماد است و اسپم ... خوب اسپم است مشکل ابدی، که باید و می توان با آن مبارزه کرد. اگرچه SMF رایگان است، اما توسعه دهندگان و کاربران با تجربهدر انجمن رسمی پروژه به همه نیازمندان کمک کنید.

بر اساس این موتور، می توانید وب سایت های کاملی را با استفاده از افزونه های ویژه برای پورتال ها (Adk Portal، EzPortal و غیره) ایجاد کنید. منطقی تر است که یک انجمن به عنوان افزودنی به سایت اصلی در یک موتور تمام عیار ایجاد کنید.

هیئت هوشمند (IntBoard). یک موتور انجمن برای طرفداران، نوشته شده توسط یک طرفدار و با موفقیت توسط او رها شده است. با این حال، رها کردن دلیلی برای عدم توصیه قاطعانه آن نیست.

بیایید فوراً در مورد کاستی ها صحبت کنیم. مشکلات اغلب به طور ناگهانی به وجود می آیند، پشتیبانی خوبی وجود ندارد، انجمن رسمی عملاً مرده است و صاحبان انجمن های این موتور به ندرت در آنجا پاسخ می دهند. عملا هیچ افزونه یا قالبی وجود ندارد - شما باید همه کارها را خودتان انجام دهید.

اما مزایایی هم دارد. کد موتور به اندازه کافی ساده است که حتی یک مبتدی می تواند آن را بفهمد و برخی از مشکلات را به تنهایی برطرف کند و همچنین برخی از عملکردها را برای خود تنظیم کند. موتور بسیار سبک وزن است و بار کمی روی سرور ایجاد می کند. پنل مدیریت بسیار غیر استاندارد است، اما احتمالاً بیشترین موارد را در خود دارد بهترین فرصتپیکربندی حقوق برای کاربران؛ سیستمی از گروه ها و حقوق دسترسی به هر بخش خاص به شما این امکان را می دهد که یک سیستم اعتدال قدرتمند و مؤثر ایجاد کنید.

PunBB. ساده آسانموتوری با جامعه نسبتاً قدرتمندی که به حل مشکلات در حال ظهور کمک می کند. بدون نیاز به منابع سرور پنل اداری بصری است.

چیدمان ساخته شده با کمک css، بنابراین مبتدیانی که به چیدمان جدول عادت دارند، ویرایش الگوها را غیرعادی می دانند. با این حال، این نیز یک مزیت است - وقت آن است که بر فناوری های مدرن تسلط پیدا کنید.

یک ضرر جدی است در دسترس بودن بالابرای هرزنامه - علاوه بر پلاگین های نصب شده، باید این مورد را به صورت دستی نظارت کنید.

ExBB یک موتور رایگان است که ویژگی آن این است که بدون استفاده از MySQL با پایگاه داده های متنی کار می کند. شاید 10 سال پیش این یک مزیت بود - چنین سایت هایی بار کمتری ایجاد می کردند و میزبانی با پشتیبانی از پایگاه داده بسیار گران تر بود. امروزه هر میزبانی از MySQL پشتیبانی می کند و پایگاه داده های متنی یک نقطه ضعف هستند. آنها بسیار کندتر و کمتر قابل اعتماد هستند.

با این حال، می توانید با استفاده از این cms برای یک سایت کوچک که در آن هجوم زیادی از بازدیدکنندگان و پیام ها انتظار نمی رود، یک انجمن ایجاد کنید. نصب آن آسان است، نگهداری آن آسان است و تعداد زیادی کاربر و یک انجمن پشتیبانی در وب سایت رسمی دارد.

وانیل – این موتور کمتر شناخته شده به عنوان مکمل وردپرس، یکی از محبوب ترین cms قرار گرفته است. در میان ویژگی های استانداردوردپرس توانایی ایجاد انجمن را ندارد. البته، شما می توانید هر موتور فروم را تطبیق دهید، اما به همین راحتی نیست. Vanilla مانند یک پلاگین معمولی نصب شده است.

سیستم پیام های شخصی به روشی غیرمعمول پیاده سازی شده است - آنها مانند موضوعات معمولی منتشر می شوند، اما فقط برای کسانی که مخاطب آنها هستند قابل مشاهده است. در هر موضوعی، علاوه بر عمومی، می توانید پیام شخصی بگذارید. غیر معمول، اما کاملا راحت است. به طور کلی، به نظر می رسد که توسعه دهندگان تصمیم به ایجاد یک انجمن بر خلاف بقیه دارند. این که این یک مزیت یا منفی است به شما بستگی دارد که تصمیم بگیرید.

به طور کلی، موتورهای زیادی وجود دارد - می توانید امتحان کنید، می توانید بلافاصله در مورد چیزی محبوب حل و فصل کنید، حتی می توانید چیزی از خودتان بنویسید یا سفارش دهید. نمی توان بدون ابهام گفت که کدام گزینه برای هر مورد خاص بهینه خواهد بود.

مدیریت چنین خدماتی معمولاً مسئولیتی در قبال هیچ چیزی ندارد، بنابراین اگر انجمن شما در لحظه ای شگفت انگیز ناپدید شود، در بهترین حالت عذرخواهی خواهند کرد.

در مقاله بعدی به شما خواهم گفت که چه چیزی وجود دارد

فقط برای مقاصد اطلاعاتی. مدیریت مسئولیتی در قبال محتوای آن ندارد. دانلود به صورت رایگان .


vBulletin Connect v5.3.3 یک بسته انجمن قدرتمند، مقیاس پذیر و کاملاً قابل تنظیم برای وب سایت شما است.

نسخه: 5.3.3 (نال شده توسط vBSupport.org)

حداقل مورد نیاز php 5.6
سازگار با php 7.1
در نصب جدیدشما باید نام فایل htaccess.txt را به htaccess. تغییر دهید
هنگام به روز رسانی، پوشه فونت ها را حذف کنید (قبل از شروع به روز رسانی).

فرصت های تازه:
رابط کاربری جدید با ادغام اجتماعی گسترده؛
بهینه شده برای دستگاه های تلفن همراه؛
نصب، مدیریت و پیکربندی ساده؛
معماری جدید پایگاه داده برای جستجوی بهبود یافته و عملکرد بهتر.
تغییر محتوای پویا راحت؛
پیشرفته برای اشتراک گذاری ویدئو و تصویر؛
ادغام کامل با VigLink.
بیش از 100 ویژگی و پیشرفت جدید دیگر؛

برنامه های داخلی:
انجمن بحث و گفت و گو
گروه ها
نظرسنجی ها
وبلاگ

بهینه سازی موتور جستجو:
URL های سئو دوستانه
برچسب متا کلید واژه/توضیحات سفارشی

انعطاف پذیری:
پروفایل های کاربری قابل توسعه
بازنویسی URL
محلی سازی رابط
فراداده

رعایت استانداردها:
پیوند محتوا (RSS)
پخش محتوا: RSS، Atom، XML
سازگار با PHP v5.4

سیستم یکپارچه بدون شکست:
تنها ورود به سیستم
سیستم تک رزولوشن
تنها کنترل پنل مدیریت
یک سبک/تم پیوسته از طریق مقالات، وبلاگ ها، انجمن ایجاد کنید

داشبورد برای هر نقش:
کنترل های اداری
کنترل پنل مدیر
کنترل پنل سفارشی
سیستم وضوح یکپارچه
موتور قالب قدرت برای سفارشی سازی پیشرفته

کنترل کاربر:
سیستم چند کاربره با نقش ها و قدرت های نامحدود
گروه های درگیر
ایمنی
قدرت های دانه ای
اطلاع رسانی مشکل
SSL سازگار
کپچا
تایید آدرس ایمیل
ویرایشگر اخبار پنل کنترل اداری
ورود به سیستم "اعتصاب".
تغییر ایمیل و رمز عبور نیاز به رمز عبور فعلی دارد
مطابق با قانون حفاظت از حریم خصوصی آنلاین کودکان (COPPA) 1998

1. به کنترل پنل مدیر بروید:
زبان ها و عبارات - دانلود / آپلود زبان ها.
2. در قسمت «یا فایل XML را از رایانه خود آپلود کنید»، مسیر را وارد کنید
فایل vbulletin-language_ru.xml در رایانه شما.
3. در گزینه "Overwrite Language"، "Create New Language" را انتخاب کنید.
4. در قسمت "Title for Uploaded Language" نام زبان را وارد کنید.
اگر داده‌ای وارد نشده باشد، زبان "روسی (RU)" نامیده می‌شود.
5. «Yes» را روی «Ignore Language Version» تنظیم کنید
6. "Yes" را روی "Read Charset from XML File" تنظیم کنید.
7. روی دکمه «واردات» کلیک کنید و منتظر بمانید تا مراحل دانلود به پایان برسد.
7A در صورت تمایل می توانید انجام دهید زبان جدید"زبان پیش فرض
با کلیک بر روی دکمه "Default" / "Default Value" در کنار آن.





احتمالا بارها تالارهای گفتگوی موتور vBulletin را دیده اید. انجمن‌ها دیگر مد نیستند، اما vBulletin هنوز یکی از محبوب‌ترین موتورها است. در آخرین نسخه (پنجم) آن، چندین آسیب پذیری یافت شد که می تواند زندگی یک مدیر را تا حد زیادی خراب کند. در این مقاله نحوه استفاده از آنها را به شما خواهم گفت.

اولین مشکل فیلتر نادرست اطلاعات کاربر است. این توسط یک محقق امنیتی مستقل که مایل بود ناشناس بماند گزارش شده است. این آسیب‌پذیری، اگرچه محدودیت‌هایی دارد، اما وضعیت بحرانی را دریافت کرده است زیرا به شما امکان می‌دهد هر فایلی را بخوانید و کد دلخواه را روی سیستم هدف اجرا کنید.

دومین آسیب پذیری توسط محققان TRUEL IT پیدا شد و شناسه CVE-2017-17672 را دریافت کرد. این مربوط به ویژگی های deserialization داده ها در موتور است و می تواند توسط یک مهاجم برای حذف فایل های دلخواه در سیستم استفاده شود.

گزارش‌های کاملی که جزئیات هر دو موضوع را به‌عنوان بخشی از برنامه Beyond Security SecuriTeam منتشر کرده‌اند. همچنین اکسپلویت های PoC برای نشان دادن آسیب پذیری ها وجود دارد. بیایید همه اینها را به ترتیب مرور کنیم.

آماده سازی

من از توزیع WAMP به عنوان سرور استفاده کردم.

خواندن فایل ها، اجرای دستورات

بنابراین، دلیل آسیب‌پذیری اول، منطق نادرست هنگام پردازش پارامتر مسیریابی است که به مهاجم اجازه می‌دهد تا هر فایلی را روی دیسک از طریق شامل و اجرای کد 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: کلاس vB5_Frontend_Application گسترش می یابد vB5_ApplicationAbstract 14: ( 15: عمومی تابع استاتیک init ($configFile) 16: ( 17: والد::init ($configFile); 18: 19: self::$instance = new vB_2:Front; self::$instance->router = new vB5_Frontend_Routing(21: self::$instance->router->setRoutes();

در اینجا ما به روش setRoutes علاقه مند هستیم.

47: تابع عمومی setRoutes() 48: ( 49: $this->processQueryString()؛ ... 54: if (isset($_GET["routestring"])) 55: ( 56: $path = $_GET[" مسیریابی"]؛

متغیر مسیر $ حاوی مقدار داده کاربر از پارامتر مسیریابی است. شما می توانید مسیر صفحه انجمن را به آن منتقل کنید و بارگذاری می شود.



فرض کنید ما /test را قبول کردیم.

پس از تخصیص یک متغیر، یک کد وجود دارد که در صورت وجود، از شر اسلش در ابتدای خط خلاص می شود.

/includes/vb5/frontend/routing.php
75: if (strlen($path) AND $path(0) == "/") 76: ( 77: $path = substr($path, 1)؛ // $path = "test" 78: )
شامل\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") یا ($ext == ".css") 87: OR (strtolower(substr($path, -3)) == ".js" )) 88: ( 89: سرصفحه ("HTTP/1.0 404 یافت نشد")؛ 90: مرگ ("")؛ 91: ) 92: )

همانطور که می بینید، چک بسیار عجیب است. حداقل، وجود لیستی از پسوندهای ممنوعه که مستقیماً در کد نوشته شده است گیج کننده است. و به طور کلی خود این واقعیت که پسوند با برش چهار کاراکتر از انتهای خط (خط 85) به دست می آید، گیج کننده است. به طور کلی، اگر بخواهیم فایلی با پسوندهای gif، png، jsp، css یا js دریافت کنیم، سرور یک صفحه 404 را برمی گرداند و اسکریپت اجرا نمی شود. هنگامی که همه بررسی ها پاس می شوند، متد getRoute از کلاس vB_Api_Route با استفاده از callApi فراخوانی می شود. مسیرهای مناسب را بر اساس اطلاعات ارائه شده توسط کاربر جستجو می کند.

ادامه فقط برای اعضا در دسترس است

گزینه 1. برای خواندن همه مطالب موجود در سایت به انجمن "سایت" بپیوندید

عضویت در انجمن در مدت زمان مشخص شده به شما امکان دسترسی به تمام مطالب هکرها را می دهد، تخفیف تجمعی شخصی شما را افزایش می دهد و به شما امکان می دهد امتیاز حرفه ای Xakep را جمع آوری کنید!

هر موتوری برای بهینه سازی آن برای عملکرد بهتر و سریعتر به اقدامات خاصی نیاز دارد. در مورد ما، ما در مورد بهینه سازی Vbulletin 4 صحبت خواهیم کرد.

از آنجایی که موتور انجمن ما دائما به روز می شود، من در مورد بهینه سازی نسخه های قبلی Vbulletin نمی نویسم، اما با نسخه 4.1.12 شروع می کنم. اگرچه، شاید، من به تدریج این مقاله را با بهینه سازی نسخه های قبلی تکمیل می کنم، زیرا همه به نسخه های جدیدتر تغییر نمی کنند.

در اینجا چند مثال می زنم تا انجمن Vbulletin شما سریعتر و بهتر شود (از ساده ترین چیزها شروع کنید و به موارد پیچیده تر بروید). لطفاً به خاطر داشته باشید که آنچه برای من کار می کند لزوماً برای شما کار نخواهد کرد. بنابراین، شما همه تغییرات را با خطر و ریسک خودتان انجام می دهید.

غیرفعال کردن لیست کاربران

یک راه آسان برای غیرفعال کردن این ویژگی در AdminCP وجود دارد. (تنظیمات -> گزینه ها -> گزینه های لیست کاربر)

البته این جهانی نیست و می توانید از آن بگذرید و آن را انجام ندهید، فقط این سوال را از خود بپرسید: آیا به آن نیاز دارید؟ از آنجایی که یک لیست دارید، کاربران می توانند آن را مرتب کنند، ببینند چه کسی پیام ها، شهرت بیشتری دارد و غیره. آیا کاربران شما از این استفاده می کنند؟ احتمالا نه... آخرین باری که خودتان از این لیست استفاده کردید کی بود؟

در مورد من، به نظر من این لیست ها فقط به نفع هرزنامه ها هستند، زیرا این ساده ترین راه برای جمع آوری تمام نام های شرکت کنندگان در انجمن Vbulletin 4 برای ارسال هرزنامه در پیام های خصوصی است.

علاوه بر این، پرس و جوی مورد نیاز برای ایجاد لیستی از کاربران برای سرورهای پایگاه داده وحشتناک است و می تواند منجر به آن شود بار سنگینسرور

افزایش سرعت هنگام پردازش لیستی از پیام های شخصی.

اگر هرگز پیام‌های خصوصی را از منابع خارجی با استفاده از Impex یا ابزارهای دیگر وارد نکرده‌اید، می‌توانید با خیال راحت به مرتب‌سازی شناسه برای پیام‌های خصوصی اعتماد کنید. مرتب‌سازی بر اساس ID باعث می‌شود که سرور پایگاه داده شما مجبور نباشد برای انجام مرتب‌سازی، پیام‌های خصوصی را در یک جدول موقت رها کند (که پرس و جو را بسیار سریع‌تر می‌کند).

برای این کار باید یک ماژول کوچک با موقعیت مکانی در private_messagelist_filter ثبت کنید و موارد زیر را در آن بنویسید:

اگر ($sortfield == "pmtext.dateline") $sortfield = "pm.pmid";

و بس، شما به تازگی private.php را 20% سریعتر کرده اید.


ما جستجوی کارآمدتری را برای آخرین پیام‌های کاربر تنظیم کردیم.

ما به FTP می رویم، فایل شامل /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_PREFIXAS پست INN. 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 DE 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_PREFIXAS پست INN. 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 DE LIMIT 20 ")؛

این باعث می شود درخواست کمی درست تر از آنچه که قبلاً بوده است. به این ترتیب شما مجبور نخواهید بود به یک جدول موقت مرتب شوید. برای کاربرانی که بیش از 1000 پیام دارند، درخواست اولیه حدود 10 ثانیه طول می کشد، در مورد ما بسیار کمتر. این در درجه اول در مورد نمایه صدق می کند کاربر Vbulletin 4، برای نمایش آخرین پیام ها.

بررسی فهرست موضوع

اگر تالارهای گفتمان شما دارای ترتیب مرتب‌سازی پیش‌فرض است که بدون تغییر مانند آنچه در بالا انجام دادیم تنظیم شده است، مطمئن شوید که همه فهرست‌های شما در جداول آن‌ها هستند. مواردی وجود داشت که نمایه ها به دلایل ناشناخته با هم همپوشانی داشتند و برخی از انجمن ها باز نشدند.

من پیشنهاد می‌کنم مرتب‌سازی پیش‌فرض به شکل تاریخ باشد (ستونی که از این داده‌ها استفاده می‌کند «تاریخ» نامیده می‌شود)، و برای اجرای آن، کوئری را اجرا می‌کنیم:

موضوع ALTER TABLE ADD INDEX forumid2_dp (فرومید، قابل مشاهده، چسبنده، خط تاریخ)

این درخواست به طور خاص برای من اعمال می شود، در مورد شما forumid2_dp باید نام شما را داشته باشد. با مسئولیت خود استفاده کنید.

هنگام نصب افزونه ها مراقب باشید.

فقط به این دلیل که شخصی ماژول‌ها و هک‌ها را می‌سازد، به این معنی نیست که آنها فقط برای شما ساخته شده‌اند، در انجمن‌های بزرگ Vbulletin 4 کار کرده‌اند و بدون اشکال هستند. یک مثال کاملپیام هایی در مورد هک های عظیم، از طریق یک هک یا دیگری.

البته می توان فرض کرد که توسعه دهندگان نمی توانند همه چیز را در نظر بگیرند و همه هک ها را غربال کنند تا با هم تضاد نداشته باشند، اما ... مطمئن شوید که ماژول Vbulletin باعث بارگذاری زیاد پایگاه داده نمی شود، مطمئن شوید که هک دارای پتانسیل محافظت در برابر تزریق SQLیا XSS متأسفانه هزاران برنامه و اصلاح وجود دارد و بررسی همه چیز به سادگی امکان پذیر نیست. بهتر است تمام هک ها را خودتان بنویسید یا به شخص دیگری سفارش دهید. به طور خاص برای شما و وظایف شما طراحی شده است.

از جداول در InnoDB استفاده نکنید.

در اینجا البته می توانند به صورت من تف کنند، زیرا قبلاً میلیون ها بار در مورد این موضوع صحبت شده است اما از تجربه خودم می توانم بگویم که برای هر کاری 100٪ روی جداول MyISAM کار می کنم. گاهی در هر ثانیه 1000 درخواست را پردازش می کنم.

اگر در حال حاضر از جایی که همه چیز در طول پرس و جوها آویزان می شود، به خصوص در جستجوی جدید Vbulletin ترسیده اید، جداول InnoDB را به MyISAM تغییر دهید. MyISAM به درخواست‌های فردی سریع‌تر پاسخ می‌دهد زیرا نیازی به مدیریت قفل کردن سوابق فردی نیست. InnoDB به طور کلی سریعتر است، اما فقط به این دلیل که اجازه می دهد پرس و جوها به طور همزمان اجرا شوند. اگر درخواست‌های شما در حال حاضر سریع تحت MyISAM اجرا می‌شوند، نیازی به تغییر به InnoDB نیست. IMHO.

رتبه بندی مقاله

0%

رتبه بندی

امتیاز کاربر: 0.35 (1 رای)

فقط برای مقاصد اطلاعاتی. مدیریت مسئولیتی در قبال محتوای آن ندارد. دانلود به صورت رایگان .


vBulletin Connect v5.3.3 یک بسته انجمن قدرتمند، مقیاس پذیر و کاملاً قابل تنظیم برای وب سایت شما است.

نسخه: 5.3.3 (نال شده توسط vBSupport.org)

حداقل مورد نیاز php 5.6
سازگار با php 7.1
برای نصب جدید، باید نام فایل htaccess.txt را به htaccess. تغییر دهید
هنگام به روز رسانی، پوشه فونت ها را حذف کنید (قبل از شروع به روز رسانی).

فرصت های تازه:
رابط کاربری جدید با ادغام اجتماعی گسترده؛
بهینه شده برای دستگاه های تلفن همراه؛
نصب، مدیریت و پیکربندی ساده؛
معماری جدید پایگاه داده برای جستجوی بهبود یافته و عملکرد بهتر.
تغییر محتوای پویا راحت؛
پیشرفته برای اشتراک گذاری ویدئو و تصویر؛
ادغام کامل با VigLink.
بیش از 100 ویژگی و پیشرفت جدید دیگر؛

برنامه های داخلی:
انجمن بحث و گفت و گو
گروه ها
نظرسنجی ها
وبلاگ

بهینه سازی موتور جستجو:
URL های سئو دوستانه
برچسب متا کلید واژه/توضیحات سفارشی

انعطاف پذیری:
پروفایل های کاربری قابل توسعه
بازنویسی URL
محلی سازی رابط
فراداده

رعایت استانداردها:
پیوند محتوا (RSS)
پخش محتوا: RSS، Atom، XML
سازگار با PHP v5.4

سیستم یکپارچه بدون شکست:
تنها ورود به سیستم
سیستم تک رزولوشن
تنها کنترل پنل مدیریت
یک سبک/تم پیوسته از طریق مقالات، وبلاگ ها، انجمن ایجاد کنید

داشبورد برای هر نقش:
کنترل های اداری
کنترل پنل مدیر
کنترل پنل سفارشی
سیستم وضوح یکپارچه
موتور قالب قدرت برای سفارشی سازی پیشرفته

کنترل کاربر:
سیستم چند کاربره با نقش ها و قدرت های نامحدود
گروه های درگیر
ایمنی
قدرت های دانه ای
اطلاع رسانی مشکل
SSL سازگار
کپچا
تایید آدرس ایمیل
ویرایشگر اخبار پنل کنترل اداری
ورود به سیستم "اعتصاب".
تغییر ایمیل و رمز عبور نیاز به رمز عبور فعلی دارد
مطابق با قانون حفاظت از حریم خصوصی آنلاین کودکان (COPPA) 1998

1. به کنترل پنل مدیر بروید:
زبان ها و عبارات - دانلود / آپلود زبان ها.
2. در قسمت «یا فایل XML را از رایانه خود آپلود کنید»، مسیر را وارد کنید
فایل vbulletin-language_ru.xml در رایانه شما.
3. در گزینه "Overwrite Language"، "Create New Language" را انتخاب کنید.
4. در قسمت "Title for Uploaded Language" نام زبان را وارد کنید.
اگر داده‌ای وارد نشده باشد، زبان "روسی (RU)" نامیده می‌شود.
5. «Yes» را روی «Ignore Language Version» تنظیم کنید
6. "Yes" را روی "Read Charset from XML File" تنظیم کنید.
7. روی دکمه «واردات» کلیک کنید و منتظر بمانید تا مراحل دانلود به پایان برسد.
7A در صورت تمایل، می توانید زبان جدید را به زبان «پیش فرض» تبدیل کنید.
با کلیک بر روی دکمه "Default" / "Default Value" در کنار آن.





اشتراک گذاری