انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: تنظیم وب سرور جهت دانلود فایل و نه اجرای آن (حل شد)  (دفعات بازدید: 2403 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی
سلام دوستان
همینطور که میدونید مرورگر ها قابلیت این رو دارند که فایل های pdf ، Mp3 و ... رو اجرا کنند .
حالا سوال اینجاست که چطور میشه از طرف وب سرور کاری کرد که فایل ها در مرورگر اجرا نشن و کاربر فقط بتونه اون رو دانلود کنه (مثل همین انجمن در فایل های پیوست - البته با این تفاوت که لینک مستقیم باشه )
« آخرین ویرایش: 28 تیر 1394، 11:58 ق‌ظ توسط مَدَّکْ »

آفلاین khorsand14

  • Full Member
  • *
  • ارسال: 104
  • جنسیت : پسر
  • WE ARE UNITED, WE'LL NEVER DIE
دوست من این مورد به تنظیمات سرور مربوط نیست به تنظیمات CMS‌شما مربوط هست یا اسکریپتی که اجرا کردید

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی
دوست من این مورد به تنظیمات سرور مربوط نیست به تنظیمات CMS‌شما مربوط هست یا اسکریپتی که اجرا کردید
تنظیمات cms چیزی جز تغییر یک سری فایل روی سرور نیست . مثلا وقتی ساختار لینک های وردپرس رو تغییر میدی نمیتونی بگی این مربوط به تنظیمات سرورنیست ! برعکس این از تغییر فایل .htaccess وب سرور ناشی میشه

آفلاین { AliReaza }

  • Hero Member
  • *
  • ارسال: 866
  • جنسیت : پسر
  • اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی، دیگر در مورد آزادی شعار نده...
سلام دوستان
همینطور که میدونید مرورگر ها قابلیت این رو دارند که فایل های pdf ، Mp3 و ... رو اجرا کنند .
حالا سوال اینجاست که چطور میشه از طرف وب سرور کاری کرد که فایل ها در مرورگر اجرا نشن و کاربر فقط بتونه اون رو دانلود کنه (مثل همین انجمن در فایل های پیوست - البته با این تفاوت که لینک مستقیم باشه )
دوست عزیز آیا در این رابطه به اندازه کافی جستجو کردید؟

برای مستقیم بودن آدرس شما می توانید از .htaccess استفاده کنید. ( که البته توصیحه نمیشه )

اما یکی از روش های مورد علاقه من که در خیلی جاها برای جلوگیری از دسترسی کاربران به File های دیگر و حتی مخفی کردن آدرس File استفاده میشود، استفاده از حالت Force a File Download هست.

برای مثال در PHP:
https://secure.php.net/manual/en/function.readfile.php
https://stackoverflow.com/questions/1465573/forcing-to-download-a-file-using-php
http://webdesign.about.com/od/php/ht/force_download.htm

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی
بله اما درست نه ! چون ایده خاصی نداشتم   :D

الان جوابم رو گرفتم .

از اونجا که تعداد فایل ها زیاده و بیشتر هم میشه با .htaccess داخل دایرکتوری مورد نظرم لینک های مستقیم  رو به یک فایل فرستادم که اون فایل url رو بامتد get میگیره و به readfile میفرسته .  \\:D/
فقط چرا این روش توصیه نمیشه؟
ممنون از شما
« آخرین ویرایش: 26 تیر 1394، 05:23 ب‌ظ توسط مَدَّکْ »

آفلاین { AliReaza }

  • Hero Member
  • *
  • ارسال: 866
  • جنسیت : پسر
  • اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی، دیگر در مورد آزادی شعار نده...
فقط چرا این روش توصیه نمیشه؟
برای من خیلی پیش اومده که در بعضی Server ها به شکلی Config انجام دادن که باید بعضی از دستورات یا Module ها را تغییر داد.

و اگر از دستور یا Moduleیی استفاده شود که مورد تایید Server نباشد با خطای Server Error 500 مواجعه می شوید، و باید وقت بذارید تا مشکل را برطرف کنید.

اما در PHP تا حالا این مشکل را نداشتم. و تا الان در برنامه هایی که نوشتم فقط نیاز بوده که ارتباط بانک اطلاعاتم را به PDO تبدیل کنم و تمام.  \\:D/

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی
ممنون علیرضا عزیز بابت وقتی که گذاشتی
البته من از این بابت خیالم راحته چون سرور خودمه  ;D
بازم ممنون

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی

آفلاین { AliReaza }

  • Hero Member
  • *
  • ارسال: 866
  • جنسیت : پسر
  • اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی، دیگر در مورد آزادی شعار نده...
راه ساده تری که پیدا کردم :
https://www.timewasters-place.com/how-to-force-file-downloading-with-htaccess/
To use this, your webserver has to have mod_headers activated (It is most likely already included in Apache, but not activated): Apache Module mod_headers
همانطور که اشاره شده باید mod_headers در Apache فعال بشه، که معمولا فعال نیست. ( تجربه شخصی  ](*,) )

