Predmet:Re: Zastita back end baze
Isprika za nejavljanje al kraj je godine pa imam pritisak sa svih strana.
Tema je otisla malo u teoriju al mozda na koncu dodjemo i do konstruktivnog zakljucka sto se tice zastite podataka u BE bazi.
Mislim da cemo se svi sloziti da nije toliki problem (barem ja mislim) ako netko (ne)namjerno obrise cijeli fajl baze. Iole ozbiljna aplikacija zahtjeva neku vrstu backupa, bilo rucno ili automatski. U slucaju brisanja vrati se baza iz backupa i steta je ajmo reci neznatna, naravno podaci koji su u medjuvremenu uneseni otisli su u nepovrat. Ali u tom slucaju se zna da se moraju ukucavati ponovno a da struktura baze nije poremecena.
Veci problem nastaje ako netko (ne)namjerno direktno u tablice krene upisivati nove ili jos gore, mijenjati postojece podatke. Vrlo je tesko u tom slucaju znati sta je mijenjano i kada i dali je mijenjano, a rezultati mogu dovesti do neupotrebljivosti aplikacije.
Evo recimo primjer: s obzirom da radim u firmi koja se bavi distribucijom elektricne energije imamo aplikaciju u kojoj se vode podaci o svim trafostanicama, pripadnim vodovima te o vaznim (velikim) potrosacima koji su prikaceni na te vodove. Sad zamislite da se zbog radova iskljucuje trafostanica npr.123 i da se vazni potrosaci moraju obavijestiti da ce taj i taj dan biti bez elektricne energije. Naravno, pretragom za doticnu stanicu izlistaju se potrosaci, a netko je rucno (direktno u tabeli) u medjuvremenu promijenio vazne potrosace iz stanice 321, te ih prebacio u 123. Ti potrosaci za taj dan prekidaju proizvodnju, radnici ne rade a struje ima! Eto onda tuzbi i sudova, naknada troskova itd.
S obzirom da u visekorisnickom koristenju dijeljeni folder ima dozvole "Full" i "Everyone", ovo je lako moguci scenarij.
Zbog toga mi se svidjela ideja od zxz da se BE dio stavi na "hidden" tj da se sakrije svima osim administratorima koji ionako mogu pristupati racunalima s znakom $ iza slova diska.
Mana je recimo da ako bilo tko upise cijelu putanju do skrivene baze (s imenom baze naravno), ista se moze bez problema otvoriti.
Kao ideja mozda ne bi bilo lose BE bazu osim sto je sakrivena, preimenovati u nesto totalno nesuvislo (npr. qxyw.mdb) ili nesto drugo sto nema veze s nazivom aplikacije, i naravno zapisati i zapamtiti ime. Time bi se otezao upis direktne putanje do baze a osim toga kad bi se naziv i vidio vjerojatno nebi bio toliko interesantan da se i otvori.
Sto se tice djeljenog foldera kao medjuveze, ne znam koliko bi to pridonjelo na padu performansi same aplikacije.
Kad sam pokrenuo temu, zamisao mi je bila da se folderu s BE bazom u windowsima dodijeli sharing i full access samo jednom korisniku pa kad se pokrene aplikacija da se preko neke API funkcije windowsima da nalog da dozvoli aplikaciji pristup tom folderu s imenom i lozinkom tog korisnika, da se ista moze konektirati. Pa kad se konektira da operater dalje pristupi podacima sa svojim imenom i lozinkom.
Ne znam koliko je to komplicirano al i ovo gore barem po meni ce rijesiti 80% problema.
Ako aplikacija bude rasla, vjerojatno cu morati migrirati podatke u neku drugu bazu, MySQL, PostgreSQL ili neku trecu sto ce vjerojatno donijeti neke prednosti ali i mane. Uostalom, kako u zivou nista nije savrseno tako je i s bazama. Sve ima svojih prednosti i mana
Isprika na poduljem postu. Ako sam nesto krivo napisao slobodni ste me ispraviti. Sve u namjeri da se sto vise nauci.
Niti jedan covjek nije tako visok kao kad se sagne da pomogne djetetu
[Abraham Lincoln]