Microsoft Office Access
uređuje Branislav Mihaljev, MVP

 Office Praktikum | Mapa sajta 

 
Bookmark and Share
Matična strana sajta
Novo na sajtu
Mapa sajta
Beleške
Knjiga posetilaca
Kontakt

Prethodna stranica
Pretraga sajta
Pretraga MSKB

Blog Praktikuma
RSS feed 
 
Office Praktikum

Još o Accessu
 


Skoro svakodnevno slušamo
  Radio Paradise:
  eklektični muzički online radio bez reklama!
 

   

Sponzori sajta

  Connectivity by SBB
 
Connectivity by SBB

 

Informacije

NOVOSTI
Novi prilog o Wordu
Tri nova autorska članka
Četiri priloga o Accessu
Opis i uputstvo za alatku YuCirLat '08 (Word)

SADRŽAJ ZA PREUZIMANJE
YuCirLat '08 unapređena alatka za konverziju kodnih rasporeda u Wordu

SKREĆEMO PAŽNJU
Beleške: B(l)oga li ti tvoga!- prilog koji će nekog možda čak i da naljuti
Kako pretraživati MSKB
* a pronaći ćete i još mnogo novih sadržaja...

USKORO SERIJA ČLANAKA O OFFICEU 2010

POZIVAMO VAS
* i prenesite svoja iskustva. Najbolji prilozi će biti objavljeni.



  (C) 2000-2009 Praktikum na Webu
 

Zaštita baze

Nivo:  NIVO 3 - klinite za objašnjenje


Bilo da pravite aplikaciju u Accessu za sebe ili po narudžbi, doći ćete do momenta kada treba da je distribuirate. O određenim jednostavnim načinima zaštite smo ranije već pisali, a ovom prilikom ćemo se podsetiti nekih pitanja na tom planu i predložiti vam jedan sasvim nov način zaštite.

Uvek treba da vodite računa da postavite sve moguće zaštite, kako neko drugi ne bi došao u posed razvojne verzije vašeg rada. Access nudi nekoliko načina zaštite aplikacije, a VBA program dozvoljava pisanje takvih modula koji bi je dodatno zaštitili. Za početak možete podesiti da se određena forma odmah učitava, a da se okno objekata baze ne prikazuje. U meniju Tools odaberite stavku Start Up i u padajućoj listi Display Form/Page odaberite formu koja će se učitati automatski pri narednom pokretanju baze, a isključite polje za potvrdu Display Database Window. U toku rada korisnik ipak može da pritisne funkcijski taster F11 i dobije okno objekata. Da biste ovo onemogućili, isključite i polje za potvrdu Use Access Special Keys.

Ovakva zaštita se može zaobići na dva načina: uvoženjem svih objekata baze u novu, praznu bazu ili držanjem pritisnutog tastera SHIFT dok se baza učitava. Sav program se može kompajlirati, tako da se forme, izveštaji i VBA program ne mogu čitati (ni prenositi u drugu bazu) prevođenjem baze u MDE oblik. MDE oblik ne obezbeđuje zaštitu od čitanja sadržaja tabela i izmene izgleda upita. Ipak, ako iz nekog razloga ne želite da kompajlirate program, nad VBA projektima možete postaviti šifru: u prozoru VBA odaberite projekat, pritisnite desni taster miša i u konteksnom meniju odaberite stavku Properties, pa unesite željenu šifru.

Osobinu AllowBypassKey možete postaviti na vrednost False da biste onemogućili da baza ne pokrene neku od predviđenih formi automatski. Pazite da tokom eksperimenata ne zarobite bazu od sebe: dovoljno je u bilo kojoj drugoj bazi pokrenuti program za izmenu vrednosti ove osobine na True, tako da tasterom SHIFT možete ponovo zaobići automatsko pokretanje.

Zgodan način za pristup nekompajliranoj bazi zaštićenoj šifrom jeste da omogućite funkcijski taster F11, tako da se pritisak na ovaj taster presreće od strane Accessa. Makro Autokey će vam pomoći u ovome: po pritisku tastera F11 pokrenuće se makro i zahtevaće unos šifre. Ako je šifra ispravna biće prikazano okno Database. Procedura se može kombinovati sa izmenom osobine AllowBypassKey: ako je šifra ispravna, ova osobina se postavlja na vrednost True, a ako je šifra neispravna, vrednost postaje False.

