Към съдържанието

Настройки за бисквитки

Изберете кои видове бисквитки разрешавате. Можете да промените избора си по всяко време чрез „Настройки за бисквитки“ в долната част на всяка страница. Декларация за поверителност

Необходими

Винаги включени

Нужни са за вход, за запазване на количката и на Вашите избори. Те са винаги включени.

Кои бисквитки?
  • weboke_sessie, weboke_klant, weboke_remember: Вашата сесия и оставането в акаунта
  • weboke_basket: Вашата количка
  • wkBtwIncl: показване на цените с или без ДДС
  • wok_cookies: Вашият избор за бисквитките, 12 месеца

Измерват коя реклама води до посещение или поръчка, за да не плащаме за реклами без резултат.

Кои бисквитки?
  • Google Ads чрез Google Tag Manager (_gcl_au, _gcl_aw), до 90 дни
  • OpenAI Ads, реклами в ChatGPT
  • wok_aff: кой партньор Ви е препратил към нас (партньорска програма), 60 дни

4,6

Държава и език

Всяка държава има собствен сайт, с цените и ДДС на тази държава.

Преглед

Цифрови и виртуални продукти

Модул 3: Продукти · Време за четене: 11 минути

Учебна цел: След този урок ще можете да продавате цифрови и виртуални продукти безопасно: ще изберете безопасен метод за изтегляне, ще защитите папката с файловете, ще зададете лимити и ще уредите правилно правото на отказ при цифрово съдържание.

Основни понятия: виртуален продукт, продукт за изтегляне, връзка за изтегляне, лимит за изтегляне, дата на изтичане, метод за изтегляне (Принудително изтегляне, X-Accel-Redirect/X-Sendfile, Само пренасочване), woocommerce_uploads, .htaccess, nginx, одобрени папки за изтегляне (Approved download directories), достъп след плащане, цифрово съдържание, изрично съгласие, отказ от правото на отказ

Виртуален и за изтегляне: две различни отметки

При обикновен продукт или вариация ще видите две отметки. Те си приличат, но правят различни неща:

  • Виртуален (Virtual) означава: нищо не се изпраща. WooCommerce не начислява разходи за доставка и не изисква адрес за доставка при плащането (ако всичко в количката е виртуално). Например дегустация на чай на място, ваучер за подарък, който изпращате по имейл, или онлайн уъркшоп.
  • За изтегляне (Downloadable) означава: след плащането клиентът получава един или повече файлове. WooCommerce създава връзка за изтегляне за всеки клиент и я показва в имейла за потвърждение и в Моят профил > Изтегляния.

Цифрова книга с рецепти в pdf обикновено е и двете: нищо не се изпраща по пощата и има файл. Отпечатана книга с рецепти с безплатен pdf към нея е за изтегляне, но не е виртуална: книгата все пак се изпраща по пощата.

Чайна Example от Утрехт (Холандия) продава „Книга с рецепти Чай и торта“ като pdf за € 9,95. Отметки: виртуален и за изтегляне.

Как работи изтеглянето и защо методът има значение

Когато качите файл към продукт за изтегляне, WooCommerce го поставя в папката wp-content/uploads/woocommerce_uploads/. По подразбиране добавя случаен низ от знаци към името на файла (настройка „Append a unique string to filename for security“, включена по подразбиране). Клиентът никога не получава този адрес, а връзка към Вашия магазин с ключ на поръчката и код за изтегляне. При всяко щракване WooCommerce проверява: принадлежи ли това изтегляне към платена поръчка, не е ли изчерпан лимитът, не е ли изтекла връзката? Едва тогава клиентът получава файла.

Как файлът стига до клиента след това, избирате в WooCommerce > Настройки > Продукти > Продукти за изтегляне, при метода за изтегляне (File download method):

МетодКак работиСигурност
Принудително изтегляне (Force downloads, по подразбиране)PHP чете файла и сам го изпращаИстинският адрес остава скрит. Големи файлове на някои сървъри може да засичат или да достигнат времевото ограничение на PHP
X-Accel-Redirect/X-SendfilePHP проверява, уеб сървърът изпраща файлаСъщо толкова безопасен и по-добър за големи файлове; уеб сървърът трябва да го поддържа (при Apache е необходим модулът mod_xsendfile, nginx поддържа X-Accel-Redirect). Попитайте Вашия хостинг доставчик
Само пренасочване (Redirect only)WooCommerce пренасочва клиента към истинския адрес на файлаНебезопасен: който има адреса, може да го сподели и файлът може да бъде изтеглен без покупка. Самият WooCommerce го нарича „Insecure“

