آموزش های رایگان IT

چگونه محصولات دانلودی خود را در ووکامرس از دانلود غیرقانونی محافظت نماییم؟

در هنگام راه اندازی یک فروشگاه اینترنتی و فروش محصولات دانلودی، مهمترین نکته ای که باید در نظر داشت این است که چگونه می توان فایل های دانلودی را از دانلود غیرقانونی محافظت نمود. در واقع فقط فردی که محصول را خریداری نموده است باید بتواند آن را دانلود نماید.

برای دستیابی به این مقصود، آدرس ها (یا همان URL های) فایل های دانلودی باید به گونه ای باشند که توسط افراد قابل دستیابی نباشند.

در وهله ی اول،‌ تنظیمات ووکامرس این امکان را فراهم می آورد که یک محصول دانلودی را فقط پس از پایان تسویه حساب در اختیار خریدار قرار داد و همچنین این امکان را ایجاد می کند که خریدار فقط پس از ورود به حساب کاربری خود امکان مشاهده ی محصولات و دانلود آنها را داشته باشد. یعنی فردی به عنوان مهمان نمی تواند یک محصول دانلودی را خریداری نماید.

برای درک بهتر این موضوع به تصویر زیر که بخش تنظیمات ووکامرس را نشان می دهد توجه نمایید:

همانطور که در تصویر بالا مشاهده می کنید گزینه های «دانلودها نیازمند ورود هستند» و «دسترسی به محصولات دانلودی پس از پرداخت»، امکانات اشاره شده در بالا را فراهم می آورند.

به علاوه یکی از روش هایی که در تنظیمات ووکامرس برای دانلود کردن فایل ها وجود دارد روش X-Accel-Redirect/X-Sendfile است که در این روش، آدرس (‌URL) فایل دانلودی به صورت رمزگذاری شده نمایش داده می شود و این آدرسها صرفا زمانی کار می کنند که فرد به حساب کاربری خود وارد شده باشد (لاگین کرده باشد). بنابراین صرفاً توسط همان فرد قابل دانلود کردن می باشند.

لطفا به آدرس زیر توجه نمایید:

https://www.yourwebsite.com/?download_file=xxxx &order=wc_order_xxxxxxxxxxxxx&email=test.email%40gmail.com&key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

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

اما با توجه به اینکه فایل ها معمولا در مسیر wp-content/uploads قرار می گیرند، آدرس مستقیم این فایل ها هنوز هم می تواند برای فردی که آن را خریداری کرده و در حساب کاربری خود وارد شده است قابل دسترسی باشد. در اینصورت آن فرد می تواند لینک دانلود مستقیم را در اختیار دیگران قرار دهد.

برای جلوگیری از این موضوع، از طریق FTP  و یا cPanel  به سرور خود وارد شوید. مسیری که دایرکتوری های wp-content، wp-admin و فایل هایی مانند config.php و index.php  در آن قرار دارند در واقع webroot محسوب می شود که همان محتویات داخل فولدر www یا public_html  است.

شما به یک سطح قبل از webroot  بروید، یعنی جایی که فولدر www و سایر فولدرها در آن قابل مشاهده هستند (قبل از اینکه بخواهید وارد www شوید).

در اینجا یک فولدر مثلا downloads بسازید. به تصویر زیر توجه نمایید:

فایل های دانلودی خود را کپی کرده و در این فولدر paste نمایید. (کپی کردن از طریق cPanel  بسیار ساده تر انجام می شود.)

(و یا اگر هنوز محصولی آپلود نکرده اید در داخل این فولدر آپلود نمایید. )

سپس به محصول ایجاد شده در ووکامرس بروید (از طریق کنترل پنل وردپرس) و محصول را ویرایش نموده و در قسمت مسیر فایل، مسیر را به شکل زیر تغییر دهید:

….home/server_username/downloads/filename/

  1. server_username در واقع همان نام کاربری سرور شماست که برای ورود به سی پنل از آن استفاده می نمایید.
  2. downloads  همان فولدری است که ساخته اید.
  3. filename نیز اسم فایل محصول شماست.

پس از تغییر مسیر فایل ها، یک خرید تست انجام دهید تا مطمئن شوید که همه چیز به درستی کار می کند. سپس می توانید فایل هایی که قبلا در wp-content/uploads قرار داده بودید پاک نمایید.

از آنجاییکه شما فایل ها را خارج از webroot قرار دادید Apache/Nginx قادر به سرویس دادن به این URL ها نمی باشد بنابراین URL ها قابل دسترسی نخواهند بود اما در عین حال PHP می تواند این آدرس ها را باز نماید بنابراین محصول قابل دانلود کردن خواهد بود.

نکته: برخی از سرورها  write permission (مجوز نوشتن) به دایرکتوری قبل از webroot را نمی دهند. در اینصورت باید از hosting provider خود بخواهید که این دسترسی را برای شما ایجاد نماید تا بتوانید در این مسیر فایلی را آپلود نمایید.

امیدوارم که این آموزش را به کار ببندید و برایتان مفید باشد 🙂

author-avatar

درباره مریم کاشانکی

من زندگی کردن را ذره ذره یاد گرفتم. سی سالگی سرآغاز تحولی بزرگ در من بود؛ کشف مسیرهای جدید، کشف شاد بودن و لذت بردن از اتفاقات ریز و درشت، کشف عاشقی، کشف ساده گرفتن زندگی، کشف خندیدن از ته دل، کشف خود را دوست داشتن و خلاصه کشف هر چیزی که می توانست از من‌ آدم بهتری بسازد.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *