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

محدود کردن دسترسی به فایل ها

سلام وقتتون بخیر
آیا امکانش هست که وقتی کاربر لاگین بود فقط فایل ها بهش نمایش داده بشه ؟
test.com/file.mp3 برای مثال این رو وارد کنه و اگر لاگین بود فقط بهش نمایش داده بشه

@milwad @endworld @mhyeganeh @SobhanDadkhah


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

سلام خسته نباشید
اره یه if سادس

if (auth()->check()) {
// show
}

مانی
تخصص : طراح سایت و سئوکار
@manish 3 سال پیش مطرح شد
0

@milwad
درسته اما من منظورم اینه که فایل mp3 رو بهش دسترسی نده اگه لاگین نبود


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

خب ببین بیا این جوری چک کن اگه لاگین بود بتونه حالا مثلا ویو رو ببینه یا دانلود کنه اگه نبود برگرده و بهش یه پیامی بده
البته gate هم میتونی استفاده کنی


مانی
تخصص : طراح سایت و سئوکار
@manish 3 سال پیش مطرح شد
0

@milwad
از php خام استفاده میکنم
اگر میشه نمونه این که گفتید رو بدید ممنون میشم


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

ببین نمی دونم سیستم احزارهویتت چجوریه ولی این کد برای چک کردنه

if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) {
    echo "Welcome to the member's area, " . $_SESSION['username'] . "!";
} else {
    echo "Please log in first to see this page.";
}

مانی
تخصص : طراح سایت و سئوکار
@manish 3 سال پیش مطرح شد
0

@milwad
منظور من رو فکر میکنم متوجه نشدید
میگم اگر url فایل رو وارد کرد بهش نمایش داده نشه ، این امکانش هست یا نه ؟


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

@endworld

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


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

@manish
نه نشون نمیده
تا زمانی کاربر عضو بشه به لینک و محتوای آن دسترسی خواهند داشت.


مانی
تخصص : طراح سایت و سئوکار
@manish 3 سال پیش مطرح شد
0

@endworld

ممنون از شما
فقط یک سوال : من میخوام که با یک تابع بررسی کنه که کاربر عضو هست و اشتراک داره یا نه . باید چی کار کنم ؟
(تابع رو نوشتم)


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

یک نکته رو توجه داشته باشید:

به صورت پیش فرض وقتی آدرس URLیک فایل به سرور میرسه، (مثلا example.com/ali.jpg) وب سرورتون طبق تنظیماتی که بهش داده شده:

اول از همه میگرده دنبال فایلی با این نام و فرمت در مسیر مشخص شده. اگر پیداش کرد همون فایل رو serve می‌کنه و ریکوئست اصلا به هسته برنامتون و کدهای PHP یا لاراول نمیرسه که بخواد چیزی چک بشه.

دوم اگر چنین فایلی وجود نداشت، ریکوئست به router برنامتون میرسه و بین route های تعریف شده دنبال تطابق می‌گرده. اگر پیدا کرد به Controller مربوطه میرسه و اگر تطابقی پیدا نشد پاسخ با کد 404 برمی‌گردونه.

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

یا راه بهتر اینه که یک route برای دانلود فایلهای مورد نظرتون تعریف کنید به نحوی که با پوشه بندی اصلیتون تطابق نداشته باشه (اینجوری درخواست به هسته برنامتون میرسه) بعد با استفاده از دستورات شرطی که دارید اگر شرطش تایید شد فایل رو از مسیر اصلیش که غیر قابل دسترس عمومی هست پیدا کنید و یک response از نوع فایل با mim-type مرتبط برگردونید.


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

سلام
سشن ست کن
بعد که ست شد
چک کن که ایا وجود داره یا نه
بعداگه وجود نداشت
بزار بره به صفحه
@manish


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

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