Как да се предпазим Джумла сайт от хакерски атаки

Как да се предпазим Джумла сайт от хакерски атаки

Много често се налага да разказвам на клиентите за хакове в Joomla. В някои случаи хаковете могат да създадат голяма неприятност. 

В тази статия ще се опитам да разкрия подробно темата за хакове и да ви разкажа за правилния подход към разработването на сайтове в Joomla, който ще ви позволи да ги предотвратите.

Тази статия ще бъде полезна за всички - както за разработчиците на сайтове в Joomla, така и за собствениците на сайтове.

Какво е хак?

"Hack» Joomla ( Joomla Core хак - англ.) - изменения на Joomla файловете, които могат да бъдат заменени по време на надстройката.

Имате сайт на Joomla. Да предположим, че искате да направите някои промени в кода. Вие правите тези промени. Времето минава. Излиза актуализация на Joomla (може би малка, само корекции на грешки). Инсталирате актуализация. Файлът, в който сте направили промяна, се заменя. Вашата промяна е загубена. Това е целият смисъл.

Откъде идват хаковете?

По подразбиране в Joomla няма хакове и не може да бъде. Това следва от определението за хак. Хакове може да допринесе само човек. Може да сте вие ​​или недобросъвестният програмист, който е работил на вашия сайт.

Хакове могат да бъдат намерени не само в Joomla , но и в разширенията на Joomla, например Virtuemart . Значението е същото като при хаковете на Joomla, само че става въпрос за актуализиране на разширенията.

Лоша CMS ли е Joomla ?

Не. Хаковете са присъщи на всяка CMS с отворен (и частично затворен) изходен код (да, WordPress, и Drupal, и Bitrix). Ако можете да промените поне един стандартен CMS файл, тогава можете да направите хак.

Хаковете не могат да бъдат само в CMS с напълно затворен код. Не знам такива. По-скоро това вече е самонаписан продукт, в който не се очаква да се правят промени от никой друг освен разработчиците на такъв продукт.

Как да избегнем хакове?

По очевидни причини е препоръчително да не допускате създаването на хакове на вашия сайт. Как може да се постигне това? Има няколко начина. Тук CMS вече е важен. Всеки от тях има свои собствени механизми. Ще говорим, разбира се, за Joomla.

Да предположим, че имате сайт на Joomla и трябва да направите някои промени в кода му. Има два начина за предотвратяване на хакове в Joomla:

  • Замяна на съществуващите оформления на Joomla или създаване на алтернативни оформления
  • Създаване на приставки за Joomla

Нека разгледаме всеки метод по-подробно.

Как да избегнем хакове? Заменящи оформления и алтернативни оформления.

По тази тема е казано много, но ще го повторим отново.

Ако трябва да направите промяна в дисплейния файл на определена страница на сайта, на първо място трябва да намерите оформлението му и да го предефинирате в шаблона на Joomla , който използвате Това се отнася не само за Joomla, но и за нейните разширения: модули и компоненти.

Как да разберете дали има оформление за определена страница? Просто е. Ако има страница, тогава има оформление. Joomla използва шаблона MVC. Разработчиците на разширения на Joomla го следват. Това означава, че всеки компонент и модул на Joomla съдържа папка с изгледи, която съдържа всичките си оформления. Трябва да изберете подходящо оформление, да го копирате в използвания шаблон на Joomla и да направите промени в него.

Какъв е смисълът от това? Когато Joomla се нуждае от определено оформление за показване, първо го търси в шаблона и едва след това взема стандарта от разширението. Това се прави нарочно, за да се избегнат хакове. Когато копирате оформлението в шаблона на Joomla, този копиран файл вече няма да бъде основен файл. Можете да го промените както искате. Когато Joomla бъде актуализиран, той няма да бъде заменен, което означава, че няма да има хак.

По-долу пиша общите правила за предефиниране на оформления в шаблона на Joomla. Това е много важна и полезна информация. Копирайте го на себе си. Запишете го на себе си. Отбележете статията с отметки. И ако работите често с Joomla, просто го научете наизуст.

Замяна на оформлението на компонента в шаблон Joomla:

Копирайте файла:

компоненти / [име на компонент] / изгледи / [тип_на оформление] / tmpl / [име на оформление]. php

в:

шаблони / [име на шаблон] / html / [име на компонент] / [тип_на оформление] /

и редактирайте вече там.

Замяна на оформлението на модула в шаблон Joomla:

Копирайте файла:

модули / [ име_на модул ] / tmpl / [име_на оформление]. php

в:

шаблони / [име на шаблон] / html / [име на модул] /

и редактирайте вече там.

По-долу са дадени реални примери.

Пример за отмяна на оформлението на статия в шаблона на Joomla Protostar:

Копирайте файла:

компоненти / com_content / views / article / tmpl / default.php

в:

templates / protostar / html / com_content / article /

и редактирането вече е там.

Пример за предефиниране на модула от последните статии в шаблона на Joomla Protostar:

Копирайте файла:

модули / mod_articles_latest / tmpl / default.php

в:

templates / protostar / html / mod_articles_latest /

и редактирайте вече там.

