vbulletin Frisky. کدام انجمن vBulletin یا PunBB بهتر است. خواندن فایل ها، اجرای دستورات

مزایای اصلی:

  • مبتنی بر پایگاه داده سریع و کارآمد
  • رابط قالب
  • موتور جستجوی قدرتمند
  • پشتیبانی چند زبانه
  • پروفایل های کاربر
  • پنل مدیریت قدرتمند و کاربرپسند
  • تعداد نامحدود بخش/موضوع/پیام
  • اعلان های ایمیل
  • پشتیبانی COPPA

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

برای نصب vBulletin، به کنترل پنل هاست (دکمه با چرخ دنده در کنار سفارش میزبانی در صورتحساب)، به "File Manager" بروید، به دایرکتوری "www" بروید. روی دکمه "آپلود فایل به فهرست فعلی" کلیک کنید:

مسیر فایل را در رایانه خود مشخص کنید:

بایگانی را با vBulletin انتخاب کنید، آن را باز کنید:

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

دایرکتوری با نصب کننده vBulletin را انتخاب کنید، نام آن را تغییر دهید:

نام سایت ما را به عنوان نام دایرکتوری وارد کنید:

به بخش "پایگاه های داده" در کنترل پنل میزبانی بروید:

ایجاد کردن پایه جدید داده های MySQL، و کاربر، s حقوق کاملدسترسی به آن:

لطفاً توجه داشته باشید که هم کاربر و هم پایگاه داده به طور خودکار با نام حساب شما در سرور میزبان پیشوند می شوند:

می رویم به صفحه نخستدر سایت ما، خطای vBulletin زیر را دریافت می کنیم:

مسیر نصب کننده را وارد کنید نوار آدرس، باید "install/install.php" را اضافه کنید، پس از آن نصب کننده انجمن vBulletin شروع می شود:

نصب کننده vBulletin فایل ها را بررسی می کند:

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

بازگشت به کنترل پنل میزبانی، مدیر فایل، به دایرکتوری انجمن و سپس زیر شاخه "شامل" بروید. فایل "config.php" را باز کنید:

داده های صحیح را از پایگاه داده در فایل پیکربندی وارد می کنیم و پس از آن آن را می بندیم:

ما به سایت، به نصب کننده باز می گردیم. "F5" را فشار دهید، این بار همه چیز خوب است، اتصال به پایه با هم رشد کرده است:

نصب کننده vBulletin جداول را در پایگاه داده ایجاد می کند:

نصب کننده vBulletin انواع برخی از جداول را تغییر می دهد:

وارد کردن داده ها در پایگاه داده:

زبان های وارداتی:

سبک ها وارد می شوند:

راهنما وارد شده است:

ما تنظیمات پیش فرض را لمس نمی کنیم، نصب کننده vBulletin به درستی همه چیز را تعیین کرده است:

تنظیمات پیش فرض وارد می شوند:

جزئیات مدیر vBulletin را وارد کنید:

مدیر vBulletin با موفقیت اضافه شد:

نصب vBulletin در هاست با موفقیت انجام شد:

ذیل آخرین توصیهنصب کننده، فایل های غیر ضروری را حذف کنید:

می توانید به انجمن vBulletin بروید تا مطمئن شوید همه چیز به درستی کار می کند:

  • از جانب:
  • ثبت شده: 2014.07.07
  • نوشته ها: 3,825
  • من فقط PunBB را دوست دارم:
  • 5 سال ها، 8 ماه ها، 20 روزها،
  • دوست دارد: 480

موضوع: vBulletin یا PunBB کدام انجمن بهتر است

VBulletin (به قول ما Vobla یا Bulka) یکی از قدیمی ترین موتورهای انجمن تجاری است که با استفاده از فن آوری های PHP و MySQL نوشته شده است. از زمان انتشار اولین نسخه در سال 2000، کار فوق العاده ای برای بهبود عملکرد انجام شده است که به VB اجازه داد تا در لیست بهترین محصولات نرم افزاری قرار گیرد.

مجوز VBulletin حدود 250 دلار برای شما هزینه خواهد داشت. دریغ نکنید، این یک اتلاف کاملاً موجه است و مطمئناً با صرفه جویی در زمان کار و سلول های عصبی هزینه خود را می پردازد. بیشتر این پول به توسعه دهندگان و برنامه نویسان می رسد که بعداً از آن برای بهبود عملکرد و انتشار وصله ها و افزونه ها استفاده می کنند (بله، در طول سال تمام به روز رسانی ها به صورت رایگان به شما تحویل داده می شود).

2 پاسخ توسط PunBB

  • از جانب: مسکو، Sovkhoznay 3، apt. 98
  • ثبت شده: 2014.07.07
  • نوشته ها: 3,825
  • من فقط PunBB را دوست دارم:
  • 5 سال ها، 8 ماه ها، 20 روزها،
  • دوست دارد: 480

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

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

3 پاسخ توسط PunBB

  • از جانب: مسکو، Sovkhoznay 3، apt. 98
  • ثبت شده: 2014.07.07
  • نوشته ها: 3,825
  • من فقط PunBB را دوست دارم:
  • 5 سال ها، 8 ماه ها، 20 روزها،
  • دوست دارد: 480

پاسخ: کدام انجمن vBulletin یا PunBB بهتر است

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

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

4 پاسخ توسط PunBB

  • از جانب: مسکو، Sovkhoznay 3، apt. 98
  • ثبت شده: 2014.07.07
  • نوشته ها: 3,825
  • من فقط PunBB را دوست دارم:
  • 5 سال ها، 8 ماه ها، 20 روزها،
  • دوست دارد: 480

پاسخ: کدام انجمن vBulletin یا PunBB بهتر است

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

و تمام، شما فقط private.php را 20٪ سریعتر کردید.


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

ما به ftp می رویم، به دنبال فایل include / 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 برای نمایش آخرین پست ها اعمال می شود.

بررسی شاخص موضوع

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

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

موضوع 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. «بله» را روی «نسخه زبان نادیده گرفتن» تنظیم کنید
6. «بله» را روی «خواندن مجموعه حروف از فایل XML» تنظیم کنید.
7. روی دکمه «واردات» کلیک کنید و منتظر بمانید تا مراحل دانلود به پایان برسد.
7A در صورت تمایل می توانید انجام دهید زبان جدیدزبان پیش فرض،
با کلیک بر روی دکمه "پیش فرض" در کنار آن.





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

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

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

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

آماده سازی

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

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

بنابراین، دلیل آسیب‌پذیری اول، منطق نادرست هنگام پردازش پارامتر routesstring است که به مهاجم اجازه می‌دهد هر فایلی را روی دیسک از طریق شامل و اجرای کد 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 را جمع آوری کنید!