Systemy zarządzania treścią (CMS)

Systemy zarządzania treścią (CMS)

Systemy zarządzania treścią to nic innego jak oprogramowanie które pozwala na łatwe tworzenie serwisu WWW, a także jego późniejsze aktualizacje oraz rozbudowę. Tworzenie treści i sposobu prezentacji w serwisie internetowym, który jest zarządzany przez CMS ( Content Management System) odbywa się przy pomocy prostych w obsłudze interfejsów użytkownika, w postaci stron WWW zawierających rozbudowane formularze i moduły. W skrócie strona oparta na systemie CMS pozwala własnoręcznie edytować treści, nie posiadając wiedzy informatycznej. Najpopularniejsze systemy zarządzania treścią to Wordpress, Joomal i Drupal. Aby móc obsługiwać te i inne systemy bezpieczniejszy jest wolny i otwarty framework Django.

            Zaletą posiadania dostępu do CMS jest niezależność, gdyż wykonawca dostarczający system CMS, musi przeszkolić i pokazać funkcjonalność systemu. Jeśli nauczymy się obsługi CMS będziemy mogli samodzielnie zarządzać treścią na stronie. CMS pozwala w prosty sposób dodawać, usuwać oraz dowolnie modyfikować treść, grafiki, obrazki, zdjęcia, filmy czy tabele. Aby wykonać jakąś operację wystarczy kilka kliknięć myszką w przyciski dostępne w aplikacji.

            Wordpress jest najpopularniejszym systemem zarządzania treścią. Składa się z plików i baz danych. Jeżeli któreś z nich zostanie zaatakowane ciężko odzyskać dane, w przypadku baz danych możliwe jest przywrócenie ich sprzed 7 dni. Jeśli od razu nie zorientujemy się że nastąpiło włamanie to niestety przywrócenie starszych danych jest niemożliwe. Niedawno nastąpił atak na ten system. Do naruszenia stabilności stron u setek tysięcy użytkowników, doszło głównie dlatego że zaktualizowanie WordePressa nie było wykonane w porę. Najbardziej podatne na ataki są strony dobrze wypozycjonowane, co nie oznacza że te które są schowane na dalszych miejscach nie zostaną nigdy zaatakowane. Nikt nie wybiera konkretnej strony która ma temu ulec, gdyż często atakuje osoba a nie program.

            Żeby mieć dostęp do tworzenia strony, logujemy się za pomocą loginu i hasła, jednak w zabezpieczeniach są pewne luki, poprzez które może dojść do ataku. Żeby się przed tym uchronić należy na bieżąco aktualizować system. Użytkownicy sami tworzą nowe dodatki, które nie są weryfikowane zbyt dokładnie i powielane przy innych projektach przez co powstają niebezpieczne luki bardzo podatne na ataki. Wiadomo nie wyłapiemy wszystkiego od razu, jednak lepiej zapobiegać potencjalnym zagrożeniom, niż mieć problem z uporaniem się z już istniejącym.

            Ważne żeby zawsze pamiętać o backupach strony czyli o kopiach zapasowych, czyli utworzeniu pełnej kopii plików, które dadzą możliwość odtworzenia utraconych lub zmienionych plików. Takie kopie najlepiej przechowywać w odpowiednim miejscu i możliwie najdłużej. Dobrze sprawdzi się zewnętrzny nośnik.

            Wolny i otwarty framework Django, napisany w Pythonie, służy do tworzenia aplikacji internetowych. Panel administracyjny Django jest automatycznie generowany i kompletny, daje możliwość dalszego dostosowywania pod konkretnego użytkownika. Posiada przejrzysty, prosty system szablonów, czytelny dla każdego. Pozwala na bezpieczne i łatwe operowania bazami danych  dzięki ORM (mapowanie obiektowo-relacyjne) na wysokim poziomie. Duża wydajność pod obciążeniem i skalowność.

            Django sam w sobie nie jest CMSem, jest farmeworkiem webowym czyli narzędziem programistycznym, dzięki któremu można budować witryny internetowe. Jest czymś czego używa się do tworzenia takich rzeczy jak np. Joomal czy Drupal. Django jest bardzo stabilne. Zaprojektowane zostało, aby móc w pełni wykorzystać jego potencjał.

            Stosowanie darmowych CMSów wcale nie znaczy, że strona będzie tańsza w wykonaniu, gdyż płaci się za ich instalację, konfigurację, a także podpięcie szaty graficznej. Darmowe rozwiązania dobrze się sprawdzają, jednak mają też spore ograniczenia, które często są  nie do przejścia podczas gdy chcemy swoją stronę zindywidualizować. W związku z tym najlepiej zaufać doświadczonemu wykonawcy i skorzystać z jego wiedzy, zyskamy wtedy pełne wsparcie i gwarancję, że wszystko będzie działać zgodnie z naszymi oczekiwaniami.

            Oczywiście bardzo opłacalne jest pisanie exploitów na systemy zarządzania treścią. Wiele osób tworzy pluginy które niestety nie są weryfikowane, a ludzie używają ich bez sprawdzenia czy są bezpieczne. Ponadto wymagają ciągłych aktualizacji, w miarę jak wychodzą poprawki. Przez co są mniej bezpieczne od frameworka Django.