Bosna i Hercegovina



#1 15.12.2010-13:18
/mad_max/ Offline
Clan
Registrovan/a od: 23.11.2010-10:17
Komentari: 10


Subject: Zastita back end baze
Pozdrav,
drago mi je da je forum ponovo zazivio (tek sam nedugo skuzio da opet radi).
Nisam znao kako da nazovem temu pa da objasnim sta me interesira.
Imam bazu podijeljenu na FE i na BE. Korisnici se kace na bazu upisom imena i lozinke i to sve radi kako treba. Problem je jedino da je folder na kojem se nalazi BE dio sheran na "everyone" pa sad imam slucaj da pojedinci ulaze u taj folder. To i nebi bio problem da direktno ne otvaraju bazu pa da onda (u neznanju) upisuju sve i svasta a time i sama baza postaje irelevantna.
Sad me interesira na koju foru FE dio trazi i pristupa BE dijelu, i dali se moze nekako omoguciti pristup tom folderu ako ga se shera samo jednim korisnickim imenom a ne everyone pa da kad se pokrene FE da on na neki nacin kaze windowsima "ja sam npr. Marko i imam pravo pristupiti tom folderu i zakaciti se na BE bazu koja je u njemu"? A nakon toga da svaki korisnik upisuje ime i lozinku s kojom pristupa podacima?
Mozda sam malo zakomplicirao pitanje pa ako ima volje za pomoc pokusat cu bolje objasniti.

Thx
Niti jedan covjek nije tako visok kao kad se sagne da pomogne djetetu
[Abraham Lincoln]
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 16.12.2010-18:51 od strane zxz. ↑  ↓

#2 15.12.2010-13:30
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,836


Subject: Re: Povezivanje FE-BE
Pozdrav i dobro nam dosao. Ja sam svima poslao Mailove kada je proradio access u stvari onima koji su imali vise od 20 postova cini mi se.
E sada tvoje pitanje.
Imas vise nacina da to zastitis.
Posto kazes da su to uglavnom laici onda mozes neku blazu variantu.
Naprimjer napises proceduru u u modulu.
DownloadIzvorni kod (Visual Basic):
  1. Function ZatvoriB()
  2. DoCmd.Quit
  3. End Function

Napravis makro koji ce se zvati autoexec.
U njega upises.
Action:RunCode
Function Name:ZatvoriB ()
Sada kada je otvore ona ce se automatski zatvoriti.
Ti mozes ulaziti sa siftom.
Ako to znaju onda mozes napraviti kod zabrane i dozvole sifrta sa kodom.

Ako pak i ovo nije dovoljno onda encrupt database.
Pozdrav
↑  ↓

#3 15.12.2010-14:11
/mad_max/ Offline
Clan
Registrovan/a od: 23.11.2010-10:17
Komentari: 10


Subject: Re: Povezivanje FE-BE
Pozdrav tebi zxz!
Pretpostavljao sam da ces se ti javiti.

Pretpostavljam da ovaj autoexec napravim na BE dijelu baze?
Ovo u vezi zabrane i dozvole pristupa shiftom putem koda me zainteresiralo (nesto slicno imam na FE), pa ako imas kakav primjer bio bi ti zahvalan.
Jer kao sto sam napisao u prvom postu problem je sherani folder na racunalu u kojem se nalazi BE dio s podacima.

Thx
Niti jedan covjek nije tako visok kao kad se sagne da pomogne djetetu
[Abraham Lincoln]
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 15.12.2010-14:13 od strane /mad_max/. ↑  ↓

#4 15.12.2010-14:25
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,376


Subject: Re: Povezivanje FE-BE
Ovo je i meni interesantna tema. Naime nije problem zaštiti se od kačenja na BE bazu kada se napravi forma za unos, nego je problem, pošto particija ili folder na disku u kojem je BE baza, mora biti postavljena na Full control tj da korisnici mogu mjenajati podtke, postoji opasnost da netko tko je u mreži preko Explorera pristupi toj particiji i čak potpuno obriše BE bazu.
Pitanje je kako to onemogučiti?
Pozdrav
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 15.12.2010-14:28 od strane pmiroslav. ↑  ↓

