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

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

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

Необходими

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

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

Кои бисквитки?
  • 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

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

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

Преглед

Актуализации, резервни копия и роли

Модул 6: Управление и сигурност · Време за четене: 11 минути

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

Основни понятия: голяма и малка актуализация, актуализация на базата данни, разширения и съвместимост, презаписване на шаблони (template overrides), остарели шаблони, резервно копие преди актуализацията, поръчки между резервното копие и възстановяването, таблици на HPOS, роли Мениджър на магазина (Shop manager) и Клиент (Customer), минимални права, показване на версии, xmlrpc.php

Защо магазинът се различава от обикновения сайт

В курса за WordPress (уроци 7.2, 8.1 и 8.2) е обяснено как се актуализира WordPress, как се правят резервни копия и как се възстановяват. За магазина всичко това важи, с една голяма разлика: базата данни се променя през целия ден. В нея постъпва всяка поръчка, всеки клиент, всяка промяна в наличностите и всяко плащане. При информационен сайт с резервно копие от вчера губите най-много една публикация. При магазин губите поръчки, които вече са платени.

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

  1. При магазин възстановяването е последната стъпка, а не първата.
  2. Актуализирайте по план, а не "набързо между другото в петък следобед".

Актуализации на WooCommerce

WooCommerce редовно пуска нови версии, а между тях и малки поправки. Номерът на версията има три части, например 11.2.2. Промяна в последното число означава малка поправка или актуализация за сигурност. Промяна в първото или второто число носи нови функции, а понякога и промени, към които разширенията или Вашата тема трябва да се приспособят.

При актуализация на WooCommerce се случват три неща, които при обикновено разширение се виждат по-рядко:

  • Актуализация на базата данни. Понякога WooCommerce трябва да промени таблиците. Тогава в администрацията виждате съобщение, че базата данни се актуализира. Това става във фонов режим чрез планираните действия (урок 7.3). Не го прекъсвайте и проверете в WooCommerce > Състояние дали е приключило.
  • Разширенията трябва да вървят в крак. Разширенията за плащане, връзките с куриери и със счетоводни програми посочват до коя версия на WooCommerce са тествани. В екрана с разширенията виждате предупреждение, ако дадено разширение не споменава по-новата версия. Прочетете промените в разширението си за плащане, преди да актуализирате: повредено разширение за плащане означава магазин, който не продава.
  • Презаписване на шаблони. Много теми имат собствени копия на шаблоните на WooCommerce (папката woocommerce/ в темата). Ако WooCommerce промени оригинала, копието става остаряло. В WooCommerce > Състояние (Състояние на системата) най-долу при темата е посочено кои шаблони тя презаписва и кои от тях са остарели. В остарелите шаблони може да липсват нови полета или да възникват грешки. Актуализирайте темата или помолете автора ѝ за актуализация.

Малките актуализации (последното число) е добре да прилагате бързо, най-добре автоматично, защото често поправят пропуски в сигурността. Големите актуализации първо тествайте в тестова среда (staging, урок 7.3), в спокоен момент и с резервно копие, направено непосредствено преди това.

WordPress: създаване и възстановяване на резервно копие 1:23

Резервни копия: какво изчезва при възстановяване

Пример. Чайна Example от Утрехт (Холандия) прави резервно копие всяка нощ в 03.00 ч. Във вторник в 10.00 ч. администраторът актуализира WooCommerce и след това продуктовата страница показва грешка. Между 03.00 и 10.00 ч. са постъпили шест поръчки, платени чрез доставчика на плащания. Ако сега възстановите резервното копие от 03.00 ч.:

  • тези шест поръчки изчезват от базата данни, макар парите да са при доставчика;
  • магазинът вече не знае, че наличностите са по-малко;
  • по-късно магазинът може да получи още известия (webhooks) от доставчика за поръчки, които не познава.

Затова:

  • Правете резервно копие непосредствено преди актуализация, а не само през нощта. Така пропускът е възможно най-малък.
  • При възстановяване запишете кои поръчки са постъпили след резервното копие (от имейлите "Нова поръчка" и от таблото на доставчика) и след това ги въведете отново ръчно или ги експортирайте предварително.
  • По възможност възстановявайте само файловете (старата папка на разширението или темата), ако проблемът е в кода, и оставете базата данни непроменена. Често една актуализация може да се отмени, като инсталирате предишната версия на разширението. Курсът за WordPress, урок 8.2, показва как се възстановява избирателно. Ако актуализацията вече е обновила базата данни, старата версия може да не работи с нея: затова първо тествайте в тестова среда.
  • Правете резервни копия по-често отколкото при обикновен сайт: магазин с поръчки през целия ден изисква резервно копие на базата данни поне веднъж дневно, по-добре по-често, и копие извън сървъра (правило 3-2-1, курс за WordPress, урок 8.1).

От WooCommerce 8.2 поръчките в новите магазини се съхраняват в собствени таблици (HPOS, урок 1.2), например wp_wc_orders. Разширение за резервни копия, което взема само "публикации" или избира таблиците по име, трябва да включва и тези таблици. При тестово възстановяване (курс за WordPress, урок 8.2) проверете дали поръчките наистина са там.

