30. juli 2003 - 13:28Der er
20 kommentarer og 1 løsning
Database sikkerhed
Hvordan kan jeg sikre mig at der ikke er nogen som kan gå ind bagved i databasewinduet og slette data? Det eneste tidspunkt de må slette og redigere data data er via programmet (via foms). Den eneste som må gå bagved og slette er mig? Dvs. at jeg skal bruge en form for kode for at gå bagom.
Er der nogen som kan fortælle mig hvordan jeg gøre det? Jeg har slet ikke styr på sikkerhed i Access, så I må meget gerne være detaljeret....
Gaa ind i opstart for databsen (under indstillinger eller noget i den retning), og fjern alle afkrydsninger. Dermed kan brugeren ikke bruge andet end forms og kan ikke se database vinduet. Hvis du vil "ind bagved" holder du shift-knappen nede mens du dobbletklikker paa filen. Dermed aabner den med alt vist - som du har det nu. Henriks loesning slaar denne funktion fra og til saa brugerne ikke kan bruge shift-loesningen, men det kommer selvf altsammen an paa: 1) Hvor meget folk piller, og hvor meget de reelt set er ude paa at oedelaegge databasen 2)hvor paranoid du er :-)
Jeg har lavet en alternativ loesning for en splittet datbase. Dvs alle tabellerne ligger i en database paa server, mens brugerne har alle forms i en anden fil paa deres egen computer. Jeg har oprettet dobbeltkopi af backenden/databasen paa serveren, hvor den ene kun tillader to personer at aabne den, men den anden er "public". Fra "admin" versionen kan man ved tryk paa en knap opdatere den offentlige version. Lidt bagvendt maaske - men det virker :-)
DoCmd.RunCommand acCmdWindowHide Forhindre lukning af formular. Der laver du på formularene , alle luk knapper væk. Derefter en luk knap der giver kode til lukning eller skrivning.
En anden ting er at, jeg godt kunne tænke mig at vide hvem der prøver at komme ind på databasewinduet, er det ikke muligt at lave en log fil for de buger som kommer ind på Databasewinduet??
Sub LogFil(Fil As String, Meddelelse As String) Dim FilNr As Integer FilNr = FreeFile Open Fil For Append As #FilNr Print #FilNr, Format(Expression:=Now, Format:="dd. mmm yy kl. hh:mm:ss ") & Meddelelse Close #FilNr
End Sub
2. Derefter kan styringen indskrives i en handling, ( i formular.):
Private Sub Form_Open(Cancel As Integer) LogFil Fil:="c:\logfil.txt", Meddelelse:="Start tid" End Sub
3. Dette er en start tid. Der kan også laves en luk tid.
Se adressen: LogFil Fil:="c:\logfil.txt", Meddelelse:="Start tid" Den ligger i roden. Eller skriv en anden sti, ex: LogFil Fil:="c:\Henrik13\logfil.txt", Meddelelse:="Start tid" Så ligger den i kateloget Henrik13.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.