#5 15.12.2010-14:52
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,836


Subject: Re: Povezivanje FE-BE
Pa naj jednostavniji nacin je da stavite atribud na nefidljiv na mdb.
Ostalo se sve tice samog servere. Mi obicno kazemo server a i nije server. Kao prvo pristup samom serveru nemaju korisnici i to se regulise na samom op. sistemu odnosno serveru.
Citat:
Ovo u vezi zabrane i dozvole pristupa shiftom putem koda me zainteresiralo (nesto slicno imam na FE), pa ako imas kakav primjer bio bi ti zahvalan.

Potrazit cu ti ovaj kod za sift ako si na to mislio pa postaviti.
Pozdrav
↑  ↓

#6 15.12.2010-14:56
/mad_max/ Offline
Clan
Registrovan/a od: 23.11.2010-10:17
Komentari: 10


Subject: Re: Povezivanje FE-BE
Citat od pmiroslav:
Ovo je i meni interesantna tema. Naime nije problem zaštiti se od kačenja na BE bazu kada se napravi forma za unos, nego je problem, pošto particija ili folder na disku u kojem je BE baza, mora biti postavljena na Full control tj da korisnici mogu mjenajati podtke, postoji opasnost da netko tko je u mreži preko Explorera pristupi toj particiji i čak potpuno obriše BE bazu.
Pitanje je kako to onemogučiti?

Upravo ovo sto si napisao meni se dogadja u praksi
Niti jedan covjek nije tako visok kao kad se sagne da pomogne djetetu
[Abraham Lincoln]
↑  ↓

#7 15.12.2010-15:16
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,836


Subject: Re: Povezivanje FE-BE
Evo ti moj jedan exe sto koristim. Moze se desiti da ti zafali neki dll ako nemas vb instalisan ali ti ga mogu poslati.
A evo ti i kod iz njega sirov.
Nadam se da ces se snaci. Ako ne uspijes nemoj se muciti samo napisi kako si to zamislio zakljucavanje i otkljucavanje.
Ovo je zamisljeno sa forme.
DownloadIzvorni kod (Visual Basic):
  1. Dim CON As New ADODB.Connection
  2. Dim RsCountry As New ADODB.Recordset
  3. Dim RsState As New ADODB.Recordset
  4. Dim RsDist As New ADODB.Recordset
  5.  
  6. Private Sub Form_Load()
  7. Dim PATH
  8. Dim X As Integer
  9. Dim Y As Integer
  10. Dim Z As Integer
  11. Dim Country As String
  12. Dim State As String
  13. Dim Dist As String
  14. PATH = App.PATH & "\COUNTRY.MDB"
  15. CON.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source= " & PATH & ";Persist Security Info=False"
  16. CON.Open
  17.  
  18. Call RsCountry.Open("COUNTRY", CON, 1, 2, -1)
  19. Call RsState.Open("STATE", CON, 1, 2, -1)
  20. Call RsDist.Open("DISTRICT", CON, 1, 2, -1)
  21.  
  22. TreeView1.Nodes.Add , , "root", "COUNTRY'S NAME"
  23. 'Country
  24. For X = 1 To RsCountry.RecordCount
  25.     Country = RsCountry(0)
  26.     TreeView1.Nodes.Add "root", tvwChild, Country, RsCountry(1)
  27.    
  28.     'State
  29.    RsState.Filter = 0
  30.     RsState.Filter = "c_no='" + RsCountry(0) + "'"
  31.     For Y = 1 To RsState.RecordCount
  32.         TreeView1.Nodes.Add Country, tvwChild, RsState(1), RsState(2)
  33.        
  34.         'Dist
  35.        State = RsState(1)
  36.         RsDist.Filter = 0
  37.         RsDist.Filter = "s_no='" + RsState(1) + "'"
  38.         For Z = 1 To RsDist.RecordCount
  39.             TreeView1.Nodes.Add State, tvwChild, RsDist(1), RsDist(2)
  40.             RsDist.MoveNext
  41.         Next Z
  42.         RsState.MoveNext
  43.     Next Y
  44.    
  45.     RsCountry.MoveNext
  46. Next X
  47. End Sub


Prilozi:
Informacije o fajlu: zip  Sift.zip
Preuzimanja: 111
Veličina: 6.65 KB


Pozdrav
↑  ↓

#8 16.12.2010-10:57
pmiroslav Offline
Clan
Registrovan/a od: 02.02.2009-10:32
Komentari: 1,376


Subject: Re: Povezivanje FE-BE
KOd mene je problem ovakav:
U firmi koristimo klasični Wihdows Home Network u kojem nema servera i svatko tko je u mreži može pristupidi svakom disku, particiji ili folderu koji je djeljen.Ova mreža nekom trba zbog Accesa baze, nekom zbog dokumenata za Autocad , a nekom za oboje. E sad me zanima dali je u ovakom okruženju moguće nparaviti dozvole za pristup tako da netko može sanmo čitati podatke sa diska, a netko da ih može i mjenjati, a opet da netko nema upoće pristup na odeđenu particiju ili folder. Napominjem da se ovo ne odnosi samo na Access već i na druge file-ove
Pozdrav
↑  ↓

#9 16.12.2010-14:50
/mad_max/ Offline
Clan
Registrovan/a od: 23.11.2010-10:17
Komentari: 10


Subject: Re: Povezivanje FE-BE
@zxz:
mozes li objasniti molim te ovaj programcic koji si postao?
jeli on namjenjen zastiti dizajna baze ili opcenito zastiti da se ona ne moze otvoriti?
ja recimo imam nesto slicno na korisnickom dijelu (front end) pa kad izaberem neku labelu trazi me sifru te mi omogucuje shift, a ako unesem krivu sifru - shift se blokira. Ali ponavljam, to je samo na dijelu gdje su forme.
Problem je onaj dio tj. back end koji je na "serveru". Kako njega onemoguciti, jer je folder u kome je smjesten fajl podesen na full access, inace aplikacija ne radi.
Pokusao sam s tvojim prijedlogom da bazi postavim Hidden atribut, ali to mi se cini samo djelomicno rjesenje jer ako se recimo upise puna putanja do baze, ista se moze bez problema otvoriti jer je dozvola Full access i Everyone.
Razmisljao sam i da full access dodijelim samo korisnicima koji rade s aplikacijom, medjutim problem je taj sto na jednom racunalu radi vise korisnika aplikacije s itim loginom u windowse.

@pmiroslav:
nije mi jasno, za logiranje u windowse svi koristite isto ime i lozinku? Ako ne, mozda mozes dodati na svako racunalo potrebne korisnike pa na sherane foldere staviti permissions (dozvole) kakve hoces? Za ACad bi to vjerojatno radilo, a za Access ces vjerojatno imati problem koji ja imam. Doduse kod mene je korporativna mreza tak da bas nisam na ti s kucnom mrezom pa mozda moje sugestije ne piju vodu. I ne razumijem ovo da svatko moze pristupiti svakom disku?
Niti jedan covjek nije tako visok kao kad se sagne da pomogne djetetu
[Abraham Lincoln]
Ovaj komentar je mijenjan 1 puta. zadnja izmjena 16.12.2010-14:51 od strane /mad_max/. ↑  ↓

#10 16.12.2010-15:40
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,836


Ocjena: Ocjena:100 Subject: Re: Povezivanje FE-BE
Ovaj programcic je samo za dozvolu ili eliminaciju sifta.
Znaci ako je dozvoljenio mozes uci sa siftom ako nije nemozes i to je to.
E sad sa onom kombinaciom od prije gdje stavis macro autoexec i proceduru Qut on ako udje Odmah ce se i zatvoriti baza, ako pokusa uci sa siftom i ako si i to eliminirao sa ovim programcicem da nema sifta onda nece moci ni tako uci.

