کیان
3 سال پیش توسط کیان مطرح شد
15 پاسخ

جلوگیری از دسترسی به فایل های آپلود شده در سایت لاراول

سلام به همه دوستان و اساتید عزیز
من بک اند اپلیکیشن اندرویدی ام رو با لارول زدم و هیچ ویو سایتی ندارم
چند تا سوال مهم ذهنم رو درگیر کرده
1- چکار کنم که کلا با زدن دامنه سایت هیچی بالا نیاد و هیچی نشون نده البته توی روت web اون صفحه welcome رو برداشتم اما الان صفحه 404 نشون داده میشه همین کافی یا کار دیگه باید انجام بدم
2- من فولدری که عکس ها از سمت اپ آپلود میشن روی هاست رو دارم هدایت میکنم به یک دایرکتوری توی public html آیا این کار اشتباهه یعنی ببرمش توی فولدر روت که کل پروژه رو آپلود کردم بهتر نیست
*** مهمتر از همه اینکه توی یکی از این فولدرها کاربرها مدارک هویتی میخوان آپلود کنن و نمیخوام کسی با داشتن url البته حالا اینکه چطوری بدستش بیارن نمیدونم ولی در کل نمیخوام هیچ کس بتونه بهشون دسترسی داشته باشه چکار کنم directory آپلود رو ببرم توی روت حل میشه

ممنون


ثبت پرسش جدید
کیان
تخصص : ندارم ...
@kian.myphone 3 سال پیش مطرح شد
حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش آپدیت شد
0

سلام @kian.myphone
برای پرسش اول کافیه یک فایل php خالی با نام index.php توی public_html قرار بدید.
برای پرسش دوم هم چون مدارک احراز هویت کاربران مد نظره، بله از public_html خارجش کنید و مطابق با آموزش دوره امنیتش رو برقرار کنید.
قسمت 131 و 132 و 133 این دوره


نیما
تخصص : جوجه برنامه نویسی که میخواد فو...
@Nima.nori 3 سال پیش مطرح شد
0

واقعا ناراحت شدم منو مخاطب قرار ندادین و ازروی سنم منو قضاوت کردین😑
کل کار رو میشه با یک فایل htaccess در آورد
توی اون پوشه فایل رو قرار بدین و توی فایل htaccess کار کنی تمام فایل های پوشه مورد نظر ارور 403 بدن
بعد اگه هر جا هر وقتی خواستین با اون کار کنین یا نمایششون بدین بدونین که میشه درون خود برنامه از اون ها استفاده کرد مثلا من خودم یک سری فایل php داشتم نباید کاربر میدید اونا رو 403 کردم ولی به راحتی درون پروژه require می شدن


حسین شیری نژاد
تخصص : programmer
@hosseinshirinegad98 3 سال پیش مطرح شد
0

سلام از طریق خود هاست هم میتونید فولدر مورد نظر رو بهش اجازه دسترسی بدین که از طریق مرورگر قابل دستیابی نباشه


محمد رستمی
تخصص : طراح و برنامه نویس وب
@mohammadphp 3 سال پیش مطرح شد
0

میتونی یه همه روتای web رو بزاری تو

prefix(/)

بعد یه میدلور تعریف کنی که همه چیزو ریداریکت کنه به 403

abort(403)

بعد اون میدلور بزن رو پرفیکست دیگه هرچی که تو web داری 403 میشه


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 3 سال پیش مطرح شد
0

درود...
کد زیر در فایل htaccess قرار دهید:

RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?domain.com/ .*$ [NC] RewriteRule .(gif|jpg|swf|flv|png)$ /feed/ [R=302,L]

کیان
تخصص : ندارم ...
@kian.myphone 3 سال پیش مطرح شد
0

سلام مجدد و ممنون بابت راهنمایی دوستان و اساتید
استاد عزیز @hekmati ممنونم در خصوص امنیت حتما دوره رو تهیه و نگاه میکنم اما در مورد اول که فرمودید یک فایل php خالی با نام index.php درست کنم خب اینطوری کل پروژه بالا نمیاد (آخه مسیر فولدر vendor و bootstrap هم توی همین فایل داده میشه) ...

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

ممنون استاد عزیز @hosseinshirinegad98 میشه لطفا بفرمایید از سی پنل کدوم قسمت امکان مدیریت همچین چیزی هستش

@mohammadphp سپاس از شما بررسی میکنم

@endworld عزیز میشه لطفا بفرمایید این 2 خط کد توی htaccess دقیقا چه کاری انجام میده

ممنون از همگی ...


رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 3 سال پیش آپدیت شد
0

@endworld
نام این عمل hotlinking است که کاربری که بخواد از لینک عکس ها در صفحات خود استفاده کنه, جلوی نمایش آن را می گیرد که باعث میشه پهنای باند سایت نابود نشه...

پیوند زیر:
https://yun.ir/61x9r2


حسن حکمتی
تخصص : برنامه نویس وب و بلاکچین
@hekmati 3 سال پیش مطرح شد
0

