سلام
من میخواستم یه کد بزنم که وقتی کاربر وارد اکانت خود شد لینک دانلود فایل ها رو بتونه ببینه
تا اینجا مشکلی نیست
ولی شما فکر کن این لینک رو کاربر همزمان بده به یکی از دوستاش که عضو سایت نیست
آن وقت آن شخص با این که عضو سایت نیست میتونه آن فایل دانلود کنه چطوری مانع این کار شم
توجه :
اگه امکان داره
نمیخوام که فایل زمان انقضا برای دانلود داشته باشه یعنی بعد چند هفته هم بتونه از همون لینک دانلود کنه
بجای اینکه لینک مستقیم بدی باید با php فایل رو بخونی و برای کاربر بفرستی
همین کاری که الان mybb توی همین فروم هم داره انجام میده
فایلها رو با یه اسم رندوم یجا اپلود میکنه که حدس زندنش تقریبا غیر ممکنه
بعد اسم فایلها رو ذخیره میکنه که شما میتونی اسم فایل + مجوز (مثلا نام کاربرانی که میتونند فایل رو دانلود کنند) رو ذخیره کنی
وبعد با استفاده از php میتونی برنامه بنویسی که اگه کاربر x وارد شده بود و فایل واسه خودش بود فایل رو بخونه و برای کاربر ببفرسته و . .
این قسمت مشکل ندارم مثلا این کد نوشتم
در نهایت یه لینک میده دیگه درسته در دانلود منیجر میشه اون لینک رو دید؟اون لینک آخری دیگه به هر که بدی لینک دانلود هست نه بررسی اعتبار کاربر
یکجا هم دیدم علاوه بر استفاده از همین header باید با .htaccess محدود کنیم تا همه نتونن دانلود کنن و مجبور شه بره تو صفحه دانلود که اونجا هم اعتبار کاربر چک میشود
(۱۴-آبان-۱۳۹۲, ۱۱:۳۰:۱۷)crafcrab نوشته است: [ -> ]این قسمت مشکل ندارم مثلا این کد نوشتم
در نهایت یه لینک میده دیگه درسته در دانلود منیجر میشه اون لینک رو دید؟اون لینک آخری دیگه به هر که بدی لینک دانلود هست نه بررسی اعتبار کاربر
شما توی کد php اول میبینید که کاربر مورد نظر همونیه که شما انتظار دارید یا خیر؛ و بعد فایل رو براش میفرستید
این یعنی دیگه نمیتونید با دانلود منیجیر فایل رو دانلود کنند! (البته دانلود منجیرهایی هستند که میتونن با کوکی و سیشن کار کنند)
یعنی وقتی با header فایلی برا کاربر بفرستین صفحه دانلود درون مرور گر از میشه و نه دانلود منیجر ؟(بجزاون دانلود منیجرهیی که گفتی)
خوب مثلا تو همون chrome لینک دانلودش رو نمیشه دید تا ان لینک داد به کسی که ورود نکرده فایل دانلود کنه؟ یعنی وقتی با header یه فایل واسه کاربر میفرستی و ورود چک میکنی با سشن اون لینک دست هر کس هم که بیفته بدون ورود شروع به دانلود نمیکنه ؟
نگاه کنید؛ دقیقا شبیه اینه کمه شما بخوایید از این سایتهای دانلود فایل فایل دانلود کنید!
من دقیقا متوجه نمیشم چی میگید
ببین عزیزم شما یا با سشن یا با کوکی اعتبار سنجی می کنسد دیگه
خوب بعد از اعتبار سنجی اون فایل مشخص را که شما جا واسمش را می دونی مثلا توی روت سایت گذاشتی و هیچکس نمی تونه ببینه و با htacces هم کنترل می کنی
میای با خود php می خونی و لینک دانلود را می ذاری کاربر که کلیک میکنه فایل خوانده شده را به کاربر میده
حالا اگه این لینک هم به کاربر دیگه بده نمیتونه استفاده کنه چون اعتبار نداره فقط اگه یوزر نیم و پسورد خودشو هم بده می تونه دان کنه
حالا فهمیدم header فایل میخونه و خط به خط میفرسته این جور که از حرف شما فهمیدم
حالا یه سوال اگه بخوام پرمیشن به فایل بدم تا کسی جز کاربر ها نتونه دانلود کنه باید کدام تیک ها رو بزنم ؟
با chmod چه پرمیشنی بدم ؟
(۱۵-آبان-۱۳۹۲, ۱۷:۱۹:۵۳)crafcrab نوشته است: [ -> ]حالا یه سوال اگه بخوام پرمیشن به فایل بدم تا کسی جز کاربر ها نتونه دانلود کنه باید کدام تیک ها رو بزنم ؟
با chmod چه پرمیشنی بدم ؟
مجوز ها برای هر فایل در سه دسته قرار میگیرند:
خود کاربر
گروهی که کاربر توشه
دیگران
شما وقتی هاست رو خریدید بهتون یک یوزر دادند؛ در نتیجه شما مجوز ها رو میتونید فقط واسه همون یوزر؛ گروه؛ و دیگران تنظیم کنید
اون یوزری که میاد و در سایتتون ثبت نام میکنه رو باید خودتون با برنامهنویسی (همون چیزایی که بالا گفته شد) بهش مجوزهای لازم رو بدید
امتحان کردم مجوز 600 بدی حتی اگه مسیر فایل بدونه نمیتونه دانلود کنه اما با کد header که زدم میشه اجازه دانلود داد
حله مشکل رفع شد