amir
2 سال پیش توسط amir مطرح شد
4 پاسخ

مخفی کردن فایل کلاس ها و فانکشن ها

سلام دوستان داخل یک پروژه ای که با php خام نوشته میشه بدون استفاده از mvc خب یکسری فایل ها برای قراردادن کلاس ها یا فانکشن ها یا هدر وفوتر سایت و یکسری اطلاعات برای کانفیگ و اتصال به دیتابیس و ... هستند که خب لزومی نداره کاربر با سرچ url در مرورگر بتونع این فایل هارو باز کنه . درسته که نمایش این فایل ها برای کاربر فایده ای نداره (چون کلاس ها در تون ها فقط تعریف شدند و عملا قرار نیست در اون فایل کاری انجام بشه ) ولی به نظر خودم فکر نکنم درست باشه که کاربر بتونه فایل های اصلی پروژه رو بع این راحتی ران کنه برای جلوگیری از چنین مواردی باید چیکار کنیم ؟


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
2

یکسری فایل ها برای قراردادن کلاس ها یا فانکشن ها یا هدر وفوتر سایت و یکسری اطلاعات برای کانفیگ و اتصال به دیتابیس و ... هستند که خب لزومی نداره کاربر با سرچ url در مرورگر بتونع این فایل هارو باز کنه

لزومی نداره یعنی چی؟! به هیچ وجه نباید چنین اتفاقی بیفته!!!
و این قضیه میتونه مشکلات امنیتی خیلی جدی ایجاد کنه. پس حتما جدی بگیرید این قضیه رو.

مرسوم ترین روشی هم که بنده میشناسم این هست که شما باید اول از همه پوشه بندی پروژتون رو جوری انجام بدید که صرفا یک پوشه بعنوان روت اصلی پروژه که همه درخواست ها بهش متصل میشن تعریف کنید و الباقی فایل های برنامه تون رو در یک مرحله قبل از اون قرار بدید. مثلا در وردپرس اون پوشه wp-content هست یا در لاراول پوشه public
و در مرحله بعد در تنظیمات وب سرورتون (Apache یا Nginx یا ...) به نحوی کانفیگ رو انجام می‌دهید که وب ریکوئست های ارسالی فقط به همون پوشه عمومی متصل بشوند و هیچ جوری راه دستیابی به سایر فایل های مرحله قبلش رو نداشته باشند.


amir
تخصص : بک اند و فرانت اند
@behzadi 2 سال پیش مطرح شد
0

دوستان عزیز نظری ندارید؟
@gomnam @abdolrahman @mhyeganeh @juza66 @ajdar9667 @mehranmarandi90 و بقیه دوستان...


محمد رستمی
تخصص : طراح و برنامه نویس وب
@mohammadphp 2 سال پیش مطرح شد
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 2 سال پیش مطرح شد
2

یکسری فایل ها برای قراردادن کلاس ها یا فانکشن ها یا هدر وفوتر سایت و یکسری اطلاعات برای کانفیگ و اتصال به دیتابیس و ... هستند که خب لزومی نداره کاربر با سرچ url در مرورگر بتونع این فایل هارو باز کنه

لزومی نداره یعنی چی؟! به هیچ وجه نباید چنین اتفاقی بیفته!!!
و این قضیه میتونه مشکلات امنیتی خیلی جدی ایجاد کنه. پس حتما جدی بگیرید این قضیه رو.

مرسوم ترین روشی هم که بنده میشناسم این هست که شما باید اول از همه پوشه بندی پروژتون رو جوری انجام بدید که صرفا یک پوشه بعنوان روت اصلی پروژه که همه درخواست ها بهش متصل میشن تعریف کنید و الباقی فایل های برنامه تون رو در یک مرحله قبل از اون قرار بدید. مثلا در وردپرس اون پوشه wp-content هست یا در لاراول پوشه public
و در مرحله بعد در تنظیمات وب سرورتون (Apache یا Nginx یا ...) به نحوی کانفیگ رو انجام می‌دهید که وب ریکوئست های ارسالی فقط به همون پوشه عمومی متصل بشوند و هیچ جوری راه دستیابی به سایر فایل های مرحله قبلش رو نداشته باشند.


amir
تخصص : بک اند و فرانت اند
@behzadi 2 سال پیش مطرح شد
0

@mhyeganeh چجوری این کانفیگ رو برای Apache انجام بدم ؟


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام