Access beveiliging

Hans Bronkhorst

<Deze pagina is in bewerking.>

Een Access-bestand beveiligen

U kunt een Acces programma op diverse manieren afschermen tegen onbevoegde inzage, wijzigingen of gebruik. Bij de beveiliging van uw programma kunt u rekening houden met de volgende richtlijnen:

Een zware beveiliging kan het gebruiksgemak van het programma verminderen, bijvoorbeeld als gebruikers moeten inloggen of als zij niet alle functionaliteit kunnen gebruiken. In het ergste geval zullen zij uw programma niet meer willen gebruiken.

Een zware beveiliging vereist dat het programma goed in elkaar zit en geen fouten meer bevat. Veel beveiligde programma's lopen vast, zodra de gebruiker tegen een programmafout oploopt, terwijl onbeveiligde programma's meestal nog wel werken.

Voor het beheer is elke beveiliging lastig: als beheerder wilt u overal bij kunnen en alle functionaliteit gebruiken. U kunt een onbeveiligde kopie bewaren waar u op terug kunt vallen als er iets mis gaat met de beveiliging. Zorg er voor dat er ook iemand anders bij dit bestand kan en dat u de gebruikte beveiliging documenteert, zodat bij uw afwezigheid een aangewezen persoon het beheer van het programma kan overnemen.

Beveiligde programma's werken niet altijd goed in een andere omgeving, bijvoorbeeld in een nieuwere versie of andere taalversie van Access.

Er kan bij een zwaar beveiligd programma meer beroep op u gedaan worden, om onderdelen aan te passen. Bij een onbeveiligd programma is er meestal wel een gebruiker die zelf aanpassingen kan maken, zodat u er niet bij geroepen wordt.

Dat de gebruikers zelf geen aanpassingen kunnen doen, kan ook een groot voordeel zijn. Gebruikers kunnen niet per ongeluk of door experimenteerlust een wijziging aanbrengen die u niet wilt.

Gebruikers met experimenteerlust voelen zich vaak aangetrokken tot beveiligde programma's en zullen wegen bewandelen om de beveiliging te kraken. De beste kraak is als de experimenteerder het wachtwoord van de beheerder kan achterhalen. Hoe meer (beheers)rechten u hebt, hoe zorgvuldiger u met de beveiliging van uw wachtwoorden en inlogcodes om moet gaan.

Access kent vele manieren om het voor de gebruiker lastiger of zelfs onmogelijk te maken om het programma in te zien, te gebruiken of te wijzigen. Hieronder staan enkele methoden beschreven. U kunt de methoden combineren voor een betere beveiliging.

 

Opstarten instellen

 

U kunt er voor zorgen dat het programma direct opstart met een menu of ander openingsformulier. Ook kunt u het weergeven van het databasevenster uitzetten en de speciale Access-toetsen, zoals F11 voor het openen van het databasevenster, uitzetten. U kunt ook uw eigen Menubalken en Werkbalken maken en de standaard balken uitzetten. Voor de meeste gebruikers is deze beveiliging voldoende, zij zullen dan geen databasevenster zien en dus niet geneigd zijn om tabellen en programmacode te gaan bekijken. Maar voor de door u zo gevreesde experimenteerders is dit geen afdoende beveiliging.

 

De instellingen voor het opstarten van het programma vindt u bij Extra >> Opstarten... Als u Volledige menu's toestaan uitzet, dan kunnen gebruikers bijvoorbeeld geen andere databases meer openen bij het menu Bestand. Onder de knop Geavanceerd kunt u het vinkje bij Speciale Access-toetsen gebruiken uitzetten.

 

Wilt u wel alle balken zien en het databasevenster kunnen bekijken, start dan het programma met de Shift-toets ingedrukt.

 

Database verbergen

 

Als u uw programma hebt gesplitst in een programmadeel en een gegevensdeel (zie Opbouw), dan kunt u het gegevensdeel in een map zetten die u Verbergt. Open Verkenner, zoek de map op waar het gegevensdeel van uw programma staat, klik op de rechter muisknop en klik op Eigenschappen >> Verborgen. De gebruiker zal deze map niet zien (behalve als op de pc is ingesteld dat alle bestanden moeten worden weergegeven), maar uw programma kan wel het gegevensdeel zonder problemen gebruiken. Als u zelf het gegevensdeel in Access wil openen, typ dan in het Openen-venster van Access de naam van de verborgen map in.

 

Tabellen, query's, formulieren verbergen

 

U kunt alle onderdelen van een Access programma stuk voor stuk verbergen, zodat zij niet zichtbaar zijn voor de gebruiker. Open het Databasevenster, klik met de rechter muisknop op een tabel, query ed., kies voor Eigenschappen >> Verborgen. Voor u als beheerder kunt u bij Extra >> Opties >> tabblad Weergave >> kader Weergeven >> het vakje bij Verborgen objecten aanvinken, zodat u wel alle objecten ziet. Als u deze methode gebruikt, dan is het raadzaam om alleen de belangrijke tabellen ed. te verbergen, zodat het voor een onderzoekende gebruiker niet opvalt dat er tabellen verborgen zijn.

 

Een wachtwoord voor de hele database instellen

 

U kunt een wachtwoord voor de database instellen. U moet daarvoor de database eerst Exclusief geopend hebben. Dit betekent dat op dat moment niemand anders gelijktijdig de database kan openen. U kunt als volgt een database exclusief openen:

Start Access.

Klik op Bestand >> Openen.

Klik op het pijltje rechts van de knop Openen.

Kies voor Exclusief openen.

 

Open het bestand.

Stel het wachtwoord in bij Extra >> Databasebeveiliging >> Databasewachtwoord instellen.

Het wachtwoord geldt voor de hele database, u kunt geen onderscheid maken tussen bijvoorbeeld een beheerder en een gebruiker, hiervoor zijn andere manieren bedoeld (zie verderop). Als u het wachtwoord vergeet, dan kunt u de database niet meer gebruiken! Het wachtwoord is hoofdlettergevoelig: Access maakt onderscheid tussen hoofdletters en kleine letters.

 

Inlogvenster maken

Om bevoegdheden in te stellen voor verschillende gebruikersgroepen kunt u een extra inlogformulier maken waarmee u de gebruiker een inlognaam en wachtwoord laat invoeren. Na controle op de inlognaam en het juiste wachtwoord kan de gebruiker bepaalde knoppen wel of niet zien. Ook verderop in het programma kunt u formulieren en knoppen afschermen voor onbevoegd gebruik. De gebruikersnamen, wachtwoorden en bevoegdheden vult u in in een aparte tabel van het programma. Met een DLookUp()-functie kunt u de ingevoerde inlognaam en het wachtwoord vergelijken en de toegewezen bevoegdheden uit deze tabel lezen. In o.a. InlogMenu, LETSMenu en MeldpuntMenu is deze beveiliging uitgebreid opgenomen.

Een inlogvenster is geen voldoende beveiliging tegen ongeoorloofde inzage van de tabellen en van de code achter formulieren en rapporten. U dient deze beveiliging te combineren met opslaan als MDE-bestand, uitzetten van standaard functies bij het opstarten ed., zie elders op deze pagina. Wilt u een grondige beveiliging, kies dan voor een beveiliging op gebruikersniveau.

 

Netwerk inlognaam gebruiken

Als de gebruikers via een netwerk van het programma gebruik maken en altijd op hun eigen naam aangelogd zijn op het netwerk, dan kunt u ook de inlog-netwerknaam van het bedrijfsnetwerk overnemen in Access. U hoeft dan niet meer om een gebruikersnaam en wachtwoord te vragen. Ook hier haalt u dan uit een extra gebruikers-tabel in het programma de bevoegdheden voor de gebruikers, u hoeft echter geen wachtwoord meer te controleren.

Om de netwerknaam in een Windows netwerk uit te lezen gebruikt u de functie Environ("username"), voor een Novell-netwerk is de functie Environ("nwusername"). De functie CurrentUser kunt u hier niet gebruiken, deze is alleen van toepassing wanneer u in Access zelf beveiliging op gebruikersniveau instelt, zie verderop in deze tekst.

 

Tweede front end programma voor beheerders

 

Als er een groot verschil is tussen gebruikers en beheerders van uw programma, dan kunt u overwegen om een tweede Access front end programma te maken dat naar dezelfde backend verwijst. In de beheerders-front end neemt u alle query's, formulieren en rapporten op voor de beheerders. Zie voor het maken en gebruiken van een front end en een back end de tekst Acces voor gevorderden - database splitsen elders op deze site.

 

Beveiliging op gebruikersniveau

 

Beveiliging op gebruikersniveau is een geavanceerde manier om in Access delen van het programma te beveiligen tegen onbevoegd gebruik en onbevoegde wijzigingen. Het is wel aan te raden om hier eerst goed mee te oefenen op een oefenbestand, omdat het beheer tamelijk complex is. U kunt het beste deze beveiliging pas activeren, als het programma zo goed als af is en dus niet in het begin van de ontwikkelfase.

 

Bij Beveiliging op gebruikersniveau maakt Access een extra bestand aan (beveiliging.mdw, u kunt dit bestand een andere naam geven), waarin Access de inlognamen en wachtwoorden van de gebruikers van het programma opslaat. Het programma kan vanaf dan alleen gebruikt worden als de gebruiker ook het .mdw-bestand oproept. In de Snelkoppeling van het programma wordt uw programma dan als volgt gestart:

 

<pad en naam Access> <pad en naam programma> /WRKGRP <pad en naam mdw-bestand>

 

Voorbeeld:

 

"C:\Program Files\Microsoft Office\Office\MSACCESS.EXE" "c:\Mijn documenten\MijnMenu\MijnMenu.mdb" /WRKGRP "c:\Mijn documenten\MijnMenu\MijnMenu.mdw"

 

Wanneer u achter deze regel het opstartcommando /runtime toevoegt, dan kan de gebruiker het bestand alleen openen en gebruiken en niet meer - met de Shift-toets ingedrukt - bewerken.

 

U kunt beveiligingsniveaus aan groepen gebruikers (bijvoorbeeld: Beheerders, Alleen-lezen) en aan individuele gebruikers toewijzen. U kunt per onderdeel (per tabel, query enz.) van het Access programma de rechten voor de verschillende groepen of de individuele gebruikers bepalen. Een gebruiker kan lid zijn van meerdere groepen. Alle gebruikers zijn automatisch ook lid van de groep Gebruikers. Alle rechten die de gebruiker uit de verschillende groepen krijgt, worden bij elkaar opgeteld.

 

U stelt als volgt Beveiliging op gebruikersniveau in:

Oefen dit bij voorkeur eerst op een oefenbestand.

Maak het programma eerst grotendeels af.

Maak voor de veiligheid een kopie van het onbeveiligde programma.

Klik op Extra >> Beveiliging >> Wizard Beveiliging op gebruikersniveau...

Volg alle stappen van de Wizard.

Naderhand kunt u bij Extra >> Beveiliging >> Machtigingen van gebruikers en groepen de instellingen nog wijzigen. Bij Extra >> Beveiliging >> Accounts van gebruikers en groepen kunt u nieuwe gebruikers aanmaken of een gebruiker in een andere bevoegdhedengroep opnemen.

 

Test het programma goed, voordat u het in productie neemt. Vergeet het wachtwoord voor de Beheerder(s) niet en maak periodiek een kopie van het mdw-bestand.

 

Op uw pc staat ook standaard een system.mdw bestand. Dit bestand gebruikt Access om de gebruikersbevoegdheden in te stellen, als er geen mdw-bestand gekozen is. Standaard staan er geen beperkingen ingesteld in System.mdw en hoeft een gebruiker van de pc niet voor Access in te loggen. Als Access toch standaard om een inlognaam en wachtwoord vraagt, terwijl u dit niet wilt, dan kunt u een 'leeg' system.mdw bestand vanaf de installatie-cd-rom of vanaf een andere Access-installatie op uw pc terugzetten.

 

In een beveiligd bestand kan elke gebruiker standaard in het Databasevenster de inhoud van alle tabellen bekijken. U kunt dit wel afschermen, zodat een gebruikersgroep de tabel niet de rechten Gegevens lezen krijgt, maar de gebruiker kan dan echter deze tabel ook niet meer gebruiken in het programma. U kunt ook geen beperkingen op record-niveau instellen. Wilt u meer beveiligingsniveau's, dan zult u de gegevens op bijvoorbeeld een SQL-server moeten plaatsen en via de ODBC-koppeling in Access moeten opnemen.

 

De gebruikersnaam wordt opgeslagen in de in Access ingebouwde variabele CurrentUser. U kunt deze variabele overal in uw programma gebruiken, bijvoorbeeld bij de criteria van een query.

 

U kunt de Beveiliging op gebruikersniveau combineren met het gebruik van een MDE-bestand, zie verderop.

 

Zie ook de Help van Access en in goede handboeken, zoals de Microsoft Office (97/2000/XP) Resource kit, of stel uw vraag op het forum http://office.webforums.nl/.

 

