MAMBO CMS
Jedna od najboljih upotreba PHP jezika su CMS, Content Management System
programi, koji omogućuju jednostavno i brzo osvježavanje i ažuriranje
web stranica, od osobnih do portala. Osim prednosti za webmastere, često
daje i posjetiteljima mogućnost da sadržaj komentiraju i ocjenjuju,
što stranici daje dinamiku i interaktivnost.
Tri su glavne odlike dobre web stranice: izgled, sadržaj i ažurnost.
Izgled je stvar smisla za dizajn, sadržaj je stvar dobre ideje i maštovitosti,
dok je ažurnost stvar prvenstveno vremena. Cilj je što brže, ali i jednostavnije
prezentiranje novih, svježih sadržaja posjetiteljima vaših stranica,
bez obzira na to bile one osobne, stranice neke kompanije ili pak portal.
Klasične HTML stranice imaju tri velike mane.
Prva je činjenica što svaki put kada stavljate nešto novo morate uploadati
cijelu stranicu, morate paziti da su svi linkovi ispravni, a feedback
od posjetitelja moguć je jedino usmenim ili putem elektronske pošte.
Rješenje se zove CMS, Content Management System, aplikacija koja olakšava
upload sadržaja na web, i to direktno iz web preglednika. Sama procedura
je jednostavna, upišete adresu na kojoj se nalazi administratorski ulaz
u CMS aplikaciju, unesete autorizacijske podatke i sve promjene i novosti
radite preko korisničkog sučelja. Jednom kada snimite promjene, one
se istog trenutka prikazuju na stranicama.
No prije jednostavnog dijela treba proći malo kompliciraniju proceduru.
Ona se sastoji u izboru aplikacije, eventualnom podešavanju hostinga,
postavljanju i instaliranju aplikacije na server i tako dalje. Vaše
potrebe odredit će koji tip aplikacije koristiti, jednostavniji tip,
tzv. news publishing program, ili pak kompliciraniji CMS. Svaki od programa
zahtjeva podršku php ili asp.net tehnologije, a većina i SQL bazu. Stoga
neka prvi korak bude upoznavanje sa vašim hostingom, da znate čime raspolažete.
Skrećemo pozornost na činjenicu da većina besplatnih hostinga ne podržava
niti php niti SQL, pa ako vam je stranica smještena na takvom hostingu,
imate dva izbora. Jedan je provjeriti koji bi besplatni Internet servis
eventualno mogli iskoristiti. Druga opcija je te naći novo mjesto na
webu, koje će odgovarati vašim potrebama. Vlastita domena i web hosting
više nisu ekskluziva, već su cijenom sasvim pristupačni.
2 CONTENT MANAGEMENT SYSTEMS
2.1 ODLIKE JEDNOSTAVNIJIH CMS-OVA
Ponudu news publishing programa za jednostavnije, prvenstveno osobne
web stranice krasi kvaliteta, kvantiteta, jednostavnost i većinom najpristupačnija
moguća cijena, nula. Nekoliko programa idealno je za početnike, jer
zahtijevaju osnovno poznavanje HTML jezika i baratanje jednim od programa
za slaganje stranica. U tu kategoriju spadaju QuickNews i Article Manager
programi. Article Manager sastoji se od samo nekoliko fileova, a kroz
proces instalacije se prati read me dokument. Sve što treba napraviti
je promijeniti u bilo kojem HTML editoru korisničko ime i lozinku, i
uploadati sve na server. Nakon toga u browser upišete lokaciju administratorske
stranice, logirate se i upisujete tekstove. Kako se radi o vrlo jednostavnom
programu, mogućnosti su mu skromne, ali za početnike zadovoljavajuće.
QuickNews je sličan program, ali oku ugodniji. Administratorski dio
ne izgleda spartanski, a korisnik sam odlučuje gdje će se prikazivati
upisani tekstovi. Instalacija je također brza i jednostavna, sastoji
se od četiri koraka kroz koje vas vodi prateći read me dokument. Glavna
razlika između ova dva programa je što Article Manager ima unaprijed
definiranu stranicu na kojoj prikazuje vijesti, dok QuickNews nema.
Nju treba dizajnirati korisnik, što daje veliku mogućnost personalizacije.
Jednom kada je stranica dizajnirana i složena, trebate samo pasteati
jednu liniju php koda i sve to skupa uploadati na server.
2.2 CMS-OVI VEĆE SLOŽENOSTI
Do sada opisani programi imaju nekoliko zajedničkih točaka. Prvenstveno
su jednostavni i laki za instalaciju, zahtijevaju minimalno poznavanje
HTML-a i php-a, te za svoj rad ne trebaju mySQL bazu, već se svi podaci
spremaju u text filove. Premda će CuteNews i Coranto funkcionirati i
na većim, zahtjevnijim stranicama ili portalima, svi navedeni programi
su ipak namijenjeni osobnim stranicama i manjim portalima. Web stranice
na kojima se očekuje veći promet i posjećenost, a samim time i veća
raznolikost sadržaja i interaktivnosti s posjetiteljima, zahtjevaju
i jaču platformu, veću funkcionalnost i složeniji softver. Tu prvenstveno
mislimo na webove koje teže k tome da budu svojevrsni informacijski
portali i žele imati gravitaciju kojom bi mogli privući izvjesnu masu
korisnika različitih očekivanja i potreba s obzirom na sadržaj. Dakle,
riječ je o all-in-one modularnim CMS paketima koji su dimenzionirani
za velik promet, brojne posjetitelje, ali isto tako i više urednika
i administratora sadržaja. Osim što su takvi sustavi opremljeni modulima
kao što su news sekcija, ankete, kalendari, blogovi, galerije, e-commerce
moduli (web shopovi), XML/RSS feeds, forumi, baze znanja i drugi, oni
moraju imati hijerihjski uređenu politiku upravljanja korisnicima s
jedne strane i uređivačima sadržaja s druge strane. Dakle, veći CMS
sustavi podrazumijevaju veći broj aktivnih urednika koji bi sustavno
i timski mogli upravljati sadržajem, prema potrebi dodavati nove linkove,
stranice, mijenjati layout stranice te činiti još mnogo drugih administrativno-uređivačkih
zahvata. Takvi se CMS sustavi zbog brzine rada i zahtjevnosti moraju
oslanjati na relacijsku SQL bazu podataka za spremanje i dohvat sadržaja.
Naime, spremanje i čitanje iz tekstualne datoteke datotečnog sustava
web poslužitelja, kao što je slučaj s news aplikacijama (npr. CuteNews),
ne bi bilo dovoljno brzo kod većeg broja korisnika. Rad s tekstualnom
datotekom se ne može se po pitanju performansi uspoređivati sa superbrzim
i optimiziranim engineom mySQL Servera ili nekog drugog dodjeljenog
SQL poslužitelja. Najčešće su CMS-ovi bazirani na isprobanoj i vrlo
kvalitetnoj L.A.M.P. kombinaciji koju čine Linux platofrma, Apache web
poslužitelj, MySQL poslužitelj, i PHP kao server-side programski jezik.
No, gotovo svi CMS-ovi uredno rade i na drugim platformama ako su podržani
php i mySQL. U tom kontekstu razmatramo Mambo i PHP Nuke kao najpopularnije
CMS-ove, te phpMyAdmin, koji iako nije CMS, predstavlja nezaobilazni
alat za redovito održavanje mySQL baza podataka.
2.3 BESPLATNI I KOMERCIJALNI CMS-OVI
Uz besplatne CMS-ove postoji i veliki broj komercijalnih od kojih je
kod nas najpoznatiji poprilično skupi iSite koji pokreće dobar dio državne
uprave. Naravno, za neke manje potrebe moguće je naručiti i izradu CMS-a
prema vlastitim potrebama (najčešće u kompletu sa izradom stranice)
i time uštedjeti.
Da li uzeti besplatni ili kupiti komercijalni CMS ovisi o potrebama
i znanju. Ako besplatni može zadovoljiti sve potrebe i postoji osoba
koja ga može održavati nema smisla to isto plaćati, ali ako ne zadovoljava
potrebe ili ne postoji osoba koja bi ga održavala, a u pitanju je website
koji donosi (ili će donositi) više nego dovoljnu zaradu da opravda trošak
kupnje ili zapošljavanja stručne osobe, onda je komercijalna varijanta
najbolji izbor.
2.4 PREDNOSTI I MANE CMS-OVA
Prednosti CMS-ova, osim navedene mogućnosti da osobe bez znanja html
mogu dodavati sadržaj jesu i laka administracija velikog broja stranica
unutar jednog websitea, većina CMS-ova u sebi ima integrirane mnoge
dodatke poput foruma, foto galerije itd., a svakim danom su dostupni
novi kao i nove inačice samog CMS-a.
Mane CMS-a, koliko god za osnovno održavanje nije potrebno neko poznavanje
html, php ili asp-a, na kraju se može dogoditi da u slučaju problema,a
ako se u timu ne nalazi netko s potrebnim znanjem, treba zvati nekoga
izvana da popravi problem.
Osobine dobrog CMS-a su:
• web sučelje za administraciju
• online uređivanje sadržaja s vjernim pregledom (WYSIWYG - What You
See Is What You Get)
• upravljanje s raznim izvoznim formatima
• sustav predložaka
• upravljanje inačicama
• ugrađeno pretraživanje
• podrška za višejezičnost
• sustav prava pristupa zasnovan na ulogama
• upravljanje korisnicima
• sustav tijeka zadataka (workflow system)
• skalabilnost
• sigurnost
3 MAMBO CMS
Mambo je modularan CMS koji dolazi sa brojnim Core modulima pomoću kojih
je omogućeno njegovo funkcioniranje. Tvrtka Miro International Pty Ltd
razvija ovaj CMS produkt i izdala ga pod GNU GPL licencom.
3.1 POVIJEST MAMBO CMS-A
Povijest ovog sustava datira od proljeća 2000. godine kada je Miro Construct
Pty Ltd, registriran u Melburnu, pod vodstvom Petera Lamonta, bivšeg
voditelja marketinga. Ova tvrtka započinje razvoj Mambo CMS-a, zatvorenog,
komercijalnog tipa. Već sljedeće godine kompanija prihvaća dvostruko
licenciranje, objavljuje Mambo Site Server pod GPL na Sourceforge-u
u travnju 2001.
Peter Lamont je tvrdio da je kod stavljen na raspolaganje zajednici
u open source obliku kako bi se prikupili doprinosi zajednice, sve dok
ne bude objavljen komercijalni proizvod.
Do sredine 2002, Miro je bio jedini developer Mambo-a, doprinoseći sigurnosnim
zakrpama i rješavanju bugova, ali ne proširujući postojeće i ne dodajući
nove mogućnosti ovom CMS-u.
2002. godine Miro objavljuje komercijalni CMS pod nazivom Mambo.Verzija
3.0.x, open source Mambo Site Server postaje "Mambo Open Source"
(poznatiji kao "MOS").Robert Kastli postaje direktor projekta
Mambo Open Source i okuplja tim developera dobrovoljaca.
2003. je objavljen Mambo Open Source 4.0 a Miro odustaje od odgovornosti
za razvojni tim Open Source projekta. Miro se koncentrira na svoje komercijalne
proizvode, dok Mambo Open Source nastavlja svoj put pod vodstvom Roberta
Castlija.
Miro objavljuje Mambo CMS, komercijalnu verziju Mambo Open Source i
tvrdi da Mambo CMS ne sadrži kod dodan u Mambo nakon što je objavljen
kao open source. Miro Construct Pty Ltd je dobrovoljno zatvoren veljače
2003., a u kolovozu je formiran Miro International Pty Ltd. Ipak kod
Mambo Open Source prikazuje copyright 2000 - 2003 Miro Construct Pty
Ltd. i Mambo postaje meta napada vezanih za intelektualno vlasništvo
djelova koda sadžanih u jezgri Mamba. Problemi su bili ozbiljni i koštali
su novca, utrošenog vremena, i konačno gubitka nekih ključnih vođa projekta.
Mambo Open Source 4.5 je objavljen u prosincu 2003. a do tada, skoro
cijeli originalni kod napisan u vlasništvu Miro nestaje tokom razvoja.
2004. u svibnju započinje Mamboforge.net sa radom. Linux Format dodjeljuje
Mambu nagradu “Best Free Software Project” godine.
Linux User and Developer mu dodjeljuje nagradu “Best Linux or Open Source
Software”.
Nakon takvih događaja , ime "Mambo Open Source" (poznatiji
kao MOS) izmenjeno je u "Mambo", izazivajući zabrinutost zajednice
zbog očigledne konfuzije oko CMS-a razvijenog od strane zajednice i
Miro-vog komercijalnog, "Mambo CMS".
Mambo version 4.5.1 je objavljen u rujnu, a nešto kasnije objavljena
je i verzija 4.5.1a stable. Robert Kastli podnosi ostavku na mjesto
direktora projekta da bi u studenom, Endru Edi preuzeo tu funkciju.
Mambo upravni odbor je ustanovljen od predstavnika iz Miro-a i Mambo
razvojnog tima. Ovaj odbor je osmišljen da bi upravljo Mambo projektom.
U siječnju 2005. Endru Edi objavljuje strateško partnerstvo između Mambo
and Miro International Pty Ltd. Miro je ponudio financijsku podršku
za open source projekat, obuku, komercijalnu podršku, i certifikaciju
developera. Započinju diskusije o formiranju neprofitnog Mambo projekta.
Verzije 4.5.2 i kasnije, 4.5.2.1 su objavljene, a komercijalni Mambo
CMS je preimenovan u "Jango" travnja 2005.
U lipnju je ustanovljena mambo-foundation.org domena a u kolovozu Mambo
Foundation Inc. je pravno konstituiran, te Piter Lamont postavlja sebe
za predsjednika odbora novostvorene fondacije.
Robert Kastli, inauguralni član Mambo Foundation odbora, izjavljuje:
"Fondacija dozvoljava da sve bude izmješteno van Miro incl. domena,
hostinga... itd. " i nastavlja kako će sa njim, tvorcem i osnivačem
Mambo Open Source, i Endru Edijem kao članovima odbora Mambo Foundation,
Mambo nastaviti kao uspješan open source projekt. Nešto kasnije cijeli
tim programera objavljuje da napušta Mambo i ubrzo nakon toga, Robert
Kastli istupa iz odbora.
Bivši programerski tim ujedinjuje se pod imenom "Open Source Matters"
a open source zajednica mamboserver.com se lomi oko optužbi da je Mambo
Foundation formirana bez doprinosa zajednice i sa nedovoljnom kontrolom
razvoja. Ljudi izražavaju sumnje oko nivoa umiješanosti Miro International.
Novi projekat je nazvan Joomla! i većina Mambo zajednice se preorijentira
na Open Source Matters. Open Source Matters Inc je registriran kao neprofitna
organizacija u SAD-u u New Yorku.
Joomla! se pozicionira kao "preimenovani Mambo" i objavljuje
svoju prvu varijaciju Mamba kao Joomla 1.0 krajem 2005. Kod ova dva
CMS-a u ovoj fazi izgleda gotovo identično.
2006. dvojica grčkih programera formiraju Elxis koji je baziran na Mambu
kao i Joomla.
2007. u srpnju Open Source Mathers objavljuje release candidate Joomla!
1.5 Mapya i označava početak nove generacije Joomla! CMS-a. Prije objavljivanja
finalne verzije očekuje se samo još jedno RC izdanje. Joomla! 1.5 RC1
je dovoljno sigurna i stabilna da se može smatrati spremnom za produkciju.
Ipak to je samo za iskusnije korisnike kojima nije problem ručno dodati
ispravke koje se još očekuju. Za Upgrade aktivnih stranica verzije 1.0.x
treba sačekati transfer komponentu koja još nije objavljena. Transfer
će funkcionirati tako da se napravi nova Joomla! 1.5 instalacija, a
onda se u nju napravi export sadržaja stare baze.
3.2 PREGLED MOGUĆNOSTI
Da biste mogli pokrenuti Mambo, potrebno je sa službenih stranica www.mamboserver.com
downloadati instalacijski paket. Nakon toga, paket je potrebno raspakirati
u mapu na disku. U IIS-u potrebno je kreirati virtualni direktorij npr.
"Mambo" koji će pokazivati na njegovu mapu. Sada je web aplikacija
konfigurirana i može se pokrenuti instalacijska procedura sa web adrese
http://localhost/mambo. Nakon pre-installation check-a i licence, instalacija
vas vodi kroz četiri jednostavna koraka u kojima je potrebno odrediti
ime hosta (localhost), konekciju prema mySQL-u, ime site-a i administracijski
password. Instalacijska procedura će automatski kreirati sve potrebne
database objekte unutar mySQL-a. Kada je instalacija dovršena, potrebno
je obrisati mapu installation u root mapi Mamba i korištenje CMS-a može
početi.
Na adresi http://localhost/mambo nalazi se front end vašeg site-a, dakle
ono što će vidjeti krajnji korisnik.
Administracijski dio dostupan je na adresi http://localhost/mambo/administrator.
Nakon upisa administratorskog imena i passworda, prikazati će se pregledan
i vrlo dobro organiziran administracijski back end mamba. Izbornik Site
sadrži opcije za upravljanje siteom. Global Configuration sadrži sve
postavke web servera, mySQL-a, lokalizacije, Maila, Cachea, Statistike
i dr. Pod izbornikom Site preporučuje se pod WYSIWYG Editor odabrati
TinyMCE Editor kako bi uređivanje tekstualnog sadržaja bilo preglednije.
Media Manager omogućuje upravljanje medijskim sadržajem (slikama, multimedijom
itd) kao i upload datoteka u CMS. Template Manager omogućuje primjenu
templatea (skinova) na pojedine stranice ili čitav site. Priloženi primjerni
template-i demonstriraju veliku fleksibilnost rasporeda sučelja i elemenata
navigacije i sadržaja. User Manager omogućuje upravljanje korisnicima,
kreiranje novih korisnika i smještanje u neku od korisničkih grupa (Author
,Editor, Administrator itd). Izbornik Menu omogućuje konfiguriranje
navigacijskih menija: Main, Other, Top, User. Izbornik Content omogućuje
uređivanje sadržaja odnosno pisanje članaka i publiciranje (News, Newsflashes,
FAQ, Front Page, Static Content). Za svaki je element sadržaja moguće
odrediti koja skupina korisnika ga smije vidjeti, od kada do kada će
biti publiciran, tko ga smije mijenjati itd. Izbornik Components omogućuje
upravljanje komponentama CMS-a kao što su Banners, Contacts, Polls itd.
Izbornik Modules, osim što omogućuje upravljanje postojećim modulima
kao što su mod_mainmenu, mod_search i drugi, daje mogućnost instaliranja
dodatnih modula i na taj način proširivanja funkcionalnosti.
Mambots su posebni dodaci CMS-a koji pomažu pri uređivanju sadržaja
kao što je WYSIWYG Editor, Image Editor itd. Izbornik Help nudi integriranu
korisničku dokumentaciju koja sadrži opis svih bitnih opcija za uspješno
upravljanje sadržajem pomoću ovog moćnog CMS-a.
3.2.1 Podrška
• kontekstualno osjetljiv sustav pomoći,
• modularno sučelje - pluggable API,
• forum,
• javna mailing lista,
• razni opensource razvijatelji,
• konferencije korisnika.
3.2.2 Jednostavnost korištenja
• SEF URL-ovi, URL-ovi koji pridonose višoj poziciji URL-a kod ispisa
tražilice prilikom pretrage po ključnoj riječi. Primjerice, ovaj mehanizam
obavlja uključenje naziva posta u URL. Čak štoviše, URL transformira
tako da riječi odvoji znakom - (hyphen), a ne _ (underscore) ili prazninom
(što je default postavka). Na taj način je pretraživaču omogućeno da
prepozna ključnu riječ; u suprotnom, URL mu izgleda kao duga i nepoznata
riječ.
• ostvarenje različitih funkcionalnosti (bez ikakvog znanja programiranja)
koje podrazumijevaju izvršavanje niza akcija - macro jezik,
• server-side jezik,
• jezik za predloške - template jezik,
• postavljanje nivoa korisničkog sučelja ovisno o tome kojoj grupi korisnik
pripada - User Interface Levels,
• mogućnost da korisnik koristi undo opciju nad obavljenom operacijom,
• WYSIWYG uređivač teksta.
3.2.3 Upravljanje
• upravljanje reklamama i oglasima (npr. banner-i),
• mogućnost repozitorija datoteka - upload datoteka u repozitorij iz
kojeg se naknadno datoteke mogu uključivati u razne sadržaje,
• automatsko vremenski bazirano dodavanje ili brisanje sadržaja,
• uređivanje sadržaja izravno na stranici gdje se on nalazi - inline
administration,
• mogućnost potpunog administriranja sustava preko weba - online administration,
• mogućnost dodavanja modula ili dodatnih funkcija za upravljanje -
package deployment,
• mogućnost korištenja stilova i predložaka stvorenih na nekom drugom
site-u,
• sustav koji administratoru omogućava vraćanje obrisanog sadržaja -
trash system,
• web statistike (npr. broj pregleda nekog sadržaja u određenom vremenskom
periodu),
• rad sa stilovima i predlošcima preko web sučelja,
• upravljanje prijevodima preko web sučelja.
3.2.4 Interoperabilnost
• RSS - mogućnost predstavljanja sadržaja kratkim opisom i linkom na
stvarni sadržaj za koji je dozvoljeno da ga koriste drugi site-ovi.
Takav sadržaj se obično isporučuje kao XML datoteka koja se zove RSS
feed, RSS stream ili RSS channel.
• sustav slijedi W3C specifikacije za WAI kompatibilnost - pruža mogućnost
pregleda stranica osobama s oštećenjima,
• sustav slijedi W3C specifikacije vezane uz XHTML.
3.2.5 Fleksibilnost
• mogućnost naprednog uređivanja karakteristika profila pojedinog korisnika
neke grupe preko administrativnog sučelja,
• mogućnost korištenja istog sadržaja s više lokacija na site-u - content
reuse,
• lokalizacija sučelja - sustav je lokaliziran, preveden na više jezika
i moguće je korištenje lokalnih vrijednosti kao što su datum i vrijeme,
• mogućnost stvaranja višejezičnih verzija nekog sadržaja - verzija
se odabire prema profilu grupe u kojoj se nalazi korisnik,
• mogućnost definiranja dodatnih informacija (metainformacija) o objektima
koje mogu služiti npr. za pretraživanje, dodatne mogućnosti prikaza,
itd.
• mogućnost da jedan sustav (softver) podržava više site-ova,
• mogućnost korištenja zamjenskog URL-a - primjerice, kraćeg ili razumljivijeg,
• wiki funkcionalnost.
3.2.6 Performanse
• međuspremnik sadržaja - caching,
• naprednije metode međuspremnika sadržaja.
3.2.7 Ugrađene aplikacije
• Web log (blog) - javno dostupan dnevnik na webu,
• real-time online chat,
• forum,
• aplikacija za offline upravljanje dokumentima (npr. versioning),
• praćenje događaja i kreiranje kalendara događaja,
• aplikacija za stvaranja FAQ sadržaja,
• dijeljenje datoteka iz repozitorija prema definiranim dozvolama pristupa
za korisnike pojedine grupe
• crtanje grafova i grafikona,
• upravljanje nad pojedinom grupom na temelju kalendara obaveza - groupware
(email & calendar applications),
• knjiga posjetitelja,
• aplikacija koja omogućuje prijavu grešaka,
• mehanizam za popisivanje poslova - job postings,
• galerija - aplikacija za prikazivanje slika ili thumbnail-ova iz repozitorija,
• aplikacija za uređivanje jednostavnih anketa,
• ugrađena tražilica.
3.2.8 Mogućnosti koje sustav nema
• praćenje prijava na sustav i aktivnosti - audit trail,
• Kerberos, NIS, NTLM, SMB autentifikacija, SSL,
• FTP i CGI-mode podrška,
• HTTP Proxy.
3.3 SIGURNOSNI PROPUST UNUTAR PEARL FOR MAMBO I GALLERIA
MODULA
Pearl for Mambo i Galleria moduli su programski moduli napisani u PHP
programskom jeziku, a koriste se za uključivanje proizvoljnih datoteka
u CMS sustav. Uz Mambo, navedene module mogu koristiti i svi ostali
PHP bazirani CMS sustavi.
Otkriveni propust javlja se unutar Galleria i Pearl for
Mambo modula zbog nepravilne obrade ulaznog znakovnog niza. Udaljeni
napadač iskoristivši ovaj propust može uključiti proizvoljne datoteke
u rad Mambo sustava. Ako te datoteke sadrže posebno oblikovani PHP programski
kod, udaljeni napadač može pokrenuti proizvoljne naredbe s ovlastima
web poslužitelja.
Kako su oba navedena modula napisana u PHP programskom
jeziku, ove module mogu koristiti i ostali CMS sustavi bazirani na PHP-u.
Na svim takvim sustavima koji koriste jedan od navedenih modula (ili
oba) može se iskoristiti uočeni propust.
3.3.1 Ranjive inačice i skripte
Ranjive inačice navedenih modula su:
• Pearl for Mambo inačica 1.6 i starije,
• Galleria inačica 1.x
Mambo PHP skripte ranjive na ovaj propust su:
* adminAttachments.php
* adminAvatars.php
* adminBackupdatabase.php
* adminBanned.php
* adminBoards.php
* adminDocumentation.php
* adminEmails.php
* adminErrorlogs.php
* adminForums.php
* adminGroups.php
* adminMembers.php
* adminPolls.php
* adminReserved.php
* adminSensored.php
* adminSettings.php
* adminSmileys.php
* help.php
* locale.php
* login.php
* members.php
* merge.php
* move.php
* notify.php
* password.php
* password.php
* poll.php
* post.php
* profile.php
* register.php
* search.php
* split.php
* terms.php
* topics.php
3.3.2 Sigurnosna zaštita
Kako još nisu kreirane bilo kakve zakrpe kojima bi se uklonio ovaj propust
jedina zaštita je podešavanje sustava tako da ne dozvoli uključivanje
dodatnih datoteka u rad sustava. Da bi to napravio, korisnik u konfiguracijskoj
datoteci Mambo sustava mora 'register_globals' varijablu postaviti na
vrijednost 'Off'.
Alternativni način zaštite cijelog web sustava jest postavljanje
ograničenja za pristup Mambu (npr. na linux operacijskim sustavima ugraditi
.htaccess datoteku u korijenski direktorij web poslužitelja). Analognim
postupkom uklanja se propust i na ostalim CMS sustavima koji koriste
navedene module.
Galleria i Pearl for Mambo moduli administratoru Mambo
sustava (i ostalih CMS sustava baziranih na PHP-u) pružaju mogućnost
uključivanja proizvoljnih datoteka u rad sustava. S druge strane, ti
isti moduli primaju od udaljenog korisnika određene podatke i obrađuju
ih.
Funkcije zadužene za obradu pristiglih poruka:
GlobalSettings[templatesDirectory] i
Document[languagePreference]
na nepravilan način obrađuju iste. Zbog toga udaljeni
napadač, prosljeđujući posebno oblikovani maliciozni URI zapis, može
neovlašteno uključiti u ranjivi sustav proizvoljne datoteke koje mogu
biti pohranjene lokalno na poslužitelju ili nekom drugom računalu u
računalnoj mreži. Ako te datoteke sadrže posebno oblikovane maliciozne
PHP skripte, moguće je pokrenuti proizvoljne naredbe na ranjivom računalu.
ZAKLJUČAK
Jedna od najboljih upotreba PHP jezika su CMS, Content Management System
programi, koji omogućuju jednostavno i brzo osvježavanje i ažuriranje
web stranica, od osobnih do portala. Osim prednosti za webmastere, često
daju i posjetiteljima mogućnost da sadržaj komentiraju i ocjenjuju.
Na raspolaganju su složeni (Cute News, Coranto) i jednostavni
(QuiskNews, Article Manager programi) CMS-ovi. Također postoje besplatni
i komercijalni, a izbor između ta dva ovisi isključivo o našim potrebama
i znanju.
Mambo je primjer sustava za upravljanje sadržajem s vrlo
dobro organiziranom i detaljnom dokumentacijom, velikim brojem korisnika,
svježim i lako dostupnim informacijama te raznim funkcionalnostima koje
čine instalaciju, korištenje sustava i kasnije održavanje jednostavnijim
od drugih.
Nedostatak Mamba je u ponešto manjim sigurnosnim mogućnostima.
Naime, unutar Galleria i Pearl for Mambo modula, zbog nepravilne obrade
ulaznog znakovnog niza, udaljeni napadač može iskoristiti ovaj propust
i uključiti proizvoljne datoteke u rad Mambo sustava. Jedina zaštita
od toga je podešavanje sustava tako da ne dozvoli uključivanje dodatnih
datoteka u rad sustava, a alternativni način zaštite cijelog web sustava
jest postavljanje ograničenja za pristup Mambu.
LITERATURA: