Pozdrav svima!
Imam zanimljiv (citaj OZBILJAN!) security problem u nasledjenoj bazi. Veseli projektant(i) nije predvideo neke posalice... (btw, nije se ni pretrgao od projektovanja!)
Sve je pocelo kao Access za sitnu upotrebu a onda je vremenom (4-5 godine) preraslo u informacioni Sys koji lezi na Oracle-u. Na taj sistem je "nakaceno" 5-6 web i desktop aplikacija koje nema sanse da se menjaju (ali NEMA SANSE!).
Dakle, situacija je sledeca:
Svi korisnici (stotine) koriste bazu preko izvesne aplikacije.
Postoji tabela sa sledecim kolonama: || id || region || neki_podaci_za_region || jos... ||
U bazi postoje role za svaku grupu korisnika. Grupe imaju prava upisa/pristupa u zavisnosti od geografskih regiona.
Pojedine grupe imaju pravo INSERT/UPDATE na doticnu tabelu.
Prilikom rada sa aplikacijom (logovanjem se bira i region) postoji podatak za region i ne dozvolja se izmena informacija iz "tudjeg" regiona... ali...
Da bi se korisnik ulogovao preko ODBC-a, potrebno je samo username/passwd!
Elem, mozda niste ni razmisljali o tome ali Excel moze da vam pobrise/promeni pola baze! Naime, ukoliko se neko preko ODBC-a nakaci na ORACLE i iz njega skine podatke iz tabela, takodje, uz malo maxinacije kodom, moze i da izvrsene izmene iz Excela prebaci u bazu!
Sad zamislite situacuju (i ja probao!) u kojoj korisnik sa odredjenim pravom se uloguje na ORACLE preko ODBC-a, prebaci sve (!) podatke u Excel, promeni nesto sto nije iz njegovog regiona i lepo to posalje natrag izmenjeno!!!
Kako da resim takvu situaciju? btw, kako resavati ubuduce takve situacije (sa ODBC-om)?