Затова изберете Принудително изтегляне или X-Sendfile. Пренасочването е само крайно решение, а настройката „Allow using redirect mode (insecure) as a last resort“ кара WooCommerce да премине към пренасочване, ако другият метод не сработи; оставете я изключена, освен ако знаете защо Ви е нужна.

Защита на папката

При Принудително изтегляне или X-Sendfile папката woocommerce_uploads трябва да е затворена за обикновените посетители. В противен случай някой, който познае името на файла или го вземе от изтекла връзка, може да изтегли файла директно. Затова при инсталирането WooCommerce поставя два файла в тази папка:

  • празен index.html, за да не показва папката списък с файлове;
  • .htaccess с deny from all (при метода Само пренасочване: Options -Indexes).

Файлът .htaccess работи на Apache и LiteSpeed (както при WebOké и много други споделени хостинги). На nginx уеб сървърът не чете .htaccess. Там в конфигурацията на сървъра трябва да има правило, което блокира папката. При управляван nginx хостинг понякога хостинг доставчикът се грижи за това; на собствен VPS трябва да го направите сами. WooCommerce проверява това и показва известие в администрацията (и в Състояние на сайта), ако папката изглежда незащитена.

Няколко неща, за които да внимавате:

  • Празен отговор 200 не е доказателство. Ако отворите папката и видите празна страница, това може да е празният index.html, докато самите файлове са достъпни. Затова тествайте и един файл (задачата прави точно това).
  • Външни файлове. Към продукт можете да посочите и връзка към файл другаде. За това WooCommerce има списъка одобрени папки за изтегляне (Approved download directories): само файлове от тези папки или от тези адреси могат да се използват за изтегляне. Така никой с администраторски права върху продукт не може случайно или нарочно да предложи произволен файл от сървъра за изтегляне. Поддържайте този списък кратък.
  • Резервни копия и staging. Папката влиза в резервното Ви копие. Следователно в staging средата също се намират Вашите платени файлове: защитете staging средата (урок 7.3).

Лимити и достъп

За всеки продукт за изтегляне или всяка вариация задавате:

  • Лимит за изтегляне (Download limit): колко пъти клиентът може да изтегля. Празно поле означава без ограничение. Лимит от например 5 ограничава споделянето, но води до оплаквания, когато някой си купи нов лаптоп. Изберете нещо разумно и помагайте на клиентите, които Ви потърсят.
  • Дата на изтичане (Download expiry): след колко дни връзката спира да работи.

Общи настройки в Продукти за изтегляне:

  • Изтеглянията изискват вход (Downloads require login), изключено по подразбиране. Включено означава, че гостите не могат да изтеглят нищо; включете го само ако изисквате и профили.
  • Достъп след плащане (Grant access to downloadable products after payment), включено по подразбиране: клиентът може да изтегля, щом поръчката получи статус В процес на изпълнение, тоест веднага след успешно плащане. Ако е изключено, едва след Приключена.

Отказ от договора при цифрово съдържание

При обикновен чайник клиентът има 14 дни за размисъл (урок 5.2). При изтегляне това е трудно: който има pdf файла, го има и след отказа. Затова има изключение, но само при определени условия. В ЕС то е в член 16 от Директива 2011/83/ЕС; в Нидерландия в член 6:230p, буква g от Гражданския кодекс (BW). Няма право на отказ при цифрово съдържание, което не се доставя на материален носител, ако:

  1. доставката е започнала с изрично предварително съгласие на потребителя;
  2. потребителят е заявил, че с това се отказва от правото си на отказ; и
  3. Вие сте дали потвърждение за това (в потвърждението на договора, на траен носител, например имейла за поръчката).

Ако липсва едно от трите, клиентът запазва правото си на отказ, дори ако вече е изтеглил файла. В Белгия и Германия същото правило на ЕС се прилага чрез собственото им законодателство (вижте урок 5.2). В България то се прилага чрез Закона за защита на потребителите (ЗЗП).

