learn

مخفی کردن نسخه وردپرس؛ حذف generator و محدودیت امنیتی آن

پنهان‌کردن یک نشانهٔ نسخه، سایت آسیب‌پذیر را امن نمی‌کند؛ روش محدود حذف generator و اولویت‌های واقعی نگهداری را بخوانید.

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

مخفی کردن نسخه وردپرس دقیقاً چه چیزی را تغییر می‌دهد؟

وردپرس می‌تواند در HTML یا خوراک، خروجی generator تولید کند. حذف این خروجی فقط همان محل نمایش را تغییر می‌دهد. فایل‌ها، رفتار برنامه یا مؤلفه‌های دیگر ممکن است نشانه‌های دیگری باقی بگذارند؛ بنابراین نتیجه را «غیرقابل‌شناسایی‌شدن وردپرس» توصیف نکنید.

نمونهٔ قدیمی نمایش generator در منبع HTML وردپرس
نمونهٔ رابط قدیمی؛ نام و جای دکمه‌ها در نسخهٔ فعلی ممکن است متفاوت باشد. راهنمای بازبینی‌شدهٔ متن را مبنا قرار دهید.

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

حذف خروجی استاندارد generator با فیلتر

برای توسعه‌دهنده، فیلتر مستند the_generator امکان تغییر خروجی را فراهم می‌کند. نمونهٔ زیر رشتهٔ خالی برمی‌گرداند و خروجی‌های استانداردی را که از این فیلتر می‌گذرند، مانند HTML و خوراک، حذف می‌کند. این نمونه را ابتدا در محیط آزمایشی اجرا کنید:

add_filter( 'the_generator', '__return_empty_string' );

محل مناسب، افزونهٔ اختصاصیِ تحت نگهداری یا فایل functions.php قالب فرزند است. در فایل PHP موجود، کد باید داخل بخش PHP قرار بگیرد؛ برچسب شروع را بی‌دلیل تکرار نکنید. فایل هسته یا قالب والد را تغییر ندهید، چون ارتقا می‌تواند تغییر را از بین ببرد.

روش قدیمی remove_action برای wp_generator، فقط callback مربوط به wp_head را حذف می‌کند و به‌تنهایی همهٔ خروجی‌های خوراک را پوشش نمی‌دهد. افزودن چند قطعه‌کد تکراری سود مشخصی ندارد. اگر افزونهٔ فعلی همین خروجی را مدیریت می‌کند، ابتدا همان قابلیت را بررسی کنید.

چرا پارامتر ver را از همهٔ فایل‌ها حذف نکنیم؟

در نشانی CSS و JavaScript ممکن است پارامتر نسخه وجود داشته باشد. این مقدار لزوماً نسخهٔ هسته نیست و می‌تواند نسخهٔ همان فایل یا افزونه باشد. طبق مرجع wp_enqueue_script، نسخه در URL برای تازه‌سازی کش نیز استفاده می‌شود.

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

نتیجه را چگونه بررسی کنیم؟

  1. قبل از تغییر، محل دقیق generator را در منبع صفحه ثبت کنید.
  2. پس از اعمال در محیط تست، کش همان صفحه را تازه کنید.
  3. HTML عمومی و خوراک فعال سایت را بررسی کنید.
  4. ورود، نمایش صفحات و بارگذاری فایل‌ها را آزمایش کنید.
  5. اگر خروجی باقی مانده، سازندهٔ آن را پیدا کنید؛ کدهای نامرتبط اضافه نکنید.

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

اولویت امنیتی بالاتر چیست؟

راهنمای سخت‌سازی وردپرس بر نگهداری نسخه‌های به‌روز، منابع معتبر و حفاظت حساب‌ها تأکید دارد. پنهان‌کردن شماره نباید باعث عقب‌انداختن اصلاح امنیتی شود. افزونهٔ متروک، رمز افشاشده یا دسترسی اضافی با حذف generator درست نمی‌شود.

اگر تنها هدف حذف همین خروجی است، نصب یک مجموعهٔ بزرگ امنیتی صرفاً برای آن ضرورت ندارد. قابلیت موجود یا کد کوتاهِ قابل نگهداری را با توجه به مهارت تیم انتخاب کنید و انتظار نتیجه را به همان محدودهٔ واقعی محدود نگه دارید.

مطالعهٔ مرتبط

بازبینی فنی: ۱۳ آبان ۱۴۰۵. تاریخ انتشار اولیه و نشانی قبلی حفظ شده‌اند.

مطالب مرتبط

ارسال نظر

فهرست مطالب