احسان الوندی
4 سال پیش توسط احسان الوندی مطرح شد
6 پاسخ

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

با سلام خدمت دوستان عزیزم
قصد دارم سیستمی طراحی کنم که فایل های دانلود که قرار میدم برای دانلود نیاز به مجوز داشته باشه و مشکل اصلی من این هست که میخوام فایل ها از طریق آدرس بار زمانی که مجوز مربوطه صادر نشده قابل دانلود نباشن البته اسم فایل هم رندوم تولید کردم ولی باز میخوام که حتما مجوز برای دانلود اخذ بشه.

ممنونم راهنماییم کنید. با تشکر فراوان


ثبت پرسش جدید
Mohammad Amin Mokhtari
تخصص : برنامه نویس
@amin.mokhtari94 4 سال پیش مطرح شد
1

سلام
شما میتونین فرضا با درخواست رمز به طریق زیر دسترسی فایل رو بدین:

if (!empty($_POST)) {
        $user = $_POST['user'];
        $pass = $_POST['pass'];

        if($user == "admin"
        && $pass == "admin") 
        {
            $file = 'path/to/file';

            if (file_exists($file)) {
                header('Content-Description: File Transfer');
                header('Content-Type: application/octet-stream');
                header('Content-Disposition: attachment; filename='.basename($file));
                header('Content-Transfer-Encoding: binary');
                header('Expires: 0');
                header('Cache-Control: must-revalidate');
                header('Pragma: public');
                header('Content-Length: ' . filesize($file));
                ob_clean();
                flush();
                readfile($file);
                exit;
            }
        }
    }

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

منظورتون از مجوز چی هست ؟ مجوز دسترسی بعد از خرید؟


Mohammad Amin Mokhtari
تخصص : برنامه نویس
@amin.mokhtari94 4 سال پیش مطرح شد
1

سلام
شما میتونین فرضا با درخواست رمز به طریق زیر دسترسی فایل رو بدین:

if (!empty($_POST)) {
        $user = $_POST['user'];
        $pass = $_POST['pass'];

        if($user == "admin"
        && $pass == "admin") 
        {
            $file = 'path/to/file';

            if (file_exists($file)) {
                header('Content-Description: File Transfer');
                header('Content-Type: application/octet-stream');
                header('Content-Disposition: attachment; filename='.basename($file));
                header('Content-Transfer-Encoding: binary');
                header('Expires: 0');
                header('Cache-Control: must-revalidate');
                header('Pragma: public');
                header('Content-Length: ' . filesize($file));
                ob_clean();
                flush();
                readfile($file);
                exit;
            }
        }
    }

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

@amin.mokhtari94
با این روش فایل رو تو بافر میبرید و بعد فایل جدید تولید شده رو برای دانلود ارائه میدید؟


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

@nimageneral
بله اینکه لینک در صورت لاگین نبودن کار نکنه


Mohammad Amin Mokhtari
تخصص : برنامه نویس
@amin.mokhtari94 4 سال پیش مطرح شد
0

بله فایل استریم میشه برای دانلود، البته میتونین از htaccess برای پسورد گذاشتن فایل ها نیز استفاده کنید:
https://stackoverflow.com/questions/5229656/password-protecting-a-directory-and-all-of-its-subfolders-using-htaccess
https://help.dreamhost.com/hc/en-us/articles/216363187-Password-protecting-your-site-with-an-htaccess-file


احسان الوندی
تخصص : توسعه دهنده وب
@Alvandi 4 سال پیش مطرح شد
1

@amin.mokhtari94
ممنون از راهنماییتون


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

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