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

دانلود غیر مستقیم فایل در php

با سلام و وقت بخیر خدمت تمام دوستان

دوستان کسی می دونه چطور میشه در php ، فایل ها رو به صورت کاملا حرفه ای و با امنیت بالا به صورت غیر مستقیم دانلود کرد ؟

به عنوان مثال : در وب سایت راکت ، چطور فایل ها برای دانلود قرار داده میشن . به طوری که صرفا با عضویت ویژه یا خرید دوره ها قابلیت دانلود پیدا می کنن.

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

با تشکر ...


ثبت پرسش جدید
حسام موسوی
تخصص : طراح و برنامه نویس
@hesammousavi 6 سال پیش مطرح شد
2

به سادگی با تغییر دادن بعضی از header ها میشه اینکارو انجام داد کد زیر یک نمونه کد از این مسئله اس

<?php
$fakeFileName= "fakeFileName.zip";
$realFileName = "realFileName.zip";

$file = "downloadFolder/".$realFileName;
$fp = fopen($file, 'rb');

header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$fakeFileName");
header("Content-Length: " . filesize($file));
fpassthru($fp);
?>

البته خودم تستش نکردم اما با تغییر دقیقا همین header ها چنین سیستمی رو پیاده سازی کردم اما کد خودم بدرد مثال زدن نمیخورد چون یکم داستانش
پیشرفته بود بنابراین این کد ساده رو براتون قرار دادم


همایون رضایی
@raeisialireza110 6 سال پیش مطرح شد
0

سلام مجدد و عرض ادب و احترام

قبل از هر چیزی ، کمال تشکر و قدر دانی رو از جناب موسوی بابت راهنمایی های لازم دارم.

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

به نظر شما، این کدها به اندازه کافی برای استفاده در یک پروژه ی حرفه ای کامل هستند ؟ و امنیت لازم رو داره ؟ اگر به اندازه کافی حرفه ای نیست به نظر شما چه مسائلی رو در این کد بهش توجه نکرده ام ؟

لینک دانلود فایل :
http://s8.picofile.com/file/8313749068/downloadFile.zip.html


masoud net
@netwons 5 سال پیش مطرح شد
0

این هدرها چی هستند میشه بیشتر توضیح بدید


Mohsen Hassanshahi
تخصص : برنامه نویس
@a.hassanshahi74 5 سال پیش مطرح شد
ناصر احدی
تخصص : مهندس نرم افزار
@nasser0ahadi 4 سال پیش مطرح شد
0

سلام ببخشید جناب مهندس موسوی
در کد
$fp = fopen($file, 'rb');
کار b چیست؟


ftp
تخصص : ساده
@ftp 4 سال پیش مطرح شد
0

@hesammousavi
الان به کمک این کد میشه لینک هم دانلود کرد یا نه


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

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