
نوشته اصلی توسط
mojtabakh18
سلام خوبین؟
مثلا من یک فایل دارم در روت سایت به این نام database.php
که کدهای اتصال به دیتابیسم در اون وارد شده
میخوام که کاربری اگه یک وقت ادرس این فایل رو پیدا کرد و این رو زد در ادرس بار مرورگر پیغام بده مثلا forbidden
ولی وقتی از داخل پروژه require_once می کنم کدها اجرا بشه
یعنی سیستم دسترسی به فایل داشته باشه اما کاربرا نه
ممنون
خیلی راه ها داره دوست عزیز . من دو نمونشو براتون مثال میزنم انشالله که اگه راه حل های دوستان کمکی نکرد راه حل من مثمر ثمر باشه
اولین راه که بهترین و اصولی ترینشه راه حلیه که دوست عزیزمون آقای omid1991 اعلام کردن
دومین راه حل یه کد نویسی خیلی ساده و کوچولو . داخل فایلی که میخواید database.php رو بارگذاری کنید قبل از کد require یا include یه متغییر تعریف کنید با هر نامی و مقدرشو بزارید فالس . مثل کد زیر :
کد PHP:
$redirect="false";
require_once("database.php");
حالا داخل فایل database.php اول از همه ی کد ها یه شرط بنویسید . به این صورت که اگه متغییر $redirect وجود داشت و مقدارش برابر با فالس بود که هیچی کانتینی بده کدهارو اگر نه ردایرکت بشه به یه آدرس دیگه . این هم نمونه کد که میتونید ازش استفاده کنید یا ویرایشش کنید :
database.php :
کد PHP:
if(empty($redirect) OR (string)$redirect != "false"){
header("Location: http://address_morede_nazar");exit();
}
روش دومی که خدمتتون عرض کردم شاید یکم من در آوردی خود من باشه ولی خب به هیچ طریقی نمیشه دورش زد نه از طریق رکوئست نه از طریق متد و صد در صد امنیتش بالاس . با تشکر