-
June 14th, 2016, 16:16
#1
جلوگیری از دسترسی به فایل های php یک پروژه
دارم یک cms رو پیاده سازی میکنم .
قسمت admin از پوشه های زیر تشکیل شده :
پوشه class :: که تمام کلاس ها توشه .
پوشه captcha : که کد کپچا توشه .
و تو روت هم فایل های صفحات هست مثل login.php - logout.php ,.....
من میخوام دسترسی به تمامی فایل های پوشه class و پوشه captcha رو ببندم تا هکر بهش دسترسی نداشته باشه . و از طرفی دیگه بتونم تمامی این فایل هارو تو login.php - logout.php ,..... فراخوانی کنم و از classs ها بتنم تو صفحات استفاده کنم . فقط میخوام دسترسی نداشته باشن به class تا تغییرش بدن یا هکش کن . 
من اومدم از htaccess استفاده کردم و تو پوشه class و captcha برای هرپوشه یک فاسل .htaccess ساختم و این کد رو توشون قرار دادم :
کد HTML:
Options –Indexes
حالا به نظرتون کار درستیه؟ تکنیک هایی دیگه هم هست که نتونن دسترسی داشته باشن؟
ممنون از پاسختون
-
-
June 14th, 2016 16:16
# ADS
-
June 14th, 2016, 16:20
#2
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه
بله کار درستی است.
میتونید دسترسی به فولدر ها را نیز deny کنید (چون کلاس ها توسط یوزر باز نمی شود و فقط توسط php دسترسی پیدا کنند).
همچنین در فولدر ها index.html قرار دهید یا redirect کد تعریف کنید.
-
تعداد تشکر ها ازYas-Host به دلیل پست مفید
-
June 14th, 2016, 16:35
#3
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه
سلام
اگه فایل های php داخل اون پوشه ها فقط توسط php با توابع (include یا require) فراخوانی میشن بهترین کار از نظر من اینه که اون فایل ها رو خارج از پوشه public_html بذارید و به صورت آدرس کامل اینطوری /home/myuser/myfile.php فراخوانیش کنید.البته این در صورتیه که همانطور که گفتم فایل فقط از طریق php فراخوانی بشه وگرنه اگر فایل باید توسط کاربر هم مستقیم اجرا بشه که باید داخل public_html باشه.
-
تعداد تشکر ها ازiHSG به دلیل پست مفید
-
June 14th, 2016, 16:52
#4
عضو انجمن
پاسخ : جلوگیری از دسترسی به فایل های 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>
روش خودتون هم درسته و مشکلی نداره .
-
تعداد تشکر ها ازshahinmq به دلیل پست مفید
-
June 15th, 2016, 11:03
#5
عضو انجمن
پاسخ : جلوگیری از دسترسی به فایل های 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 کنارش گذاشته
-
-
June 16th, 2016, 04:21
#6
پاسخ : جلوگیری از دسترسی به فایل های php یک پروژه

نوشته اصلی توسط
miladtnt
اینم چیز خوبیه قبلا هم گفته بودم بقکر روتینگ باشید(وقتی پروژتونو شروع میکردین)
htaccess تنها بدی که داره برای سرعت مناسب نیست برای همینم nginx کنارش گذاشته
😁😁😁😁😁😁😁
-