136 نحوه محافظت از دایرکتوری ها با htaccess 357

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

🔰 ایجاد فایل htaccess

برای بستن دسترسی مستقیم به فایل های داخل یک دایرکتوری (فولدر) کافیه داخل دایرکتوری مورد نظر یک فایل با نام htaccess. ایجاد کنیم و کد زیر رو داخلش قرار بدیم سپس میتونیم در PHP به صورت Include / Require فایل های محافظت شده رو فراخوانی کنیم


# محافظت از کلیه فایل ها و فولدر های این دایرکتوری
# جلوگیری از اجرای مستقیم فایل ها و فولدر ها
# فایل ها فقط به صورت فراخوانی داخلی قابل استفاده هستند
Deny from all

توجه داشته باشید که کد بالا میاد از کلیه زیر شاخه های یک دایرکتوری محافظت میکنه و ارور 403 بر میگردونه به درخواست کننده اون دایرکتوری، فرض کنین یک فولدر به نام config داریم و میخوایم دسترسی بهش رو ببندیم کافیه کد بالا رو داخل یک فایل htaccess. در فولدر config ذخیره کنیم اما گاهی پیش میاد که میخوایم فقط از یک یا چند ساب فولدر (زیر شاخه) از داخل یک فولدر اصلی محافظت کنیم برای اینکار کافیه فایل htaccess. حاوی کد بالا رو برای هر فولدر جداگانه بسازیم در واقع کار کد بالا اینه که دسترسی به کلیه فایل ها و ساب فولدر های یک دایرکتوری رو ممنوع کنه

(ارور 403 یعنی دسترسی به منابع درخواستی ممنوع می باشد)

برنامه نویسی htaccess