Модул 5 · 5.3
Избор и оценка на разширения
Модул 5: Теми и разширения · Време за четене: 9 минути
Учебна цел: След този урок ще можете да оценявате дадено разширение, преди да го инсталирате, и ще разпознавате тревожните сигнали.
Ключови понятия: разширение, hooks (actions и filters), последна актуализация, тествано до, изисквана версия на PHP, активни инсталации, оценки, форум за поддръжка, уязвимост, freemium, nulled разширение, застъпване
Какво е разширение и защо това има значение
Едно разширение е парче PHP код, което се зарежда заедно с WordPress при всяка заявка (урок 1.2). WordPress има навсякъде hooks: фиксирани моменти, в които разширенията могат да се включат. Има два вида:
- actions: „направи нещо сега“, например добавяне на скрипт към страницата, изпращане на имейл след поръчка;
- filters: „промени това“, например коригиране на заглавието на страница или редактиране на съдържанието на публикация.
Така разширението може да промени почти всичко във Вашия уебсайт. И то работи със същите права като самия WordPress: може да чете и записва базата Ви данни, да създава файлове, да изпраща поща. Инсталирането на разширение означава да дадете доверие на създателя му. Доброто разширение прави сайта Ви по-добър; лошото или изоставено разширение е най-честата входна точка за нападатели (урок 7.1).
Откъде да вземете разширения
- Хранилището на разширения на wordpress.org (достъпно и през Разширения > Добавяне на ново във Вашето администраторско табло). Всяко разширение се проверява при подаването и хранилището премахва разширения с неотстранен пробив в сигурността.
- Сайтът на познат създател, за платени разширения или надстройки.
- Никога от сайт за изтегляне, който предлага платени разширения „безплатно“. Такива nulled разширения често са променени с бекдор, спам линкове или код, който по-късно използва сайта Ви за нещо друго. Освен това не получавате актуализации, така че известни пробиви остават отворени. Парите, които спестявате, си ги плащате при първото възстановяване след хакване.
Петте характеристики на страницата на разширението
На всяка страница на разширение в wordpress.org вдясно стоят едни и същи данни. Прочетете ги в този ред:
| Характеристика | Какво показва | Тревожен сигнал |
|---|---|---|
| Последна актуализация | Дали все още се работи по него | Повече от година. Разширение, което отдавна не е актуализирано, може да не работи добре с нови версии на WordPress и PHP |
| Тествано до (версия на WordPress) | Дали създателят го е проверил с актуални версии | Много по-стара версия от текущата. wordpress.org тогава показва предупреждение |
| Версия на PHP (изисквана) | Минималната версия на PHP | Не е сигнал сама по себе си, но проверете дали работи с Вашата (по-нова) версия |
| Активни инсталации | Колко сайта го използват | Много малко инсталации означава малко хора, които забелязват грешки. Не винаги е лошо (малко, специфично разширение), но изисква допълнително внимание |
| Оценки и поддръжка | Какво мислят потребителите и дали създателят отговаря на въпроси | Много скорошни оценки с една звезда; при „Решени проблеми през последните два месеца“ ниско число от общия брой |
При оценките четете най-вече скорошните лоши: става ли дума за актуализация, която нещо е счупила, за агресивна реклама, за данни, които излизат навън? И проверете във форума за поддръжка дали създателят отговаря.
Разширение, което е премахнато от wordpress.org, при отваряне показва съобщение, че е затворено, често с причината (например „проблем със сигурността“). Ако имате такова разширение, заменете го.
Поглед отвъд страницата на разширението
- Уязвимости: съществуват публични бази данни с известни пробиви в разширения за WordPress, например тези на Patchstack, Wordfence и WPScan. Потърсете името на разширението: имало ли е пробиви и колко бързо са отстранени? Разширение с пробив, който е бил бързо поправен, не е лошо разширение. Създател, който с месеци не прави нищо, е друго нещо.
- Freemium: много разширения са безплатни с платена надстройка. Няма проблем, но внимавайте за съобщения, които спамят администрацията Ви, или функции, достъпни само с платената част.
- Външни услуги: изпраща ли разширението данни на Вашите посетители към услуга на създателя (филтър за спам, услуга за статистика, компресиране на изображения в облак)? Това трябва да е отразено във Вашата политика за поверителност и понякога в споразумение за обработка на данни (урок 9.3). Добрите разширения споменават това в описанието си.
- Какво зарежда: разширение за форма на Вашата контактна страница не трябва да зарежда скриптове на всички останали страници. С инструментите за разработчици на браузъра Ви (раздел Network/Мрежа) виждате какво се зарежда от разширение на дадена страница.
Една задача, едно разширение, и за предпочитане никакво
Най-важният въпрос идва преди страницата на разширението: наистина ли ми трябва разширение за това?
- Може ли WordPress самостоятелно? Проста карта на сайта (урок 9.2), lazy loading (урок 4.4), колони, бутони и таблици (урок 4.1) вече са вградени.
- Може ли темата? При блок тема можете да постигнете много с Редактора на сайта.
- Може ли с няколко реда код в собствено малко разширение или дъщерна тема (child theme)? Тогава не Ви е нужен пакет от хиляди редове за една функция.
- Имам ли вече разширение, което прави това? Застъпването (две разширения за кеш, две SEO разширения, две разширения за сигурност) води до конфликти и двойна работа.
Сайт с десет добре подбрани разширения е по-здрав от сайт с четиридесет. Не защото числото е важно, а защото всяко разширение трябва да се поддържа, може да се сблъска с останалите и може да има пробив.
Записване на Вашата оценка
За всяко разширение, което инсталирате, отбележете: за какво е, защо точно то, а не друго, кой го поддържа и кога за последно сте го преглеждали. Звучи тромаво, но е точно това, което Ви трябва при почистване (урок 5.4), при хакване (урок 7.5) и когато някой друг поеме сайта Ви.
Обобщение
- Разширението се включва към WordPress чрез hooks и работи със същите права; инсталирането означава даване на доверие.
- Вземайте разширения от wordpress.org или от познат създател, никога nulled.
- Прочетете последна актуализация, тествано до, версия на PHP, активни инсталации и оценки/поддръжка; потърсете известни пробиви.
- Първо проверете дали Ви трябва разширение; избягвайте застъпване.
- Запишете защо използвате дадено разширение.
Тест (quiz)
Задача
Задача A5.3: Прочетете страница на разширение. Изберете разширение от хранилището на wordpress.org, което използвате или обмисляте, и въведете неговия slug (последната част от адреса, например contact-form-7 от wordpress.org/plugins/contact-form-7/). Въведете и какво пише на страницата при последна актуализация (датата), тествано до и изисквана версия на PHP. Програмата извлича същите данни от публичния API за разширения на wordpress.org и прави сравнение.
Задача D5.3: Карта за оценка на три разширения. Изберете нужда (например контактна форма, съобщение за бисквитки или резервно копие) и сравнете три разширения. Попълнете за всяко разширение петте характеристики, проверете дали е имало известни пробиви и колко бързо са отстранени, вижте дали изпраща данни към външна услуга, и изберете едно. Обяснете с няколко изречения защо, и дали всъщност Ви трябва това разширение.
Задача D5.3: Карта за оценка на три разширения
Тази задача изпълнявате сами; никой не я проверява. Отбележете какво сте направили и маркирайте задачата като изпълнена.
Посочете източник за уязвимости (например базата данни на WPScan или Patchstack, с линк) и съображение, което надхвърля "най-много инсталации": поддръжка, подкрепа, какво изпраща разширението навън, припокриване с това, което вече имате.
Вашите отметки и бележки остават само в този браузър; не ги изпращаме никъде. Ако сте влезли, в Моите курсове запазваме само че сте изпълнили задачата.
Допълнително четене
Тези статии описват стъпките в панелите на WebOké; в други панели работят по подобен начин.
- Помощ! Сайтът ми е хакнат. Как да го поправя или предотвратя?
- Ръководство за DirectAdmin 18.2: Моят сайт е хакнат: план за действие
- Разширения в wordpress.org: https://wordpress.org/plugins/
- Управление на разширения (wordpress.org, на английски): https://wordpress.org/documentation/article/manage-plugins/