Neiskusni korisnici štite bazu ostavljajući je u MDB obliku i postavljajući šifru nad njom. Ovakva zaštita pomaže samo kod krajnje averziranih korisnika, jer se na Internetu može pronaći nekoliko programa koji gotovo trenutno iščitavaju šifru.
 

Šifra se, naime, čuva u nekriptovanom obliku, pa je zato preporučljivije da definišete korisnike sa određenim pravima pristupa. Kreiranje korisnika sa određenim pravima pristupa je prilično jednostavno. Pokrenite čarobnjak User-Level Security iz menija Tools / Security i u narednih nekoliko koraka odgovorite na postavljena pitanja.

VAŽNO:
nikada ne postavljajte šifru na bazu ako ćete od nje praviti repliku, jer sinhronizacija baze sa šifrom nije moguća.
 

Predlažemo vam praktičan način za zaštitu aplikacije. Sledeću funkciju sa prenesite u novi modul i snimite ga pod nekim imenom.

Function HDDBroj(drvpath)

Dim fs, d
Set fs = CreateObject("Scripting.FileSystemObject")
Set d = fs.GetDrive(fs.GetDriveName _
(fs.GetAbsolutePathName(drvpath)))
HDDBroj = d.SerialNumber

End Function

Funkcija čita serijski broj čvrstog diska, kojeg ćete zatim na drugom mestu upotrebiti. Ovaj "broj" ne sadrži slova, nego uvek ima numerički oblik, a funkcija može vratiti pozitivnu ili negativnu vrednost. Kombinujući prethodne zaštite, onemogućite pristup oknu Database i prevedite program u MDE oblik. Zatim kreirajte jednu tabelu, kao na primer ovu na slici:


Primer tabele za upravljanje registracijom

Po prvom pokretanju programa, Access će pročitati serijski broj diska i upisati ga u polje Diskvol. Forma koju ste definisali da se prva pokrene treba da bude ona za registraciju programa:


Primer forme za registraciju programa

Serijski broj čvrstog diska se može zgodno upotrebiti za zaštitu: pomnožite ga sa dva i proglasite novodobijeni broj za registracioni broj. Kada korisnik upiše instalacioni broj u za to predviđeno polje forme, Access će proveriti da li je serijski broj diska zaista upola manji od instalacionog broja i proglasiti program registrovanim, uključivanjem polja tabele za potvrdu Registrovan. U suprotnom, vrednost polja Registrovan se isključuje. Umesto množenja sa dva, možete upotrebiti seriju od nekoliko matematičkih operacija. Na primer, instalacioni broj možete dići na treći stepen i podeliti sa 17, pa zatim preneti samo celobrojni deo rezultata. Ukratko: možete načiniti da se procedura dobijanja registracionog broja ne može "pogoditi".

Na slici sa tabelom možete videti i četvrto polje No. U ovo polje možete upisati određeni broj, npr. 100. Pri svakom pokretanju programa, dok korisnik još nije upisao registracioni broj u polje forme, broj No će se umanjiti za jedan. Kada ova vrednost dostigne nultu vrednost, program prestaje da bude funkcionalan sve dok korisnik ne dobije od vas registracioni broj. Ovim ste učinili dve stvari: zaštitili ste aplikaciju tako da korisnik mora da vam se prijaviti, a sa druge strane omogućili ste mu dovoljno vremena za probu, kako bi utvrdio da li program ispunjava njegove potrebe.

 

  (C) 2000-2009 Praktikum na Webu

Branislav Mihaljev, Access bajtovi, PC 95


 
 

Vrh stranice  Prethodna stranica  Naslovna strana  Mapa sajta  Pretraga

AFORIZAM ZA DANAS OVIH DANA SLUŠAMO...

Copyright © Praktikum na Webu, 2000-2009; Valinor Design; sva prava pridržana.