E sad sva dalje prica je nesto sasvim drugo. Mislim na pricu dali da moze neko doci do foldera uopste gdje je baza.
Ti si vec to i objasnio i vidim da znas a u jedno si odgovorio pmiroslav. U permision na lokalnom racunaru mozes izdati dozvole ako nemas servera.
Vidis ova druga prica se uopste ne tice samog accessa nego operativnog sistema.
Tu ima niz nacina kako zabraniti ili dozvoliti nekom da vidi nesto da pise ili samo da cita.

Problem je u tome sto kako ja vidim sto sa istim juzerom zeli se postici dvostruko a to je nemoguce.
Racunar nezna ni po cemo kada sjede drugi korisnik ukoliko se ne loguje pod drugim imenom.

Samo Da napomenem.
Treba razdvojiti dio pristupa podacima na bazi od dijela pristupa folderu jer jedno mozes regulisati na samoj bazi a drugo regulise op. sistem.
Pozdrav
↑  ↓

#11 16.12.2010-16:00
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,836


Subject: Re: Povezivanje FE-BE
Jos jedno mi pade napamet a neznam dali bi te zadovoljilo:
Naime mozes napraviti sledece.
Da negdje na racunaru napravis folder za orginal bazu.
Napravis drugi folder i njega serujes. Na njega linkas sve tabele.
Poslije opcijom import mozes tabele (Odnosno samo link) povuci.
I sad ako ovdje u startup stavis gore navedeni autoexec koji ce pozivati proceduru za Izlaz i zastitit siftom po meni bio bi poprilicno zasticen.
-Ako ko pokusa uci nebi mogao baza bi se istog momentazatvorila.
-Ako pobrise ni pla muke samo opet napravis link jer tu nisu podaci.
Pozdrav
↑  ↓

#12 16.12.2010-18:43
/mad_max/ Offline
Clan
Registrovan/a od: 23.11.2010-10:17
Komentari: 10


Subject: Re: Povezivanje FE-BE
Koliko sam shvatio, predlazes da taj dijeljeni folder bude kao neka medjuveza?
S obzirom da sam sad u guzvi i da zurim u vrtic gledat priredbu od klinca, sutra bi pokusao mozda malo opsirnije u vezi ovoga te postaviti sliku (kaze se da govori vise od 1000 rijeci) samo ne znam koja je dozvoljena velicina?

zxz, usput mozda nebi bilo lose da temu preimenujes u recimo Zastita back end baze ili u nesto drugo ako imas bolju ideju.
Mislim da sam totalno promasio naslov teme.

Thx
Niti jedan covjek nije tako visok kao kad se sagne da pomogne djetetu
[Abraham Lincoln]
↑  ↓

#13 17.12.2010-16:48
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,836


Subject: Re: Zastita back end baze
Da dobro si napisao. Ovo bi bila medju veza. Kada nems server mora se domajavti.
Pozdrav
↑  ↓

#14 21.12.2010-13:00
/mad_max/ Offline
Clan
Registrovan/a od: 23.11.2010-10:17
Komentari: 10


Ocjena: Ocjena:100 Subject: 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 Cool

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]
↑  ↓

#15 21.12.2010-21:49
zxz Offline
Administrator
Registrovan/a od: 03.02.2009-16:22
Komentari: 9,836


Subject: Re: Zastita back end baze
Sve si ti to lijepo opisao i hvala ti.
Ja jedino mogu dodati za ovco sa linkom da ja sto se tice brzine nisam nista primijetio.
Naravno ovo nista nije potrebno ako imate server serverom.
Pozdrav
↑  ↓

Stranice (2): 1, 2


All times are GMT +01:00. Current time: 16.12.2018-21:48.