PDA

Vollständige Version anzeigen : Laufzeitbegrenzung einer DB


Schneider ZF
10.05.2011, 15:00
Hallo Access-Gemeinde,

gibt es eine Möglichkeit in einer DB ,z.B. ein Makro zu hinterlegen, das die DB sich nur für einen bestimmten Zeitraum öffenen lässt? Nicht Uhrzeit begrenzt, sondern sich nur bis zu einem definierten Datum öffnen lässt.
Um die DB wieder öffnen zu können, sollte dann über ein Paßwort oder verstecktes Markro etc. gehen.

Gruß und Danke
Schneider ZF

Thomas Möller
10.05.2011, 17:45
Hallo!

gibt es eine Möglichkeit in einer DB ,z.B. ein Makro zu hinterlegen, das die DB sich nur für einen bestimmten Zeitraum öffenen lässt? Nicht Uhrzeit begrenzt, sondern sich nur bis zu einem definierten Datum öffnen lässt.
Um die DB wieder öffnen zu können, sollte dann über ein Paßwort oder verstecktes Markro etc. gehen.

Eine einfache und gleichzeitig sichere Methode gibt es leider nicht. Du musst Dich an dieser Stelle entscheiden, wie wichtig es Dir ist, dass niemand nach Ablauf der Frist mit Deiner Datenbank arbeiten kann und dann mehr oder weniger aufwändige Verfahren zum Schutz Deiner Anwendung einbauen.

Ein einfacher Weg kann sein, dass Du in einer Tabelle das Ablaufdatum speicherst. Ein anderer Weg könnte sein, im Dateisystem eine Textdatei mit dem Ablaufdatum zu verstecken. Du könntest diese Information auch in die Registry scheiben.
Dir fallen jetzt nach diesen Anregungen sicher auch noch ein paar Möglichkeiten ein. Wichtig dabei ist, dass jede der Möglichkeiten umgangen werden kann. Im ersten Fall reicht es z.B. die Datenbank neu herunterzuladen und schon beginnt die Frist von neuem. Auch die Datei mit dem Ablaufdatum oder der RegistryKey mit dieser Information kann gelöscht oder manipuliert werden.

Fazit: Je größer Dein Interesse ist, die Datenbank vor unerlaubter Weiternutzung zu schützen desto höher wird der Aufwand, dies zu implementieren.

CU

sw-blitz007
10.05.2011, 21:46
Hallole Schneider ZF,

in Ergänzung zum Vorschlag von Thomas, stelle ich meinen Interessenten
immer eine "eingeschränkte" Vollversion (natürlich als mde o.ä.) zur Verfügung,
welche über eine Restriktion verfügt: bspw. können nur 10 Kunden erfasst werden
oder es können nur 5 Artikel angelegt werden etc.
Durch eine BE/FE-Lösung kann dann das "eingeschränkte" FE (nach Einwurf
von Münzen :p ) durch eine Vollversion getauscht werden und die erfassten
Daten gehen nicht verloren.

Lanz Rudolf
11.05.2011, 07:51
Hallo
so wie ich mich erinnere hatte doch TommyK eine solche
Demo Lösung
suche einmal bei TommyK hier:
http://www.tksoft-online.de/


glaube das ding hat "tk_Lizenz00" geheisen
evtl findest Du es sonst habe ich irgendwo noch eine Kopie

Atrus2711
11.05.2011, 08:37
Hi,

eine echte Zeitbegrenzung wird recht aufwendig. Aber du könntest versuchen, die "Demo-DB" durch einige Schikanen uninteressant für den Dauergebrauch zu machen, ohne die Testnutzung zu sehr einzugrenzen.

Beispielsweise könnte die Testversion

nur max 10 Kunden zulassen
nur Kunden zulassen, deren Nachname mit A-E beginnt
auf relevanten Dokumenten (Rechnungen etc) einen missliebigen Aufdruck erzeugen ("unlizensierte Testversion")
strenger: bei jedem Start "zuhause anrufen" (z.B. eine einprogrammierte GUID auf Webserver hochladen) und nach dem z.B. hundertsten Start den Dienst verweigern

Wolfgang Biedermann
11.05.2011, 12:05
Hallo,

gibt es eine Möglichkeit in einer DB ,z.B. ein Makro zu hinterlegen, das die DB sich nur für einen bestimmten Zeitraum öffenen lässt? Nicht Uhrzeit begrenzt, sondern sich nur bis zu einem definierten Datum öffnen lässt.
Um die DB wieder öffnen zu können, sollte dann über ein Paßwort oder verstecktes Markro etc. gehen.

Wie schon meine "Vorredner" gesagt haben, gibt es bestimmt immer eine Lösung, eine Laufzeitbegrenzung irgendwie zu umgehen (kommt wohl immer auf den "Wissenstand" und das Interesse am "Knacken" an...).

Ich habe "begrenzt wissende user" und daher genau das gleiche, wie Du es jetzt vorhast, mal mit einem sich nach bestimmter Zeit öffnenden Formular gemacht, in das ein "Codewort" eingegeben werden musste.

Danach konnte die DB wieder für einen gewissen Zeitraum genutzt werden, nach Ablauf erscheint das Formular wieder, Codeeingabe erneut erforderlich.

Das sah dann so aus (Funktion "after update" in einem Textfeld)


'------------------------------------------------------------
' smile
'
'------------------------------------------------------------
Function smile()
On Error GoTo smile_Err

DoCmd.Maximize
Forms!kundendaten!Text29 = Forms!kundendaten!Text31
DoCmd.GoToControl "text29"
If (Forms!kundendaten!Text29 = "Codewort") Then
Forms!kundendaten!datum = Date + 60
End If
If (Forms!kundendaten!Text29 = "Codewort") Then
MsgBox "BITTE BEACHTEN SIE: Verwahren Sie diesen Code auf. Zu Ihrer Sicherheit wird der Code laufend abgefragt. Es erscheint in unregelmäßigen Abständen diese Maske, in die Sie den Code dann eingeben müssen!", vbInformation, "Hinweis"
End If
If (Forms!kundendaten!Text29 = "Codewort") Then
DoCmd.Close , ""
End If


smile_Exit:
Exit Function

smile_Err:
MsgBox Error$
Resume smile_Exit

End Function


Gruß
:) Wolfgang

Lanz Rudolf
11.05.2011, 14:01
Hallo
ich habe noch was gefunden
vor 5-6 jahren geschrieben.
da kann man die MDB 25 mal öffnen Danach muss mann wenn man es auf einen Neuen Pc
instaliert wider einen Neuen Freischalte-code haben

falls das Dich interesiert melde Dich,
dann Lade ich das irgendwo hoch