جلوگیری از دسترسی به فایل های php یک پروژه
دارم یک cms رو پیاده سازی میکنم .
قسمت admin از پوشه های زیر تشکیل شده :
پوشه class :: که تمام کلاس ها توشه .
پوشه captcha : که کد کپچا توشه .
و تو روت هم فایل های صفحات هست مثل login.php - logout.php ,.....
من میخوام دسترسی به تمامی فایل های پوشه class و پوشه captcha رو ببندم تا هکر بهش دسترسی نداشته باشه . و از طرفی دیگه بتونم تمامی این فایل هارو تو login.php - logout.php ,..... فراخوانی کنم و از classs ها بتنم تو صفحات استفاده کنم . فقط میخوام دسترسی نداشته باشن به class تا تغییرش بدن یا هکش کن . :)
من اومدم از htaccess استفاده کردم و تو پوشه class و captcha برای هرپوشه یک فاسل .htaccess ساختم و این کد رو توشون قرار دادم :
کد HTML:
Options –Indexes
حالا به نظرتون کار درستیه؟ تکنیک هایی دیگه هم هست که نتونن دسترسی داشته باشن؟
ممنون از پاسختون
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه
بله کار درستی است.
میتونید دسترسی به فولدر ها را نیز deny کنید (چون کلاس ها توسط یوزر باز نمی شود و فقط توسط php دسترسی پیدا کنند).
همچنین در فولدر ها index.html قرار دهید یا redirect کد تعریف کنید.
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه
سلام
اگه فایل های php داخل اون پوشه ها فقط توسط php با توابع (include یا require) فراخوانی میشن بهترین کار از نظر من اینه که اون فایل ها رو خارج از پوشه public_html بذارید و به صورت آدرس کامل اینطوری /home/myuser/myfile.php فراخوانیش کنید.البته این در صورتیه که همانطور که گفتم فایل فقط از طریق php فراخوانی بشه وگرنه اگر فایل باید توسط کاربر هم مستقیم اجرا بشه که باید داخل public_html باشه.
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه
درود بر شما.
نمی دونم پروژتون چقدر جلو رفته ، اما اگر ابتدای کار هستید توصیه می کنم خودتون یه روتینگ بنویسید.حالا روتینگ چیه ؟
اگر بخوام خیلی خیلی ساده بهتون بگم ، فرض کنید آدرس سایت شما folan.com باشه . حالا هرچیزی جلوی آدرستون اومد به صورت گت(Get) به آدرسی ارسال بشه ، مثلا فرض کنید برای صفحه ی عضویت : folan.com/users/register باشه.
اولا که شما می تونید داخل روتینگتون هر / (اسلش) را جدا کنید ، که ساده ترین راه استفاده از تابع explode هستش و بگید اولین مقدار یعنی (users) رو بگیر و برو داخل فایل کلاس ها و دنبال users.php بگرد و متد(تابع) register را فراخوانی کن.
حال داخل متد register میگید که برای این صفحه فلان قالب بارگذاری بشه و فلان دستورات اجرا بشه.
چند مزیت داره ، اول اینکه آدرسی که شما تولید کردید ، داخل هاستتون اصلا وجود نداره ، یعنی فولدری به نام users اصلا موجود نیست و درواقع مجازی هستش
دومین مزیت در سئو موثر هستش.
اگر نمی تونید روتینگ ایجاد کنید ، ساده ترین راه حل استفاده از فریمورک هستش (فریمورک ها نیز این قابلیت رو دارند)
اگر باز هم نمی تونید از فریمورک خاصی استفاده کنید ، ما یک فریمورک نوشتیم که کار با اون خیلی خیلی سادست ، اگر اصفهان ساکن هستید ، حدود 1 ساعت براتون نحوه ی استفاده از اون رو می تونم توضیح بدم تا کارتون راه بیفته.
برای ایجاد روتینگ باید داخل htaccess این کد رو وارد کنید :
کد:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
روش خودتون هم درسته و مشکلی نداره .
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه
نقل قول:
نوشته اصلی توسط
sheagle
درود بر شما.
نمی دونم پروژتون چقدر جلو رفته ، اما اگر ابتدای کار هستید توصیه می کنم خودتون یه روتینگ بنویسید.حالا روتینگ چیه ؟
اگر بخوام خیلی خیلی ساده بهتون بگم ، فرض کنید آدرس سایت شما folan.com باشه . حالا هرچیزی جلوی آدرستون اومد به صورت گت(Get) به آدرسی ارسال بشه ، مثلا فرض کنید برای صفحه ی عضویت : folan.com/users/register باشه.
اولا که شما می تونید داخل روتینگتون هر / (اسلش) را جدا کنید ، که ساده ترین راه استفاده از تابع explode هستش و بگید اولین مقدار یعنی (users) رو بگیر و برو داخل فایل کلاس ها و دنبال users.php بگرد و متد(تابع) register را فراخوانی کن.
حال داخل متد register میگید که برای این صفحه فلان قالب بارگذاری بشه و فلان دستورات اجرا بشه.
چند مزیت داره ، اول اینکه آدرسی که شما تولید کردید ، داخل هاستتون اصلا وجود نداره ، یعنی فولدری به نام users اصلا موجود نیست و درواقع مجازی هستش
دومین مزیت در سئو موثر هستش.
اگر نمی تونید روتینگ ایجاد کنید ، ساده ترین راه حل استفاده از فریمورک هستش (فریمورک ها نیز این قابلیت رو دارند)
اگر باز هم نمی تونید از فریمورک خاصی استفاده کنید ، ما یک فریمورک نوشتیم که کار با اون خیلی خیلی سادست ، اگر اصفهان ساکن هستید ، حدود 1 ساعت براتون نحوه ی استفاده از اون رو می تونم توضیح بدم تا کارتون راه بیفته.
برای ایجاد روتینگ باید داخل htaccess این کد رو وارد کنید :
کد:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
روش خودتون هم درسته و مشکلی نداره .
اینم چیز خوبیه قبلا هم گفته بودم بقکر روتینگ باشید(وقتی پروژتونو شروع میکردین)
htaccess تنها بدی که داره برای سرعت مناسب نیست برای همینم nginx کنارش گذاشته
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه
نقل قول:
نوشته اصلی توسط
miladtnt
اینم چیز خوبیه قبلا هم گفته بودم بقکر روتینگ باشید(وقتی پروژتونو شروع میکردین)
htaccess تنها بدی که داره برای سرعت مناسب نیست برای همینم nginx کنارش گذاشته
😁😁😁😁😁😁😁