نمایش نتایج 1 تا 29 از 29

نام تاپیک: لینک مجازی

  1. #1

    لینک مجازی

    سلام... :oops:
    من می خوام امکان دانلود فایل در یک سایت ایجاد کنم...ولی میخوام دسترسی به این فایل ها رو کنترل کنم..یعنی هر کسی نتونه از اون لینک استفاده کنه و همچنین بتونم به فهمم که هر فرد مجاز چند دفعه یک فایل را دانلود کرده و در صورت نیاز بتونم لینک اون شخص را به اون فایل مشخص بی اعتبار کنم

    اگه کسی میتونه کمکم کنه لطفا دریغ نکنه!!! :flower: :flower: :flower:

  2. #2
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    ...ولی میخوام دسترسی به این فایل ها رو کنترل کنم..یعنی هر کسی نتونه از اون لینک استفاده کنه
    با توجه به این توضیحات به نظر می رسه شما باید کاربران تعریف شده(قابل تعریف) توی سیستمتون داشته باشید و اونا رو کنترل کنید نه لینکها رو.
    مثل قسمت رای گیری توی این سایت
    یعنی هر کاربر توی هر رای گیری فقط یه بار می تونه شرکت کنه.

    همچنین بتونم به فهمم که هر فرد مجاز چند دفعه یک فایل را دانلود کرده و در صورت نیاز بتونم لینک اون شخص را به اون فایل مشخص بی اعتبار کنم
    عطف به جواب قبلی.

  3. #3
    بله امکان کنترل کاربران و دارم ولی اگه یک لینک برای دانلود یک فایل در اختیار یک کاربر مجاز قرار بدم..چه جوری می تونم اون لینک و کنترل کنم که یک کاربر غیر مجاز از اون استفاده نکنه.....

    :sad2:

  4. #4
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    ای بابا
    چرا اینقدر عصبانی؟
    یه کم آرومتر

    شما صفحه اول این سایت رو ببین
    قبل از اینکه Login کنی به همه Linkها دسترسی نداری ولی به محض ورود می تونی اونا رو ببینی

    فکر می کنم راحت می تونی ایده بگیری.

  5. #5
    چه جوری می تونم اون لینک و کنترل کنم که یک کاربر غیر مجاز از اون استفاده نکنه.....
    خوب در برنامه میتونی تشخیص بدی که چه کاربری Login کرده و اگر کاربری که در سایت سعی داره لینک رو دانلود کنه Permission مربوط به این کار رو داره لینک دانلود برای او فعال میشه در غیر این صورت نه.
    یا اینکه میتونی موقعی که کاربر سعی کرد فایل رو دانلود کنه اعتبارسنجی رو انجام بدی و در صورت داشتن اعتبار لازم عمل دانلود انجام بشه.

    :موفق:

  6. #6
    در دات نت فقط بعضی از extension ها هستند Authenticate می شوند و مثلا اگر بخواهید فایلهای zip را هم به این لیست اضافه کنید. باید 2 تا کار انجام بدید:
    1) از طریق configure application در IIS اون extension فایلی رو که می خواهید ازش استفاده کنید رو (مثلا .zip) به لیست extension هایی که asp.net هندل می کنه اضافه کنید
    2) با اضافه کردن تگ <httpHandlers> . برای اطلاعات بیشتر به آدرس زیر مراجعه نمائید
    http://www.netomatix.com/development...eDownload.aspx
    :wink:
    مشکل روش های پیشنهادی دوستان دیگر اینه که اگر مثلا من توانایی login داشته باشم و آدرس فایل رو بدست بیارم می تونم اون آدرس رو به دوستم هم بدم و اون هم بدون authenticate شدن اون رو download کنه :)

    * اگر به IIS دسترسی ندارید می تونید extension تون رو مثلا به aspx تغیر بدید
    آخرین ویرایش به وسیله titbasoft : دوشنبه 23 آبان 1384 در 06:34 صبح
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  7. #7
    کاربر دائمی آواتار M.GhanaatPisheh
    تاریخ عضویت
    اردیبهشت 1383
    محل زندگی
    ----------
    پست
    1,267
    بالاخره باید یه سیستم کنترل سطح دسترسی کاربران داشته باشه
    حالا به هر روشی که میخواد پیاده سازی بشه.

  8. #8
    از همه ممنونم :flower: :flower: :flower:
    مخصوصا از titbasoft :موفق:
    اگه باز به مشکلی برخوردم مزاحمتون می شم..

  9. #9
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    نقل قول نوشته شده توسط titbasoft
    اگر مثلا من توانایی login داشته باشم و آدرس فایل رو بدست بیارم می تونم اون آدرس رو به دوستم هم بدم و اون هم بدون authenticate شدن اون رو download کنه :)
    این مشکل رو چهجوری حل کنیم؟!
    یه سایت وحشتناک جالب همین یاهو است
    وقتی شما attachment رو ازش میگیرید, اصلا نمیتونید بفهمید از کجا این فایل داره میاد
    حداقل من نفهمیدم!
    فکر کنم این راه حل باشه.
    چون اون موقع میشه چک کرد که این کاربر قبلا این فایل رو گرفته یا نه و نمیتونه به کسی link بده.
    کسی برای این راهی به ذهنش نمیرسه؟
    با تشکر.

  10. #10
    نقل قول نوشته شده توسط aidinwashere
    نقل قول نوشته شده توسط titbasoft
    اگر مثلا من توانایی login داشته باشم و آدرس فایل رو بدست بیارم می تونم اون آدرس رو به دوستم هم بدم و اون هم بدون authenticate شدن اون رو download کنه :)
    این مشکل رو چهجوری حل کنیم؟!
    یه سایت وحشتناک جالب همین یاهو است
    وقتی شما attachment رو ازش میگیرید, اصلا نمیتونید بفهمید از کجا این فایل داره میاد
    حداقل من نفهمیدم!
    فکر کنم این راه حل باشه.
    چون اون موقع میشه چک کرد که این کاربر قبلا این فایل رو گرفته یا نه و نمیتونه به کسی link بده.
    کسی برای این راهی به ذهنش نمیرسه؟
    با تشکر.
    خوب این خیلی ساده هست
    اونو استریم میکنه ...

  11. #11
    البته فکر کنم تو خارج از روت فایلش نگهداری بشه ...



    موفق باشید ..

  12. #12
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632

    نه.

    نه
    محاله
    1-مثلا من یک فایل zip رو وقتی از Yahoo میگیرم بازم همین داستان پیش میاد
    در حالی که stram کردن یک فایل zip کاری محال است (به علت ماهیت آن)
    2-فرض کنیم نظر شما درست باشد , آیا وقتی یک فایل stream میشود آدرس آن براس شما مشخص نیست؟ مسلما آدرس مشخص است ولی نمیتونید اونو بگیرید.

  13. #13
    :kaf: یعنی چی بابا ...
    استریم کرده دیگه
    ...

    من ههم قبلا این روش رو امتحان کردم ..

  14. #14
    یاهو از ام دیمون استفاده میکنه ...
    ام دیمون هم یک روت داره .
    کار اصلی این یاهو اینه که یا از تو یک سشن یا کویئری هش شده یا ... اسم و آدرس فایل رو تشخیص مییده ... و استریم میکنه ..

    این امکان هم وجود داره که یک کپی از تو تو یک روت بصورت موفق بگره بعد از مثلا چند دقیقه پاک (در صورت بی استفاده موندن) بشه ...

    یا خیلی کار های دیگه که من فکر کنم روش دوم رو انتخاب کرده باشه ..
    چون روش اول باعث افتادن بار رو CPU میشه ....


    امید وارم متوجه منظور من شده باشی

    موفق باشید

  15. #15
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    من که جوابمو نگرفتم
    شاید اساتید منو روشن کردند.
    مرسی از جواب.

  16. #16
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran - Tehran
    پست
    799
    جواب روشنه ، همون روشی که titbasoft عزیز بهش اشاره کردند روش بسیار مناسبیه ...
    نوشتن یک httpHandler برای فایل های مورد نظر و سپس تایین اعتبار بازدید کننده در آن ها.

  17. #17
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    اون موقع لینک محل فیزیکی فایل لو نمیره؟
    لطفا بیشتر راهنمایی فرمایید. :confy2:

  18. #18
    دوست خوبم
    این مهم نیست که محل فیزیکی لو بره یا نه. مهم اینه که اگر کسی مثلا فایل zip رو request بده اول IIS چک می کنه که اون کاربر خاص قبلا authenticate شده یا نه و اگر شده بود اون فایل رو در اختیار اون کاربر میزاره و در غیر این صورت یکی از پیام های خطای IIS که خودتون اون رو ست می کنید (مثل 404 برای the page can not be ...) رو تحویل کاربر می دهد . همونطور که می دونید وظیفه مدیریت منابع وب در ویندوز بر عهده IIS است. :wink:
    آخرین ویرایش به وسیله titbasoft : سه شنبه 23 خرداد 1385 در 18:01 عصر
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  19. #19
    کاربر دائمی آواتار Happy_davood
    تاریخ عضویت
    دی 1383
    محل زندگی
    تبریز
    سن
    44
    پست
    306
    سلام
    من از لینکی که بالا داده بودید استفاده کردم :

    this.Response.Charset= "";
    this.Response.ContentType = "application/txt";
    System.IO.FileStream OutFile = new System.IO.FileStream&#40;FileName&#41;;
    System.IO.BinaryReader br = new System.IO.BinaryReader&#40;OutFile&#41;;

    for&#40; i = 0 ; i &lt; OutFile.Length; i++&#41;
    Response.OutputStream.WriteByte&#40;br.ReadByte&#4 0;&#41;&#41;;
    OutFile.Close&#40;&#41;;


    ولی مشکل اینجاست که وقتی پنجرة save میاد همیشه فایل رو با پسوند aspx و با نام فرمی که از لینک زده شده ذخیره میکنه . مگر اینکه خودمون پسوند رو دستی تغییر بدیم . چیکار باید بکنم که اسم و پسوند فایل از سرور به روی Client درست منتقل بشه .
    تشکر

  20. #20
    با استفاده از کد زیر یک httpHeader به response تون اضافه می کنید که مشخص کننده نام فایل response دهنده است. اگر این header را مشخص نکرده باشید تبعا نام فایل ASPX شما به عنوان نام فایل response دهنده در نظر گرفته خواهد شد.

     Response.AppendHeader&#40;"Content-Disposition", "attachment;filename=" + "MyName.zip"&#41;
    :wink:
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  21. #21
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    پس چرا هر سایت معتبری که دیدم سعی در مخفی کردن آدرس فیزیکی فایل داشتند
    در ضمن گول زدن Handler کار آسانی نیست؟
    کاش یک مثال خوب در این ضمینه بود.

  22. #22

  23. #23
    اینجا هم شما آدرس فیزیکی رو به کاربرهاتون نمی دید. فقط اگر احتمالا یک کاربر به طور اتفاقی یا شانسی آدرس فیزیکی رو بدست آورد IIS اجازه بار گزاری اون رو بدون شناسائی کاربر نخواهد داد.
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  24. #24
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    مرسی دوستان
    ولی این قصه سر دراز دارد.
    اون راهی که مد نظر منه اینا نیست.
    مثلا برید سایتهای خفن رو ببینید
    اصلا نمیشه فهمید چه میکنند

  25. #25
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    Iran - Tehran
    پست
    799
    مثلا برید سایتهای خفن رو ببینید
    اصلا نمیشه فهمید چه میکنند
    میشه این جمله رو معنی کنی ؟ اگه واقعا دنبال یه راه حل برای چنین مشکلی میگردی راه حلش همونه که گفته شد ، اگه مشکلی تو پیاده سازیش داری بهتره مطرح کنی در غیر این صورت ادامه دادن این تاپیک غیر ضروریست.

  26. #26
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    آخه ببینید مثلا من یه فایل میگیرم با این URL:

    http://us.r1.mail.yahoo.com/yr/ShowL...date&amp;pos=0
    برای همینه که گیج میشم
    تازه google که بدتره.

  27. #27
    با کمی توجه به اون تکه کدی که یکی از دوستان در صفحه قبل اورده اند کاملا مشخصه که هیچ تناقضی با آنچه شما می خواهید وجود نداره . این response ای است که شما کد آن را نوشته اید و که فایل رو می سازه شما می تونید با یک queryString مثلا کد فایل رو به اون صفحه بفرستید و بعد آدرس فیزیکی اون توسط کد های سمت سرور شما از database تون خونده بشه و بعد خود فایل خونده بشه و در نهایت با نام فایل (باز هم با اشاره به پاسخی که در صفحه قبل در همین زمینه داده شد) برای کاربرتون فرستاده بشه. :wink:
    هر که بر مرکب باطل نشیند ، در سراى پیشمانى فرودش مى‏آورند

  28. #28
    کاربر دائمی آواتار aidinwashere
    تاریخ عضویت
    فروردین 1384
    محل زندگی
    پشته سرت
    پست
    632
    پس چرا قابل Resume کردن است
    اگر stream ای باشد من نباید بتوانم بقیه اش را مثلا یک روز دیگر بگیرم , در حالی که میشود.
    چگونه است؟

  29. #29
    محروم شده آواتار rahele_sa
    تاریخ عضویت
    اردیبهشت 1385
    محل زندگی
    تهران
    پست
    246
    از این همه پرسش و پاسخ گیج شدم .

    ممنون میشم یه کسی یک مثال عملی خوب برای ما آپلود کنه (به زبان وی بی)

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •