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

هش کردن لینک دانلود در php

سلام خدمت همه دوستان عزیز راکت

دوستان مطلب هش کردن لینک دانلود در php خیلی واسم جالبه ولی متاسفانه هرچقدر سرچ میکنم نه در سایت های ایرانی و نه در سایت های خارجی منبع خاصی وجود نداره که بشه یاد گرفت !!
ممنون میشم اگه یه راهنمایی در این مورد داشته باشید یا یک منبعی رو معرفی کنید

با تشکر


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

روشی که برای این موضوع اینکه شما میتونید فایل هاتون رو در دایرکتوری قرار بدید که بصورت مستقیم قابل دسترس نیستن و بعد با استفاده از توابع هش کننده یک سری اطلاعات رو در سمت کاربر هش کنید و به 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 اصلی برای دانلود چی هست
اینطوریم میتونید یه سیستم امن برای دانلود داشته باشید
البته این موضوع کمی پیچیده هست من این موضوع رو در دوره لاراول کامل توضیح دادم


کامران
@kamran.ah74 7 سال پیش مطرح شد
1

خیلی ازتون ممنونم آقای موسوی ، اما متاسفانه همون طور که گفتید یکم پیچیده و برام مبهم بود
آقای موسوی امکانش هست یک آپدیت جدید در همین مورد رو به دوره های php خودتون اضافه کنید یا یک منبعی رو معرفی کنید که بشه به صورت عملی این مبحث رو یاد گرفت

با تشکر از شما


none
@adjob 7 سال پیش مطرح شد
1

سلام
شما میتونید از مقاله زیر استفاده کنید
http://concordia.sk/programming/php/135-dynamic-download-link


ftp
تخصص : ساده
@ftp 4 سال پیش آپدیت شد
1

@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);

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

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