ورود

View Full Version : چگونه حق دسترسی برای دانلود فایل از روی سرور ایجاد کنم؟



Mohammad_1984
سه شنبه 18 آبان 1389, 00:12 صبح
سلام

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

مرسی

kashaneh
سه شنبه 18 آبان 1389, 15:23 عصر
دوست عزیز برای این مورد شما باید از Session ها استفاده کنید. بدینصورت که هنگام ورود کاربران خود (کاربران لاگین کرده) یک Session که نشان دهنده ورود آنهاست با مقداری معین ایجاد میکنی.
حال قبل از اینکه کاربری بخواهد شروع به دریافت فایلها کند، باید چک کنید آیا آن Session برای وی مقدار مجاز را دارد یا اینکه یک کاربر معمولی است و به این ترتیب مجوز دریافت را برای وی صادر کنی...
* در مورد Session ها هم در این تالار مفصل بحث شده است... کمی جستجو کنید!
موفق باشی

Mohammad_1984
سه شنبه 18 آبان 1389, 15:39 عصر
دوست عزیز برای این مورد شما باید از Session ها استفاده کنید. بدینصورت که هنگام ورود کاربران خود (کاربران لاگین کرده) یک Session که نشان دهنده ورود آنهاست با مقداری معین ایجاد میکنی.
حال قبل از اینکه کاربری بخواهد شروع به دریافت فایلها کند، باید چک کنید آیا آن Session برای وی مقدار مجاز را دارد یا اینکه یک کاربر معمولی است و به این ترتیب مجوز دریافت را برای وی صادر کنی...
* در مورد Session ها هم در این تالار مفصل بحث شده است... کمی جستجو کنید!
موفق باشی

مرسی من هم برای اینکه متوجه بشم کاربر لاگین شده یا نه از session استفاده کردم ولی اگر کاربری که لاگین نکرده url فایل مورد نظر را در آدرس بار بروزر وارد کنه و بعد enter رو بزنه فایل دانلود میشود. من میخوام کاربر تا وقتی لاگین نکرده امکان دانلود نداشته باشه. راهی منطقی که به ذهنم میرسه اینه که من فایلهای مورد نظر را در ftp بزارم و برای ftp هم یوزر نیم و پسورد set کنم. حالا اگر کاربر آدرس فایل رو که همراه با ftp هست در آدرس بار وارد کنه بروزر یه صفحه لاگین باز میکنه که کاربر username و pass رو وارد کنه که اگر درست باشه شروع میشود به دانلود کردن. منتهی من نمیدانم چطوری این یوزرنیم و پسورد ftp رو کاربر وارد نکند من خودم در سورس برنامه ست کنم.

اگر کسی میدونه پاسخ بده من خیلی به این امکان احتیاج دارم

مرسی

Mohammad_1984
سه شنبه 18 آبان 1389, 19:48 عصر
یک راه پیدا کردم نمی دونم از لحاظ امنیتی درست باشه یا نه
من یک یوزر ftp با پسورد روی سرور ایجاد کردم
بعد توی روت ftp یک فایل zip گذاشتم
بعد تو صفحه وب, لینک دانلود فایل رو به یک فایل با پسوند asp دادم
درون فایل asp این کد رو نوشتم. جواب داد



if (Session("Login") == true) {
Response.Redirect("ftp://UserId:Password@ServerName/Temp.zip")
}

kashaneh
چهارشنبه 19 آبان 1389, 10:04 صبح
دوست عزیز فکر نمیکنم از نظر امنیتی این کار صحیح باشه... ضمن اینکه سوال من اینجاست که کاربران غیر لاگین کرده از کجا میخواهند Url فایلها رو بدست بیارن!؟ اگر جوابتون اینه از کاربران لاگین کرده پیشنهادم اینه مثل آقای مدیری در ابتدای مجموعه قهوه تلخ، دست به خواهش و تمنا بزنید! :چشمک:
موفق باشی

m_omrani
دوشنبه 24 آبان 1389, 12:17 عصر
یه روش اینه که فایل ها رو در فولدری خارج از فولدر سایت ذخیره کنید. مثلاً فرض کنید فولدر ریشه سایت شما C:\InetPub\WWWRoot باشه. شما می تونید فایل هاتون رو در C:\InetPub\Files ذخیره کنید. بدین ترتیب چون فایل اساساً در سایت قرار نداره، هیچ فردی نمی تونه لینک فایل رو در Address Bar مرورگرش وارد کنه.

بعد از این کار برای این که به کاربر امکان دانلود بدید، فایل رو با شیء ADODB.Stream لود می کنید و با Response.BinaryWrite به درخواست کننده می دید.