WooCommerce не урежда това автоматично. Нуждаете се от:

  • задължителна отметка при плащането, само когато в количката има цифрово съдържание, с текст като „Съгласен съм доставката да започне веднага и знам, че с това губя правото си на отказ“;
  • същия текст като потвърждение в имейла за поръчката за тези продукти;
  • правилното изречение в информацията Ви за правото на отказ, че това важи за изтеглянията.

Има разширения, които добавят такава отметка; блокът за плащане също има възможности за допълнителни полета. Преценявайте ги както всеки плъгин. Отметка, която е предварително поставена, не се счита за изрично съгласие (урок 5.4).

Обърнете внимание на разликата с виртуалните услуги, например уъркшоп на определена дата. За тях важат правилата за услуги, с други изключения. Прочетете урок 5.2.

Обобщение

  • Виртуален = нищо не се изпраща; за изтегляне = файлове след плащане. Един pdf обикновено е и двете.
  • Изберете Принудително изтегляне или X-Accel-Redirect/X-Sendfile; Само пренасочване е небезопасно.
  • Папката woocommerce_uploads трябва да е затворена: .htaccess на Apache и LiteSpeed, правило в сървъра на nginx. Тествайте истински файл, а не само папката.
  • Поддържайте списъка с одобрени папки за изтегляне кратък и задайте разумни лимити.
  • Няма право на отказ при изтегляния само при изрично съгласие, отказ от правото и потвърждение; WooCommerce не прави това автоматично. В България правилото е в Закона за защита на потребителите (ЗЗП).

Тест (quiz)

1. Чайна Example продава отпечатана книга с рецепти с безплатен pdf към нея. Кои отметки включвате?



2. Защо методът за изтегляне „Само пренасочване“ е небезопасен?



3. Вашият магазин работи на nginx. Достатъчен ли е тогава файлът .htaccess на WooCommerce в woocommerce_uploads?



4. Клиент купува pdf, изтегля го веднага и се отказва от договора два дни по-късно. При плащането нямаше отметка за загубата на правото на отказ. Какво важи?



5. За какво служи списъкът „одобрени папки за изтегляне“?



Задача

Задача A3.3: Защитени ли са Вашите файлове за изтегляне? Тази задача проверява пътища, към които няма връзки, и затова работи само за Вашия собствен магазин. Първо доказвате, че домейнът е Ваш: създавате TXT запис _weboke-cursus.<jouw domein> с кода, който получавате, или поставяте файл /.well-known/weboke-cursus-<code>.txt с този код в него. След това въведете адреса на магазина си и, ако желаете, пътя до един файл за изтегляне така, както WooCommerce го показва при продукта (започва с /wp-content/uploads/woocommerce_uploads/). Програмата отваря папката (без пренасочване, само началото) и, ако сте въвели път, веднъж заглавните редове на този файл. Зелено, ако папката връща 401, 403 или 404, или страница без списък с файлове, и файлът връща 401, 403 или 404. Оранжево, ако не сте въвели файл: тогава е проверена само папката, а празната страница не казва достатъчно. Червено, ако папката показва списък с файлове или ако файлът може просто да се изтегли (200): тогава всеки с адреса може да го вземе без покупка. Програмата запазва само кодовете за състояние, никога файла.

Въпрос за Вас (не се проверява): кой метод за изтегляне е зададен във Вашия магазин и как сте уредили отказа от договора при Вашите цифрови продукти?

Задача A3.3: Защитени ли са Вашите файлове за изтегляне?

Тази проверка извиква пътища, които позволявате да бъдат проверявани само за Вашия собствен онлайн магазин. Първо кликнете върху „Покажи моя код“ и поставете този код като TXT запис на _weboke-cursus.<Вашият домейн> или като файл на Вашия сайт (вижте обяснението при кода).



Това, което въвеждате, и резултатите от проверката не се съхраняват. Браузърът Ви запомня отговорите и дали сте изпълнили задачата. Ако сте влезли, запазваме само дали задачата е била (почти) правилна в Моите курсове; и там можете да го изтриете.

Прочетете още

Базата знания описва ситуацията при WebOké (LiteSpeed, .htaccess работи); при други доставчици работи подобно, освен на nginx.

Моля, изчакайте…

Настройте домейните си

За всеки домейн настройте сървърите за имена, връзката с хостинга и кой ще бъде собственикът.

Домейните Ви се зареждат…