سلام دوست گرامی
بله حق با شماست، تصور من این بود که هاست رو راه انداری کردید و این وضعیت رو تا زمان بارگذاری فایل ها لازم دارید.
حالا برای مورد شماره یک فقط خود دامنه مد نظر هست یا یکسری از روت های خاص مد نظره؟


کیان
تخصص : ندارم ...
@kian.myphone 3 سال پیش مطرح شد
0

سلام مجدد به همگی
ممنون از دوست عزیز : @endworld با توجه به فرمایش شما من جستجو کردم و همین موردی که فرمودید یک گزینه توی خود سی پنل با همین نام hotlinking وجود داشت و از اونجا فعالش کردم البته همون کاری که شما گفتید یعنی اضافه شدن اون خط کدها توی htaccess رو به صورت اتوماتیک انجام داد

استاد عزیز @hekmati
سوالم رو اینطوری بپرسم که راحتتر بتونم جواب بگیرم
قبلش من توی AppServiceProvider تغییراتی دادم که مسیر base path رو عوض کرده بودم و برده بودم روی public html اون رو پاک کردم و بنابراین الان هر چیزی که از سمت اندروید آپلود میشه میره توی روت پروژه فولدر public و دیگه از دسترس عموم خارج میشه
سوالم اینه که تا اینجا درسته فقط امکان اینکه من از توی اندروید دسترسی بهشون داشته باشم هست یا خیر راه حلی داره با توجه به اینکه این فایل های توی یک شاخه قبل از فولدر اصلی public html هستند؟؟؟ اگر نه متاسفانه باید یک راه دیگه پیدا کنم چون باید بتونم بهشون دسترسی داشته باشم

ممنون میشم راهنمایی بفرمایید


کیان
تخصص : ندارم ...
@kian.myphone 3 سال پیش مطرح شد
0

چند تا نکته و چند تا تجربه
اول اینکه وقتی hotlinking رو فعال کردم دیگه توی اندروید هم عکس ها لود نمیشه که نمایش داده بشن
دوم اینکه دنبال یه راه حل بودم که فایل ها رو از درون فولدر روت پروژه بتونم بخونم یعنی یک فولدر قبلتر از فولدر public_html که نشد که بشه و مجبور شدم همه فولدرها رو بیارم درون یک فولدر داخل public_html چون توی اندروید درواقع من اینطوری عکس ها رو لود میکنم و نمایش میدم url(ادرس سایت که در واقع از فولدر public_html شروع میشه) + اسم فایل که در واقع من اسم فایل رو از درون جدول دیتابیس به فراخور نیاز دریافت میکنم و هر بار جایگزین میشه اینطوری راهی پیدا نشد که بتونم به فولدری از روت دست پیدا کنم لا اقل من نتونستم

یه سوال : چقدر امکانش هست که که با هک و اینطور چیزا بشه به یک دایرکتوری درون public_html دست پیدا کرد و فایل ها رو برای خودشون کپی کنند

سپاس


کیان
تخصص : ندارم ...
@kian.myphone 3 سال پیش مطرح شد
0

@majid1354 عزیز
ممنون میشم بفرمایید این چی بود فرستادید ... 🙄🙄🙄
تبلیغه ..!!!!!!!!!!


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام خسته نباشید
1.مشکلی نداره که صفحه 404 باشه ولی باید کاری کنه نتونه به صورت عادی کاربر بیاد اطلاعات برداره مثلا با postman بیاد لیست کاربران بگیره
2.ببین برای عکس بهترین کار استفاده از storage هست
3.ببین تو میتونی برای هر درخواست یه api key در نظر بگیری که از سمت اپ برات بفرسته اون موقع کسی این api key به جز برنامه نویس اندروید نداره


کیان
تخصص : ندارم ...
@kian.myphone 3 سال پیش مطرح شد
0

سلام و وقت بخیر @milwad عزیز
ممنون بابت راهنمایی تون
در مورد آخر میشه یه کم بیشتر توضیح بدید
منظورم از پیاده سازی اش هست
منظورتون اینه که یک رشته استرینگی اینکد شده توی اندروید درست کنم و هر بار که رکوئست میزنم اون رو هم بفرستم ... و سمت لاراول قبل از هر چیزی اون رو چک کنم ببینم موجود هست یا خیر و اینکه درسته یا نه بعد کارها رو انجام بدم؟؟؟
ضمنا تا بحال خیلی api route هام زیاد شده راهی نیست بشه بوسیله یک میانبر قبل از روت ها اون api رو چک کرد بعد اجازه دسترسی به روت رو بهش بدیم مثلا شبیه کاری که midleware ها میکنن
سپاس


میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 3 سال پیش مطرح شد
0

سلام کیان جان خسته نباشی
ببین خودت درست گفتی میتونی یه api key مثلا در نظر بگیری که هر بار درخواست های حساس بفرسته برات و تو چک کنی
اره میشه برای روت ها middleware گذاشت ولی مهم تر از middleware ساختار پروژه ات هست که به نظرم یا از lumen استفاده کن یا از ساختار ماژولار
https://laravellearn.ir/product/laravel-modular-intro


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

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