Това е всичко. Всъщност е изключително просто. Единственото нещо, което искам да добавя, е, че не трябва да злоупотребявате с замествания. Заменете само тези файлове, които наистина трябва да бъдат променени. Не заменяйте всяко възможно оформление. Когато създавате заместване, вие се съгласявате условно, че този конкретен файл няма да получава актуализации от разработчиците на Joomla вместо вас. Това е, например, ако разработчиците добавят показване на изображения в най-новия модул за новини и имате шаблон, предефиниран в шаблона, тогава няма да видите тези промени, тъй като актуализираният файл няма да бъде използван - вашият стар файл ще бъде взет от шаблона.

По отношение на сигурността, не се притеснявайте. Изключително рядко е изгледите да имат функционалност, която може да повлияе на сигурността. Те се използват специално за формиране на показването на съдържание.

В допълнение към отменящите оформления (копиране в шаблон), можете да създадете и алтернативни оформления . Те могат да помогнат, когато трябва да направите промяна в оформлението само на едно място в сайта и да използвате стандартното оформление на друго. Да предположим например, че искате да покажете най- новия модул с новини с изображения на едно място в сайта и само списък на друго. В този случай най-правилното решение би било да се създаде алтернативно оформление. Написах отделна статия за създаването на алтернативни оформления . Прочетете го, интересно и полезно е.

Как да избегнем хакове? Joomla плъгини .

Ясно е с оформленията. Но какво, ако промените, които трябва да направите, не са в оформленията на дисплея (не в папката за изгледи)?

Тук всичко е по-сложно, но е предвиден и механизъм. В Joomla те се наричат ​​плъгини. Приставките Joomla са части от вашия код, които можете да вмъкнете в даден момент от вашата програма. Чрез създаването на приставка можете да получите необходимата допълнителна функционалност, без да въвеждате хакове. Например, SEBLOD е почти изцяло изграден върху приставки. Това го прави изключително мощен за Joomla без нито един хак.

Темата на приставката е доста обширна и интересна. Можете да прочетете повече за тях в статията Joomla Plugins. Подробен анализ на прост език .

Ако всичко друго се провали.

Сега идва забавната част. Ами ако никой от горните методи не работи за вас? Какво ще стане, ако трябва да направите промени във файл, който не е обхванат нито от замествания на оформлението, нито от приставки?

Тук имате два пътя и за съжаление и двата не са много добри.

Първият начин е да направите хак.

Да, каки е зло. Но ако са малко и те са от решаващо значение за вашия сайт, тогава не остава нищо друго, освен да се примирите с тях. Важно е да запомните златното правило тук: " Ако направите хак, направете документацията за него ." Ако внимателно записвате информацията за създадените хакове, винаги можете бързо да ги възстановите. Адът започва, когато не се съхранява такава документация. Просто ми се довери. Знам за какво говоря. Когато клиент дойде при вас със задачата да надстрои Joomla 2.5 до Joomla 3 и сайт, пълен с хакове, без нито един ред информация за тях, тогава това не е много забавна история.

Вторият начин е да се разклонява.

Първият начин, при който правите хакове, документирате ги и възстановявате след надстройка, е приложим само ако има няколко хакове. Има и друг случай - има много хакове. Това е изключително рядко и обикновено се дължи на факта, че CMS или разширението претърпява огромни промени.

Ако този рядък случай е ваш, тогава трябва да помислите за направата на вилица , а не за хакове .

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

В случай на разклонение темата за хакове става без значение за вас, тъй като вече не получавате и не инсталирате актуализации. Сега всички редакции, които правите в системните файлове, са ваши и само ваша отговорност.

Само добри програмисти или екипи от програмисти могат да си позволят да се разклоняват. Това е доста сериозна задача и затова помислете десет пъти дали наистина ви е необходима.

Виждал съм примери, когато същият Virtuemart 1.0.x се превръща в пълноценна вилица. Това се случи, когато първоначално хакове без документи бяха въведени от различни хора, а след това имаше толкова много от тях, че беше по-лесно да поддържаме продукта сами, отколкото да мигрираме към новия Virtuemart и да възстановим всички натрупани промени.

Надяваме се, че темата за хакове вече е по-ясна за вас. Ако сте програмист, бъдете добър програмист и избягвайте хакове. Ако сте клиент, напишете техническа задача за програмисти, като посочите в нея необходимостта от липса на хакове и създаване на заместващи. Повярвайте ми, в бъдеще това ще ви спести много усилия, нерви и пари.

Ако искате изработка на сайт с джумла се се колебайте да се свържете с нас.

 Ако се съмнявате дали е възможно да направите конкретна промяна в Joomla, без да създавате хак - попитайте ме . Ще се опитам да предложа. =).

Уеб дизайн

Izrabotkanasait.eu е специализиран сайт и предлага следните услуги: изработка на сайт, изработка на фирмен сайт, Уеб дизайн, , изработка на сайт с Джумла (Joomla), Изработка на сайт с Уърдпрес (Wordpress), изработка на малък сайт - визитка, изработка на целева страница (Landing Page), изработка на онлайн магазин, изработка на онлайн магазин с Опенкарт, Shopify магазин, онлайн магазин с Клаудкарт, онлайн магазин под наем, поддръжка на сайт, изработка на лого, SEO оптимизация, Копирайтинг услуги, Бранг маркетинг, Фейсбук реклама, реклама в Гугъл и реклама в Тик Ток. Izrabotkanasait.eu - всичко за Вашия успешен онлайн бизнес!

Форма за обратно обаждане

© Izrabotkanasait.eu