Met programmacode een inlogformulier programmeren

 

U kunt zelf een formulier als startformulier ontwerpen met een inlogvenster. De bevoegdheden regelt u met bijvoorbeeld een tabel tblGebruikers (met de velden Inlognaam, Wachtwoord en Bevoegdheden) en programmacode op formulieren. U kunt op deze manier zelf de bevoegdheden instellen in het programma. In een netwerkomgeving kunt u de inlognaam desgewenst koppelen aan de Windows inlognaam (uit te lezen met de functie Environ("username") of de Novell inlognaam (uit te lezen met de functie Environ("nwusername"). U kunt in de programmacode van formulieren instellen dat het programma automatisch gesloten moet worden, als een onbevoegd gebruiker probeert het formulier te openen.

 

De beveiliging die u hiermee kunt bereiken is veel minder krachtig dan de hiervoor genoemde beveiliging met Machtigingen binnen Access: een deskundige gebruiker kan de beveiliging vaak makkelijk omzeilen. Maar u kunt naast beveiligingsmogelijkheden makkelijker autorisatiemogelijkheden instellen en bijvoorbeeld in de programmacode opnemen dat een onbevoegd gebruiker een melding hierover krijgt. De meeste Access-programma's die op deze site zijn beschreven, zijn op deze manier beveiligd. U kunt ook het programma Inlogmenu downloaden vanaf deze site: dit programma kunt u zelf aanpassen.

 

Werkwijze gebruikerstoegang beperking

 

InlogMenu en de andere programma's op deze site met een inlogvenster hebben op de volgende manier de gebruikerstoegang tot bepaalde formulieren afgeschermd:

In een tabel tblMedewerkers staan de naam, inlognaam, het wachtwoord en het bevoegdhedenprofiel van elk van de personen die in mogen loggen.

In een tabel tblBevoegd wordt een bevoegdhedenprofiel (bijvoorbeeld Gast of Beheerder) vertaald naar een aantal letters. Elke letter staat voor een bepaalde bevoegdheid, bijv. G = Gebruik, B = Beheer. Een bevoegdhedenprofiel met veel rechten heeft veel letters, de Programmabeheerder heeft bijvoorbeeld de letters ABGOFP.

In de module basAlgemeen (deze module heet bij enkele programma's anders) staan enkele functies die de bevoegdheden uitlezen. De belangrijkste functie is fInBevoegd(..). Met deze functie kunt u uitlezen of de ingelogde medewerker wel of niet een bepaalde letter in zijn bevoegdheden heeft staan.

De formulier die beperkte gebruikerstoegang hebben roepen in de Gebeurtenis Bij openen de functie fInBevoegd(..) op. Afhankelijk van de uitkomst van deze functie krijgt de ingelogde gebruiker wel of niet bepaalde rechten voor het formulier.

Zie als voorbeeld het formulier frmAfdeling uit InlogMenu. De gegevens uit dit formulier mogen alleen bewerkt worden als de gebruiker Beheerders-rechten heeft (de letter B in de bevoegdheden):

Private Sub Form_Open(Cancel As Integer)

On Error Resume Next

 

With Me

If fInBevoegd("B") Then

.txtKostenplaats.Locked = False

.txtOpmerking.Locked = False

.txtOmschrijving.Locked = False

.AllowAdditions = True

.AllowDeletions = True

.cmdVerwijder.Visible = True

.cmdNieuw.Visible = True

Else

.txtKostenplaats.Locked = True

.txtOpmerking.Locked = True

.txtOmschrijving.Locked = True

.AllowAdditions = False

.AllowDeletions = False

.cmdVerwijder.Visible = False

.cmdNieuw.Visible = False

End If

End With

txtKostenplaats.SetFocus

DoCmd.FindRecord fMedewerker_kpl(), acAnywhere, , acSearchAll, , acCurrent

End Sub

 

Zie voor de uitleg van AllowAdditions ed. elders op deze site de tekst Wijzigingen en toevoegingen (niet) toestaan.

 

Wilt u snel het hele formulier vergrendelen voor bewerken, dan kunt u de Gegevensbron van het formulier op het type Snapshot (Momentopname) zetten. U kunt dan wel zoek-lijstjes gebruiken, maar niet de bron van het formulier aanpassen. Zie elders op deze site bij Recordset-type aanpassen.

In programmacode foutafhandeling opnemen

 

Het is voor veel gebruikers storend als zij foutmeldingen zien tijdens het gebruik van het programma. U kunt in alle programmacode een foutafhandeling opnemen, waarbij u bij fouten òf geen melding laat zien, òf een voor de gebruiker begrijpelijke melding laat zien. Access maakt standaard een foutafhandeling aan als u programmacode met een Wizard maakt. Als u zelf modules schrijft, dan kunt u deze foutafhandeling zelf in de code opnemen. Zie de handleiding van Access voor de toegestane code.

 

MDE-bestand maken

 

U kunt een Acces MDB-bestand opslaan als een MDE-bestand. Een MDE-bestand is een Acces bestand waarin alle programmacode gecomprimeerd (samengepakt) is en waaruit alle commentaarregels verwijdert zijn. Een MDE-bestand biedt dezelfde functionaliteit als een MDB-bestand, maar u kunt echter geen wijzigingen aanbrengen in de databasestructuur, formulieren, rapporten, macro’s en modules. Een MDE-bestand is dus een veilige manier om gebruikers een programmabestand aan te bieden, omdat gebruikers zelf niets kunnen wijzigen in het programmabestand. U gebruikt een MDE-bestand bijvoorbeeld wanneer u uw programmacode wilt verbergen vanwege auteursrechten, maar ook wanneer u wilt voorkomen dat gebruikers zelf, al dan niet per ongeluk, uw programma veranderen. Een MDE-bestand biedt echter geen bescherming tegen het onbevoegd bekijken en aanpassen van de tabellen en query's.

 

Aandachtspunten bij een MDE-bestand zijn:

U hebt het MDB-bestand later nodig om wijzigingen aan te brengen. Bewaar het MDB-bestand dus op een veilige plek waar (alleen) u als beheerder bij kunt.

Het MDE-bestand mag geen fouten bevatten, test dus het MDB-bestand uitgebreid voordat u er een MDE-bestand van maakt. Zorg voor goede foutafhandeling in de programmacode.

U kunt geen MDE-bestand maken van een MDB-bestand dat op dit moment geopend is door een gebruiker.

Wilt u in Access XP of 2003 een MDE-bestand maken, dan moet u eerst de database converteren naar deze versie, zie Extra > Databasehulpprogramma's > Converteren naar ... Pas daarna kunt u een MDE-bestand maken.

Een MDE-Access 97 bestand werkt alleen in Access 97, niet in Access 2000, XP/2002 of 2003.

Een MDE-Access 2003 bestand werkt niet in Access 2000 of Access XP/2002.

Een MDE-Access XP bestand werkt niet in Access 97 of 2000, wel in Access XP en 2003.

Een MDE-Access 2000 bestand werkt niet in Access 97, wel in Access 2000, XP en 2003.

Bij een MDE-bestand kunnen de gebruikers wél de tabellen en query's bekijken en kunnen deze ook aanpassen. Een MDE-bestand biedt dus geen bescherming tegen inzage en bewerken van de gegevens zelf. U kunt dit ondervangen door bij Extra >> Opstarten alle ongewenste functies (ook bij de knop Geavanceerd) uit te schakelen. Dan kan de gebruiker alleen met de Shift-toets ingedrukt bij het opstarten de database openen om te bewerken. Maar ook het gebruik van de Shift-toets kunt u blokkeren, zie het mini Access programma op het Officeforum bij http://office.webforums.nl/forum/viewtopic.php?t=239.

Hebt u in uw programma een tabel gemaakt met gebruikers en wachtwoorden, dan kan elke gebruiker deze tabel inzien. Het minste wat u moet doen is bij de Eigenschappen van het wachtwoordveld kiezen voor het Invoermasker: Wachtwoord, het wachtwoord is dan niet direct zichtbaar maar wordt getoond met sterretjes. Ook kunt u de tabel zelf onzichtbaar maken (klik met de rechter muisknop op de naam van de tabel en vink het vakje aan bij Eigenschappen > Kenmerken: Verborgen). Een gebruiker met Access-kennis kan deze 'beveiligingen' echter makkelijk omzeilen. Wilt u de wachtwoorden volledig onzichtbaar maken voor onbevoegd gebruikers, dan moet u kiezen voor een ander soort beveiliging.

maakt van een MDB-bestand als volgt een MDE-bestand:

Open het databasevenster van het programmabestand.

Klik op Extra >> Databasehulpprogramma’s > MDE-bestand maken.

Is deze optie grijs (niet actief), dan moet u waarschijnlijk eerst de database converteren naar uw huidige Access-versie, zie Extra > Databasehulpporgramma's > Converteren naar huidige versie / versie ....

Om een MDE-bestand te gebruiken, start u Access en klikt u op Bestand > Openen. Bij Access 97 kiest u bij Bestandstype voor MDE-bestanden. In Access 2000 of hoger worden zowel MDB- als MDE-bestanden direct getoond.

Runtime versie van Access gebruiken

 

U kunt van het Access-programma een runtime versie installeren. Deze versie kunt u op alle pc's gebruiken, ook als u op die pc geen licentie voor Access hebt. In de runtime versie kunt u vervolgens alle Access bestanden openen en gebruiken, maar u kunt de Access-programma's niet op deze pc's bewerken.

 

Om een runtime versie maken hebt u het pakket Microsoft Office Developer nodig. Dit is de uitgebreidste (en dus ook de duurste) versie van Microsoft Office, waarin alle Office-onderdelen (zoals Word, Excel, PowerPoint, Access) in opgenomen zijn plus enkele aanvullende hulpprogramma's voor ontwikkelaars. Een runtime versie van Access heeft dus geen invloed op de beveiliging van uw programma, maar maakt het wel makkelijk om uw programma te distribueren.

 

Bij een Access-programma dat in een runtime versie van Access draait moet de navigatie goed geregeld zijn, omdat de gebruiker niet in het databasevenster kan komen. Verder moet de foutafhandeling perfect zijn, want bij niet afgevangen fouten wordt een runtimefout gemeld en wordt het programma onherroepelijk afgesloten.

 

Pellentesque tristique suscipit

Proin lacus alimae porttior fermentum nanquam dolor aliquet tempor.

 

Proin lacus amet auge portatior fermentum. Nanquam amet dolor aliqueta tempor. Proin perdiet lacus nec posuere portititor magnsa a condimentum rlisust molesatie mattis felis leo eget nulla. Maecenas odi molilis nulla sit ame bibendum nuilla viverra. Lorema ipisum dolor sit amet consecteturi adipiscing elitas. Aenean nunc ligula, placeratam nec feugiati aptent a sociosqu litora torquent.

 

Proin lacus amet auge porttior fermentum nanquam amet dolor aliquet temporam pron perdiet liec posuere porttior magnsa a condimentum rlisus molestie mattis leoeget nullamit. Maecenas odmollis nullasit bibendum nuilla viverra. Lorem ipsum dolorami sit amet consectetur adipiscing elit. Aenean nunc ligula, placerat nec feugiat sit amet, dapibusara a risus. Fusce sed venenatis lacus. Class aptent a sociosqu litora torquent conubia nostra incepattos himenaeos. Phasellus liec posuere porttior magnsa a condimentum rlisus molestie mattisam leoeget nulla. Maecenas odmollis nullasit bibendum nuilla viverra. Lorem ipsum dolor sit ametami consectetur adipiscing elit. Aenean nunc ligula, placerat nec feugiat sit amet, dapibus a risusatt. Fusce sed venenatis suspendisse aenean feugiat consectetuer sit sit magna natoque vitae ridiculus viverrarat nec velit magna tincidunt ut feugat eget commodo maecenas elementum.

Malesuada

Proin lacusat ametauge porttior maganisa amet fermentum.

 

Proin lgacus a portitior fiernmeum nanquam am dolor aliquet tempor. Proin perdiet lacur posuere peorttitor magnsa a condimentumi rli molestie mattis felisleget nulla.

Proin lacusat ametauge porttior maganisa amet fermentum.

 

Proin lgacus a portitior fiernmeum nanquam am dolor aliquet tempor. Proin perdiet lacur posuere peorttitor magnsa a condimentumi rli molestie mattis felisleget nulla.

Proin lacusat ametauge porttior maganisa amet fermentum.

 

Proin lgacus a portitior fiernmeum nanquam am dolor aliquet tempor. Proin perdiet lacur posuere peorttitor magnsa a condimentumi rli molestie mattis felisleget nulla.

Cestibulum

  • Proinlacus
  • Ametauge
  • Porttior
  • Magnsa amet Fermentum
  • Cras suscipit
  • Pulvinar
  • Sellentesque
  • Tempor
  • Vestibulum

Copyright © All Rights Reserved