بستن اجرای اسکریپت در دایرکتوری با htaccess
در این آموزش ساده با آموزش بستن اجرای اسکریپت در دایرکتوری با htaccess در خدمت شما هستیم. گاهی در بعضی از پروژه نیاز به آپلود فایل توسط کاربران است که برای امنیت بیشتر ابتدا باید در موقع آپلود فایل برنامه فایلهای اسکریپت را در سایت آپلود نکند. اما به جز بررسی در زمان آپلود باید در نظر بگیرید که اجرای اسکریپتهای php و python و … را در آن دایرکتوری خاص ببندید. در این آموزش نحوهی بستن اجرای اسکریپت در دایرکتوری با htaccess در وب سرورهای Apache را به شما آموزش خواهیم داد.
آموزشهای دیگر در ارتباط با htaccess:
- خطای حرف “م” در apache
- غیرفعال کردن نمایش خطای PHP در سایت
- فریمورک کدایگنایتر – حذف index.php
- توصیههای امنیتی وردپرس
بستن اجرای اسکریپت در دایرکتوری با htaccess
برای بستن اجرای اسکریپت در دایرکتوری با htaccess ابتدا دایرکتوری که قصد بستن اجرای اسکریپتها را دارید شناسایی کنید. سپس وارد آن دایرکتوری شوید و یک فایل htaccess در آن دایرکتوری (فولدر) بسازید.
محتوای فایل htaccess را با کد زیر پر کنید:
<Files *>
SetHandler none
SetHandler default-handler
Options -ExecCGI
php_flag engine off
RemoveHandler .cgi .php .php3 .php4 .php5 .phtml .pl .py .pyc .pyo
</Files>
فایل را ذخیره کنید. (فایل بالا را دریافت کنید.) حالا در مسیر مورد نظری که این فایل htaccess قرار داشته، تمام فایلهایی که فرمتهای ذکر شده را داشته، اجرا نخواهند شد. در صورت باز کردن آنها تنها کد آنها به صورت یک فایل متنی ساده نمایش داده میشود. اگر روشهای مناسبتری برای “بستن اجرای اسکریپت در دایرکتوری با htaccess” دارید در بخش نظرات برای ما ارسال کنید تا با نام خودتان اشتراک بگذاریم.



















امکان تست صحت این محدودیت بدون آپلود واقعی وجود دارد؟
بله این کد را میتوانید در محیط واقعی استفاده کنید.
این روش روی فایلهای shell اسکریپت هم جواب میدهد؟
خیر. اگر بخواهید برای فایلهای شل با پسوند sh استفاده کنید با در قطعه کد بالا پسوند .sh را به آن اضافه کنید.
آیا این دستورها با mod_rewrite تداخل ایجاد نمیکند؟
خیر تداخلی ندارد.
اجرای این کد روی هاست اشتراکی محدودیت خاصی دارد؟
خیر محدودیت خاصی ندارد.
این روش روی همه نسخههای Apache کار میکند یا فقط نسخههای جدیدتر؟
تفاوتی ندارد در همهی نسخهها کار میکند.