البته چون Server برای خودتون هست، شما مشکلی ندارید.
اما کسانی که امکان Config کردن ندارند.....  :'(

آفلاین Ako0ri

  • Full Member
  • *
  • ارسال: 158
  • جنسیت : پسر
اگر فایلهاتون حجیمه از php برای دانلود فایل استفاده نکنید
تنظیمات مورد نظر هم مربوط به سرور نیست بلکه مربوط به وب سرور هست که برای بازدهی و سرعت بهتر پیشنهاد میکنم از وب سرور nginx استفاده کنید

آفلاین { AliReaza }

  • Hero Member
  • *
  • ارسال: 866
  • جنسیت : پسر
  • اگه کفشت پاتو می زد و از ترس قضاوت مردم پابرهنه نشدی و درد رو به پات تحمیل کردی، دیگر در مورد آزادی شعار نده...
اگر فایلهاتون حجیمه از php برای دانلود فایل استفاده نکنید
من که تاحالا مشکلی نداشتم و حتی تا 2GB هم به من جواب داده، حتی با resume.

می تونید بگین به چه علت می فرمایید " استفاده نکنید " ؟؟؟

تنظیمات مورد نظر هم مربوط به سرور نیست بلکه مربوط به وب سرور هست...
درسته برای WebServer هست. اما آیا می توان بدونه دسترسی کافی به Server تنظیمات WebServer را تغییر داد؟

آفلاین alih_net

  • High Sr. Member
  • *
  • ارسال: 596
  • جنسیت : پسر
    • سیدعلی حسینی
راه ساده تری که پیدا کردم :
https://www.timewasters-place.com/how-to-force-file-downloading-with-htaccess/
To use this, your webserver has to have mod_headers activated (It is most likely already included in Apache, but not activated): Apache Module mod_headers
همانطور که اشاره شده باید mod_headers در Apache فعال بشه، که معمولا فعال نیست. ( تجربه شخصی  ](*,) )

البته چون Server برای خودتون هست، شما مشکلی ندارید.
اما کسانی که امکان Config کردن ندارند.....  :'(

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

تنظیمات مورد نظر هم مربوط به سرور نیست بلکه مربوط به وب سرور هست که برای بازدهی و سرعت بهتر پیشنهاد میکنم از وب سرور nginx استفاده کنید

ممنون از نظرت . منم تصمیم گرفتم از انجین اکس به صورت reverse proxy استفاده کنم . فقط  آیا به صورت پیشفرض force download در nginx فعاله یا نه ؟

نقل‌قول
می تونید بگین به چه علت می فرمایید " استفاده نکنید " ؟؟؟
فکر میکنم در طول دانلود با این متد علاوه بر وب سرور ، php هم درگیره و هر چی فایل حجیم تر باشه زمان این درگیری بیشتر میشه درنتیجه لود سرور بالا میره 
« آخرین ویرایش: 28 تیر 1394، 01:34 ب‌ظ توسط مَدَّکْ »