سلام خدمت همه دوستان عزیز راکت
دوستان مطلب هش کردن لینک دانلود در php خیلی واسم جالبه ولی متاسفانه هرچقدر سرچ میکنم نه در سایت های ایرانی و نه در سایت های خارجی منبع خاصی وجود نداره که بشه یاد گرفت !!
ممنون میشم اگه یه راهنمایی در این مورد داشته باشید یا یک منبعی رو معرفی کنید
با تشکر
روشی که برای این موضوع اینکه شما میتونید فایل هاتون رو در دایرکتوری قرار بدید که بصورت مستقیم قابل دسترس نیستن و بعد با استفاده از توابع هش کننده یک سری اطلاعات رو در سمت کاربر هش کنید و به url خودتون اضافه کنید و در طرف دیگه اون url رو هش معکوس کنید و ببینید آیا مقدار فرستاده شده درست هست یا نه
به مثال زیر دقت کنید
http://dl4.roocket.ir/download?path=dlv/1396/laravel55/1-laravel55.rar&mac=$2y$10$tSfQ6dfjGbCQNULL/MXf6.tQMLUA2E6AdQ6tXzUEm2ULIYLsmF/R6&t=1507079175
url زیر برای یکی از فایل های سایت هست
همونطور که مشاهده میکنید تنها بخشی از آدرس فایل قرار داده شده و بهمراه این url بخشی بصورت هش شده وجود داره که در بردارنده یک سری اطلاعات هست که زمانی که کاربر این url رو اجرا کنه سمت دیگه این اطلاعات یعنی مقدار هش شده گرفته میشه و دقیقا معکوس باهاش برخورد میشه تا از صحت درستی مقدار هش شده مطمئن بشید اگر کاملا درست بود اون وقت میتونید فایل رو برای دانلود به کاربر بدید
در php با استفاده از header ها میتونید به کاربر فقط همین url رو نشون بدید و فایل دانلود بشه و هیچ وقت نفهمه url اصلی برای دانلود چی هست
اینطوریم میتونید یه سیستم امن برای دانلود داشته باشید
البته این موضوع کمی پیچیده هست من این موضوع رو در دوره لاراول کامل توضیح دادم
خیلی ازتون ممنونم آقای موسوی ، اما متاسفانه همون طور که گفتید یکم پیچیده و برام مبهم بود
آقای موسوی امکانش هست یک آپدیت جدید در همین مورد رو به دوره های php خودتون اضافه کنید یا یک منبعی رو معرفی کنید که بشه به صورت عملی این مبحث رو یاد گرفت
با تشکر از شما
سلام
شما میتونید از مقاله زیر استفاده کنید
http://concordia.sk/programming/php/135-dynamic-download-link
@hesammousavi
@khanzadimahdi
امکانش هست در مورد قضیه بالا یکم راهنمایی کنید (با مثال)
کدم اینه من میخوام یک urlرو وقتی داخل دانلود منیجر میندازم دانلود کنه اما نمیشه
لینک اصلی من لینک آپاراته و یک لینک فرعی دارم و urlمن همان لینک فرعی هست
$path=$head_link;
header("Pragma: public");
header("Expires: 0");
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Content-Description: File Transfer');
header("Cache-Control: public");
header('Content-Type: application/mp4');
header('Content-Disposition: attachment; '.$path);//save as IDM
header('Content-Transfer-Encoding: binary');
header('Content-Length: ');
ob_clean();
flush();
readfile($path);
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