امنیت و هاردنینگ (Security) Files Directive پلتفرم: wordpress متوسط (Medium) سطح ریسک: متوسط (Medium Risk)

کد غیرفعال‌سازی اجرای فایل‌های PHP در پوشه آپلودها (uploads)

تست‌شده و بازبینی‌شده در 1405/06/29 ۳۳۰ بار کپی ۳۵۳ مشاهده
پاسخ سریع و خلاصه کاربردی (Quick Answer)

یک فایل .htaccess جدید درون پوشه wp-content/uploads بسازید و دستور مسدودسازی اجرای تمام فایل‌های php و فایلهای مشتق شده از آن را در آن قرار دهید.

مشخصات فنی و شناسنامه کد (Code Information)

بازبینی: 1405/06/29
پلتفرم اجرایی (Platform) wordpress
نوع کد (Code Type) Files Directive
محل قرارگیری فایل (Location) /wp-content/uploads/.htaccess (فایل اختصاصی در پوشه آپلود)
سطح دشواری (Difficulty) متوسط (Medium)
سطح ریسک (Risk Level) متوسط (Medium Risk)
نیاز به بکاپ اولیه؟ بله، حتماً بکاپ بگیرید
سازگاری با وردپرس تمامی نسخه‌های وردپرس
سازگاری با ووکامرس و HPOS سازگار
هشدار ایمنی: این تغییر مستقیماً فایل‌های حساس سرور یا دیتابیس را ویرایش می‌کند. حتماً پیش از ذخیره کد از وب‌سایت یا فایل مورد نظر فایل پشتیبان (Backup) تهیه کنید.
|
# جلوگیری قطعی از اجرای کدهای PHP در پوشه آپلودها
<FilesMatch "(?i)\.(php|php[0-9]|phtml|pl|py|jsp|asp|htm|shtml|sh|cgi)$">
<IfModule mod_authz_core.c>
    Require all denied
</IfModule>
<IfModule !mod_authz_core.c>
    Order deny,allow
    Deny from all
</IfModule>
</FilesMatch>

کد را کجا قرار دهیم؟ (Placement Guide)

دقت کنید: این کد نباید در .htaccess ریشه قرار گیرد! باید یک فایل جدید با نام .htaccess در داخل پوشه wp-content/uploads/ بسازید و کد را در آن ذخیره کنید.

مسیر فایل: /wp-content/uploads/.htaccess (فایل اختصاصی در پوشه آپلود)

این کد چگونه کار می‌کند؟ (How it Works)

دستور FilesMatch با الگوی عبارات باقاعده هرگونه فایلی با پسوند php، phtml و سایر اسکریپت‌های اجرایی را شناسایی کرده و اجرای آن‌ها را با خطای 403 رد می‌کند.

چه زمانی از این کد استفاده کنیم؟ (Use Cases)

در تمامی سایت‌های وردپرسی و به ویژه سایت‌هایی که فرم آپلود مدارک یا فایل برای کاربران دارند.

چه زمانی نباید از این کد استفاده کنیم؟ (Anti-patterns)

برخی افزونه‌های قدیمی و غیر استاندارد فاکتورساز که در پوشه uploads فایل php می‌سازند (بهتر است آن افزونه‌ها جایگزین شوند).

پیش‌نیازهای اجرا

دسترسی مدیریت فایل یا FTP به پوشه wp-content/uploads.

نحوه تست و اطمینان از عملکرد

یک فایل تستی بنام test.php حاوی <?php echo 'test'; ?> در uploads بسازید و در مرورگر باز کنید؛ باید خطای 403 بدهد و کدی اجرا نشود.

نحوه بازگردانی سریع (Rollback)

فایل .htaccess درون پوشه uploads را حذف کنید.

خطاهای رایج و راه‌حل رفع

قرار دادن این کد در ریشه هاست که باعث از کار افتادن کل سایت و خطای ۵۰۰ می‌شود! فقط در uploads قرار گیرد.

ملاحظات و نکات امنیتی

این کد شماره یکِ اقدامات امنیتی در جلوگیری از هک شدن سایت از طریق آسیب‌پذیری‌های فرم‌های آپلود و بدافزارها است.

تاثیر بر سرعت و پرفورمنس

هیچ تاثیر منفی بر سرعت نمایش تصاویر ندارد.

پرسش‌های متداول پیرامون این کد (FAQ)

خیر، تصاویر با پسوندهای jpg, png, webp, svg بدون مشکل لود می‌شوند.
منابع و مستندات رسمی بررسی‌شده (Official Sources):

سبد خرید شما

0 افزونه

سبد خرید شما خالی است

هنوز محصولی را به سبد خرید اضافه نکرده‌اید. می‌توانید از افزونه‌های اختصاصی ما دیدن فرمایید.

مشاهده فروشگاه افزونه‌ها

ثبت درخواست مشاوره

با تکمیل فرم زیر، کارشناسان فنی بیسکو وب در سریع‌ترین زمان ممکن با شما تماس می‌گیرند.

مشاور
پشتیبانی و مشاوره تخصصی
پاسخگویی سریع کارشناسان
09903336117