В WebOké услугата WebOké Backups прави резервно копие всяка нощ, което се съхранява 30 дни в друг център за данни (DA 16.1). Освен това преди актуализация можете сами да направите резервно копие в DirectAdmin или Installatron. При други хостинг доставчици това работи по подобен начин. Попитайте колко често и за колко време се пазят копията.

Роли: кой какво може

WooCommerce добавя две роли към WordPress (курс за WordPress, урок 3.3):

  • Клиент (Customer): клиент с акаунт. Може да вижда само собствените си поръчки и данни. Никога не давайте на тази роля административни права.
  • Мениджър на магазина (Shop manager): може да управлява продукти, поръчки, клиенти, купони и настройките на WooCommerce, но не може да инсталира разширения или да сменя темата.

За служители, които опаковат поръчки, отговарят на въпроси на клиенти или въвеждат продукти, ролята Мениджър на магазина е достатъчна. Администратор е само за човека, който отговаря за техническата част. Всеки служител трябва да има собствен акаунт с двуфакторно удостоверяване (курс за WordPress, урок 7.3), а не общ акаунт "магазин". Мениджърът на магазина вижда всички данни на клиентите, затова премахвайте акаунтите, когато някой напусне.

API ключовете (урок 2.4) също са вид права: давайте на една връзка само права за четене, ако тя няма нужда да записва, и изтривайте ключовете, които вече не се използват.

Какво показва Вашият магазин на всички

Нападателите търсят магазини със стара версия на WooCommerce или с разширение за плащане с известна уязвимост. По подразбиране WooCommerce поставя в изходния код реда <meta name="generator" content="WooCommerce 11.2.2">, а версията се вижда и след стиловете (?ver=). Скриването е малка печалба, а актуализирането е голяма. Магазин, който е редовно актуализиран, няма нужда да се тревожи особено за видим номер на версията. Магазин, който изостава, сам се издава.

Файлът xmlrpc.php е стара връзка, чрез която приложения влизат в WordPress. Той често се злоупотребява за отгатване на пароли. Ако не използвате приложение или услуга, която се нуждае от него, затворете го (в WebOké той е затворен по подразбиране, KB 169). Отворен xmlrpc.php отговаря на обикновена заявка от браузъра с "XML-RPC server accepts POST requests only." и статус 405. Затвореният дава 403 или 404.

Обобщение

  • Базата данни на магазина се променя през целия ден: възстановяването струва поръчки, които вече са платени.
  • Малките актуализации прилагайте бързо, големите първо в тестова среда; следете актуализацията на базата данни, разширенията и остарелите шаблони в WooCommerce > Състояние.
  • Правете резервно копие непосредствено преди актуализация и по-често, отколкото при обикновен сайт; проверете дали таблиците с поръчки се включват.
  • Служителите получават ролята Мениджър на магазина, а не Администратор; всеки със собствен акаунт и двуфакторно удостоверяване.
  • Скриването на версиите помага малко, актуализирането помага много; затворете xmlrpc.php, ако не го използвате.

Тест (quiz)

1. След актуализация в 10.00 ч. Вашият магазин показва грешка. Последното резервно копие е от 03.00 ч. Какъв е най-големият риск, ако възстановите цялото резервно копие?



2. Къде виждате дали Вашата тема използва остарели шаблони на WooCommerce?



3. Служител опакова поръчки и отговаря на въпроси на клиенти. Коя роля е подходяща?



4. Какво означава статус 405 с текста "XML-RPC server accepts POST requests only.", когато отворите /xmlrpc.php в браузъра?



Задача

Задача A6.2: Показва ли Вашият онлайн магазин версии? Въведете адреса на Вашия магазин, версията на WordPress (Табло > Актуализации) и версията на WooCommerce (Разширения). Програмата отваря началната страница и емисията (feed), както и файла /wp-content/plugins/woocommerce/readme.txt (само първите 2 kB, реда "Stable tag"). Тя търси номера на версии на WordPress и WooCommerce в редовете generator и след ?ver= при стиловете на WooCommerce и проверява в wordpress.org кои са най-новите версии. Зелено, ако Вашите версии са най-новите и видимото съответства на тях. Оранжево, ако остава само малка актуализация или ако версията е видима, но актуална. Червено, ако изоставате с голяма версия, ако видимата версия се различава от въведената от Вас (работи нещо друго, а не това, което мислите), или при невалидно въвеждане.

Задача A6.2: Показва ли Вашият онлайн магазин версии?




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

Задача A6.2b: Затворен ли е xmlrpc? Въведете адреса на Вашия магазин и отметнете, ако използвате приложение или услуга, която се нуждае от xmlrpc.php. Програмата изпраща заявка към /xmlrpc.php с обикновен GET, без да изпраща нищо. Зелено при 401, 403, 404, 410, пренасочване или обикновена HTML страница. Червено при 405 с текста "XML-RPC server accepts POST requests only." без отметка; оранжево, ако сте посочили, че Ви е необходим. Програмата проверява също дали списъкът с потребителски имена чрез /wp-json/wp/v2/users е публичен (оранжево, ако се виждат имена).

Зелената отметка означава, че тази проверка в момента е наред, а не че Вашият магазин е сигурен.

Задача A6.2b: Затворен ли е xmlrpc?



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

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

Стъпките в панела се отнасят за WebOké; при други доставчици работи по подобен начин.

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

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

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

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