{"id":55000653,"date":"2009-04-01T00:00:00","date_gmt":"2020-05-22T22:21:37","guid":{"rendered":"http:\/\/access-im-unternehmen.aix-dev.de\/aiu\/?p=653"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-30T00:00:00","slug":"Verschluesselung_und_Komprimieren_im_Backend","status":"publish","type":"post","link":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/","title":{"rendered":"Verschl&uuml;sselung und Komprimieren im Backend"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" src=\"http:\/\/vg02.met.vgwort.de\/na\/017aa74c09064e5c9a229864d9a4c585\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<p><b>Wer seine Datenbank in Front- und Backend aufteilt, m&ouml;chte die im Backend befindlichen Daten m&ouml;glicherweise hin und wieder komprimieren. Vielleicht sollen die Daten im Backend gar durch ein Kennwort gesch&uuml;tzt sein, um unbefugten Zugriff ohne Frontend zu verhindern. Und andere w&uuml;rden gern kennwortgesch&uuml;tzte Backends auch noch automatisch komprimieren. Wie all dies geht, zeigt dieser Beitrag.<\/b><\/p>\n<p>Eine Datenbank ist schnell in Frontend und Backend aufgeteilt. Am einfachsten geht dies mit dem Assistenten zur Datenbankaufteilung (Access 2003 und &auml;lter: <b>Extras|Datenbank-Dienstprogramme|Assistent zur Datenbankaufteilung<\/b>, Access 2007: <b>Daten verschieben|Access-Datenbank<\/b>). Versierte Anwender oder solche mit speziellen Anforderungen an die Aufteilung der Datenbank importieren die Tabellen erst in das zuk&uuml;nftige Backend und l&ouml;schen diese aus dem Frontend, bevor Sie das Frontend mit den Tabellen im Backend verkn&uuml;pfen.<\/p>\n<p>Komprimieren kann man Datenbanken ganz schnell, indem man unter Access 2003 und &auml;lter den Men&uuml;befehl <b>Extras|Datenbank-Dienstprogramme|Datenbank komprimieren und reparieren <\/b>und unter Access 2007 den Office-Men&uuml;-Eintrag <b>Verwalten|Datenbank komprimieren und reparieren <\/b>aufruft (ganz fr&uuml;her waren die Funktionen <b>Komprimieren <\/b>und <b>Reparieren <\/b>noch separat verf&uuml;gbar). Das Komprimieren sorgt im Wesentlichen daf&uuml;r, dass erstellte und wieder gel&ouml;schte Daten auch endg&uuml;ltig aus der Datenbankdatei entfernt, sowie Indizes intern neu sortiert werden.<\/p>\n<p>Eine Datenbank sch&uuml;tzen Sie mit einem Kennwort, indem Sie unter <b>Extras|Sicherheit|Datenbankkennwort festlegen&#8230; <\/b>(Access 2003 und &auml;lter) oder <b>Datenbanktools|Datenbanktools|Mit Kennwort verschl&uuml;sseln <\/b>(Access 2007) den Dialog zum Eingeben eines Datenbankkennworts verwenden.<\/p>\n<p><b>Backend mit Kennwort ausstatten<\/b><\/p>\n<p>Kombiniert wird das schwieriger, aber nur ein wenig: Wenn Sie das Backend einer Datenbankkombination mit einem Kennwort sch&uuml;tzen m&ouml;chten, um den Inhalt seiner Tabellen vor den Augen Neugieriger zu verbergen, k&ouml;nnen Sie dies wie gewohnt erledigen.<\/p>\n<p>Wenn Sie das n&auml;chste Mal vom Frontend aus auf die verkn&uuml;pften Tabellen zugreifen m&ouml;chten, misslingt dies allerdings. Access meldet dann ganz lapidar: <b>Kein g&uuml;ltiges Kennwort<\/b>. Aha, kein g&uuml;ltiges Kennwort. Eigentlich gab es ja gar keine Gelegenheit, eines einzugeben &#8211; zumindest keine offensichtliche. Dies fand implizit im Hintergrund statt: Wenn beim Versuch, auf eine verkn&uuml;pfte Tabelle eines verschl&uuml;sselten Backends zuzugreifen, kein Kennwort &uuml;bergeben wird, dann wird halt ein leeres Kennwort angenommen.<\/p>\n<p>Immerhin l&auml;sst sich die Verkn&uuml;pfung l&ouml;schen und neu anlegen. Dann erscheint auch der Dialog aus Bild 1 und fragt das Kennwort ab. Gibt man hier die richtige Zeichenfolge ein, verkn&uuml;pft Access die Tabelle ordnungsgem&auml;&szlig; &#8211; allerdings mit einem kleinen Unterschied gegen&uuml;ber der Verkn&uuml;pfung mit einer Tabelle aus einem ungesch&uuml;tzten Backend. Den Unterschied sehen Sie, wenn Sie die Systemtabelle <b>MSysObjects <\/b>&ouml;ffnen (vorher m&uuml;ssen Sie diese sichtbar machen, das geschieht unter Access 2003 und &auml;lter im <b>Optionen<\/b>-Dialog mit der Option <b>Systemobjekte <\/b>im Bereich <b>Ansicht|Anzeigen<\/b>, unter Access 2007 im Dialog <b>Navigationsoptionen<\/b>, den Sie &uuml;ber das Kontextmen&uuml; der Titelleiste des Navigationsbereichs erreichen).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BackendsKomprimierenUndVerschluesseln-web-images\/pic001_opt.jpeg\" alt=\"pic001.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 1: Dialog beim Verkn&uuml;pfen mit einer Tabelle einer anderen Datenbank<\/span><\/b><\/p>\n<p>F&uuml;r eine verkn&uuml;pfte Tabelle aus einer kennwortgesch&uuml;tzten Datenbank finden Sie in der Spalte <b>Connect<\/b> einen Eintrag vor, der das Kennwort im Klartext preisgibt &#8211; keine gute Sicherung, wenn der Benutzer Vollzugriff auf das Frontend hat (siehe Bild 2). Dieser Abwehrmechanismus greift also h&ouml;chstens, wenn der Benutzer nicht wei&szlig;, wo er solche Informationen findet. Davon abgesehen ist es aber auch egal: Wenn Sie ein Backend per Kennwort sch&uuml;tzen und mit einem Frontend darauf zugreifen, kann der Benutzer dar&uuml;ber ja auch auf die Daten im Backend zugreifen &#8211; au&szlig;er Sie verhindern den Zugriff auf das Datenbankfenster (was aber nicht Thema dieses Beitrags sein soll).<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BackendsKomprimierenUndVerschluesseln-web-images\/pic002_opt.jpeg\" alt=\"pic002.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 2: Das Kennwort des Backends wird in der Systemtabelle MSysObjects unverschl&uuml;sselt angezeigt.<\/span><\/b><\/p>\n<p><b>Tabelle aus kennwortgesch&uuml;tztem Backend wieder einbinden<\/b><\/p>\n<p>Wenn Sie die Verkn&uuml;pfung zu einer Tabelle aus einem kennwortgesch&uuml;tzten Backend aktualisieren m&ouml;chten, verwenden Sie die Routine aus Listing 1. Der Unterschied zur herk&ouml;mmlichen Vorgehensweise ist, dass die Connect-Zeichenfolge den zus&auml;tzlichen Parameter <b>pwd <\/b>mit dem entsprechenden Kennwort enth&auml;lt.<\/p>\n<p class=\"kastentabelleheader\">Listing 1: Verkn&uuml;pfung kennwortgesch&uuml;tzter Tabellen<\/p>\n<pre>Public Sub VerknuepfteTabellenWiedereinbinden()\r\nDim db As DAO.Database\r\nDim tdf As DAO.TableDef\r\nDim strBackend As String\r\nSet db = CurrentDb\r\nstrBackend = CurrentProject.Path &amp; &quot;\\Backend.accdb&quot;\r\nFor Each tdf In CurrentDb.TableDefs\r\n With tdf\r\n    If .Connect &lt;&gt; &quot;&quot; Then\r\n        .Connect = &quot;;database=&quot; &amp; strBackend &amp; &quot;;pwd=ami&quot;\r\n        .RefreshLink\r\n    End If\r\n    End With\r\nNext\r\nEnd Sub<\/pre>\n<p><!--30percent--><\/p>\n<p>Wenn die Routine ein falsches Kennwort verwendet, l&ouml;st dies Fehler <b>3031<\/b>, <b>Kein zul&auml;ssiges Kennwort, <\/b>aus.<\/p>\n<p><b>Backend per VBA komprimieren und reparieren<\/b><\/p>\n<p>Wer eine einzige Datenbank verwendet, die Benutzeroberfl&auml;che und Tabellen enth&auml;lt, braucht sich um das Komprimieren keine Sorgen zu machen: Er aktiviert einfach die Option <b>Beim Schlie&szlig;en komprimieren<\/b>, die unter Access 2003 und &auml;lter im Bereich <b>Allgemein <\/b>des Optionen-Dialogs und unter Access 2007 in den Access-Optionen unter <b>Aktuelle Datenbank|Anwendungsoptionen <\/b>zu finden ist.<\/p>\n<p>Beim Betrieb einer Frontend-\/Backend-L&ouml;sung ist das schon schwieriger: Sie k&ouml;nnen zwar f&uuml;r beide Teile separat die Option zum automatischen Komprimieren einstellen, helfen wird dies aber nur im Frontend.<\/p>\n<p>Das Backend wird nicht wie eine herk&ouml;mmliche Datenbank ge&ouml;ffnet, sondern das Frontend greift nur per Jet auf seine Daten zu (wenn dies geschieht, erkennen Sie das an der im gleichen Verzeichnis wie die Datenbank liegenden .<b>ldb<\/b>&#8211; beziehungsweise .<b>laccdb<\/b>-Datei &#8211; diese Dateien enthalten Informationen &uuml;ber die Rechner und Benutzernamen der aktuell zugreifenden Instanzen).<\/p>\n<p>Wer das Backend hin und wieder komprimieren muss, kann prinzipiell auf drei Arten vorgehen: Entweder per VBA vom Frontend aus, per VBScript, das durch den Taskplaner von Windows aus aufgerufen wird, oder von Hand.<\/p>\n<p>Der Code f&uuml;r den Aufruf aus einer Access-Datenbank sieht aus wie in Listing 2. Die Routine liest zun&auml;chst aus der Systemtabelle <b>MSysObjects <\/b>den Pfad einer der verkn&uuml;pften Tabellen aus und speichert diesen in der Variablen <b>strBackend<\/b>. Nach einer Pr&uuml;fung, ob die ermittelte Datei &uuml;berhaupt vorhanden ist, schreibt die Routine den Pfad, die Dateiendung und den Namen f&uuml;r eine tempor&auml;re komprimierte Version der Datenbank in entsprechende Variablen. Dann f&uuml;hrt die Methode <b>CompactDatabase <\/b>des <b>DBEngine<\/b>-Objekts die Komprimierung aus, indem sie die komprimierte Version der Datenbank unter dem zuvor ermittelten Namen speichert.<\/p>\n<p class=\"kastentabelleheader\">Listing 3: Schematische Darstellung des geplanten Shutdown<\/p>\n<pre>Dim i As Integer\r\nConst cIntSecondsToShutdown As Integer = 60\r\nPrivate Sub Form_Timer()\r\n    Dim strBackend As String\r\n    Dim strBackendPfad As String\r\n    strBackend = DLookup(&quot;Database&quot;, &quot;MSysObjects&quot;, &quot;Name=&apos;tblTest&apos;&quot;)\r\n    strBackendPfad = Mid(strBackend, 1, InStrRev(strBackend, &quot;\\&quot;))\r\n    If Len(Dir(strBackendpfad &amp; &quot;Shutdown.txt&quot;)) = 0 Then\r\n        Me.TimerInterval = 1000\r\n        i = i + 1\r\n        SysCmd acSysCmdSetStatus, &quot;Shutdown in &quot; &amp; cIntSecondsToShutdown - i &amp; &quot; Sekunden.&quot;\r\n        If i = cIntSecondsToShutdown Then\r\n            MsgBox &quot;Aus!&quot;\r\n        End If\r\n    End If\r\n    End Sub<\/pre>\n<p>Die alte Version wird unter einem Dateinamen im Format <b>&lt;AlterDateiname&gt;_Old_&lt;yyyymmdd_hhnnss&gt;.&lt;Dateiendung&gt; <\/b>abgelegt und die tempor&auml;r erstellte komprimierte Version erh&auml;lt den alten Namen der komprimierten Datenbankdatei.<\/p>\n<p>Beim Ausf&uuml;hren dieser Prozedur kann es zum Fehler aus Bild 3 kommen, wenn das aktuelle oder ein anderes Frontend auf die Tabellen des Backends zugreift.<\/p>\n<p><img decoding=\"async\" src=\"..\/fileadmin\/_temp_\/2009_02\/BackendsKomprimierenUndVerschluesseln-web-images\/pic003_opt.jpeg\" alt=\"pic003.png\" \/><\/p>\n<p><b><span style=\"color:darkgrey\">Bild 3: Dieser Fehler tritt auf, wenn man versucht, ein Backend w&auml;hrend des Zugriffs per VBA-Code zu komprimieren.<\/span><\/b><\/p>\n<p>Sie m&uuml;ssen also etwas unternehmen, um alle aktuell auf das Backend zugreifenden Frontends zu schlie&szlig;en &#8211; oder Sie f&uuml;hren eine Komprimierung gleich zu einem Zeitpunkt aus, an dem man sicher sein kann, dass kein Benutzer auf das Backend zugreift, zum Beispiel nachts. Nat&uuml;rlich kann es bei mehreren Mitarbeitern passieren, dass mal einer vergisst, den Rechner herunterzufahren und die Datenbank zu schlie&szlig;en, die auf das betroffene Backend zugreift &#8211; aber wenn das t&auml;gliche Komprimieren der Daten so wichtig ist, weil etwa sehr eng am Limit von zwei Gigabyte gearbeitet wird, sollte man ohnehin eine Alternative ins Auge fassen.<\/p>\n<p><b>Frontends automatisch schlie&szlig;en<\/b><\/p>\n<p>Wenn Sie sich entschlie&szlig;en, das Backend zu komprimieren (oder auch zu sichern), w&auml;hrend m&ouml;glicherweise noch Mitarbeiter darauf zugreifen, k&ouml;nnen Sie zu einer recht eleganten L&ouml;sung greifen (Idee aus <b>http:\/\/support.microsoft.com\/kb\/304408\/en-us<\/b>). Diese geht davon aus, dass die Frontends ein offenes Formular verwenden (das zum Beispiel direkt beim Starten der Anwendung ge&ouml;ffnet und unsichtbar geschaltet werden kann), das &uuml;ber das <b>Bei Zeitgeber<\/b>-Ereignis in regelm&auml;&szlig;igen Abst&auml;nden pr&uuml;ft, ob eine bestimmte Datei im Verzeichnis des Backends liegt. Falls nicht, schl&auml;gt dieses Formular Alarm und zeigt eine Meldung an, dass in kurzer Zeit eine Komprimierung oder Sicherung des Backends ansteht und die Frontends geschlossen werden sollen. Geschieht dies nicht, werden die Frontends automatisch beendet.<\/p>\n<p>Die Datei, deren Vorhandensein die <b>Timer<\/b>-Prozedur pr&uuml;ft, wird nat&uuml;rlich von der Instanz, welche die Komprimierung oder Sicherung anst&ouml;&szlig;t, entfernt und nach der Komprimierung wieder erzeugt, damit die Datenbanken wieder wie gewohnt arbeiten.<\/p>\n<p>Die Routine zum Pr&uuml;fen der Datei sieht wie in Listing 3 aus. Damit diese beim &Ouml;ffnen eines Formulars namens <b>frmShutdown <\/b>alle zehn Sekunden ausgef&uuml;hrt wird, stellen Sie die Eigenschaft <b>Zeitgeberintervall <\/b>auf <b>10.000 <\/b>ein &#8211; die Eigenschaft erwartet ihren Wert in Millisekunden.<\/p>\n<p>Die Routine pr&uuml;ft also nun alle zehn Sekunden, ob die Datei <b>Shutdown.txt <\/b>noch im Verzeichnis des Backends liegt. Ist das nicht der Fall, stellt die Routine das <b>TimerInterval <\/b>auf eine Sekunde um und zeigt jede Sekunde die neue verbleibende Zeit bis zum Shutdown in der Statusleiste der Anwendung an (normalerweise w&uuml;rden Sie ein auff&auml;lliges Formular f&uuml;r diesen Zweck verwenden, wie Sie es etwa im Beitrag <b>Transparenz und sonstige Effekte<\/b>, Shortlink 655, vorfinden).<\/p>\n<p>Das Formular <b>frmShutdown <\/b>muss beim &Ouml;ffnen der Anwendung ebenfalls ge&ouml;ffnet werden (entweder per <b>AutoExec<\/b>-Makro oder als Startformular beziehungsweise im Zuge des &Ouml;ffnens eines Startformulars). Damit das Formular gar nicht erst sichtbar wird, verwenden Sie dazu den folgenden Aufruf:<\/p>\n<pre>DoCmd.OpenForm &quot;frmShutdown&quot;, WindowMode:=acHidden<\/pre>\n<p>Um die Datenbank in der Routine aus Listing 3 tats&auml;chlich zu schlie&szlig;en, verwenden Sie statt des <b>MsgBox<\/b>-Aufruf diese Anweisung:<\/p>\n<pre>DoCmd.Quit<\/pre>\n<p><b>Backend beim Schlie&szlig;en des letzten Frontends komprimieren<\/b><\/p>\n<p>Wenn man nicht gerade im Schichtdienst an dem zu komprimierenden Backend arbeitet, kann man es vielleicht auch so einrichten, dass das Frontend beim Schlie&szlig;en pr&uuml;ft, ob es das letzte Frontend ist, das auf die Backend-Datenbank zugreift, und dieses schlie&szlig;lich per Code komprimiert.<\/p>\n<p>Dazu m&uuml;ssen Sie ebenfalls ein Formular unsichtbar beim Start des Frontends &ouml;ffnen, das lediglich ein Ereignis enth&auml;lt. Dieses hei&szlig;t <b>Beim Entladen <\/b>und pr&uuml;ft, ob sich das Backend noch im Zugriff befindet. Falls nicht, f&uuml;hrt es direkt im Anschluss die Komprimierung durch.<\/p>\n<p>Genaugenommen ist die Geschichte mit dem unsichtbaren Formular und dem Entladen-Ereignis eine M&ouml;glichkeit, das Beenden von Access mitzubekommen und notwendige Aktionen durchzuf&uuml;hren &#8211; genau richtig f&uuml;r unsere Zwecke.<\/p>\n<p>Es ergibt sich nur ein Problem: Wie erkennen wir, ob das Backend auch tats&auml;chlich nicht mehr in Benutzung ist Nun: Wenn das Backend noch in Beschlag ist, dann gibt es auch eine offene <b>.ldb<\/b>&#8211; beziehungsweise <b>.laccdb<\/b>-Datei.<\/p>\n<p>Wenn Sie das aktuelle Datenbankfrontend schlie&szlig;en und in einem speziell daf&uuml;r vorgesehenen Formular pr&uuml;fen wollen, ob das Backend frei ist, m&uuml;ssen Sie nat&uuml;rlich auch in der aktuellen Datenbank die notwendigen Voraussetzungen schaffen, indem Sie alle Formulare und sonstige Elemente schlie&szlig;en, die an die Tabellen des Backends gebunden sein k&ouml;nnten.<\/p>\n<p>Danach sollte man gegebenenfalls noch eine Sekunde einplanen, die f&uuml;r das L&ouml;schen der <b>.ldb<\/b>-\/<b>.accdb<\/b>-Datei n&ouml;tig ist und schlie&szlig;lich den geplanten Komprimiervorgang aufrufen.<\/p>\n<p>Die folgende Routine wird beim Endladen des Formulars ausgel&ouml;st und schlie&szlig;t erst alle anderen Formulare, bevor es zwei Sekunden wartet und dann, sofern das Backend geschlossen ist, die Komprimierung durchf&uuml;hrt (s. Beispieldatenbank <b>Frontend_CheckBeforeShutdown.mdb<\/b>):<\/p>\n<pre>Private Sub Form_Unload(Cancel As Integer)\r\n    Dim strForm As String\r\n    Do While Forms.Count &gt; 1\r\n        If Forms(0).Name = Me.Name Then\r\n            DoCmd.Close acForm, Forms(1)\r\n        Else\r\n            DoCmd.Close acForm, Forms(0)\r\n        End If\r\n    Loop\r\n    Sleep 2000\r\n    If Len(Dir(CurrentProject.Path _\r\n    &amp; &quot;\\Backend.laccdb&quot;)) = 0 Then\r\n    BackendKomprimieren\r\nEnd If\r\nEnd Sub<\/pre>\n<p class=\"kastentabelleheader\">Listing 2: Komprimieren verkn&uuml;pfter und gegebenenfalls kennwortgesch&uuml;tzter Tabellen<\/p>\n<pre>Public Function BackendKomprimieren() As Boolean\r\nDim strBackend As String\r\nDim strBackendPfad As String\r\nDim strBackendTemp As String\r\nDim strBackendEndung As String\r\nstrBackend = DLookup(&quot;Database&quot;, &quot;MSysObjects&quot;, &quot;Name = &apos;tblTest&apos;&quot;)\r\nIf Not Len(Dir(strBackend)) = 0 Then\r\n strBackendPfad = Mid(strBackend, 1, InStrRev(strBackend, &quot;\\&quot;))\r\n    strBackendEndung = Mid(strBackend, InStrRev(strBackend, &quot;.&quot;))\r\n    strBackendTemp = strBackendPfad &amp; &quot;BackendTemp_&quot; &amp; Format(Now, &quot;yyyymmdd_hhnnss&quot;) _\r\n    &amp; strBackendEndung\r\n    &apos;Ohne Kennwortschutz:\r\n    DBEngine.CompactDatabase strBackend, strBackendTemp\r\n    &apos;Mit Kennwortschutz:\r\n    &apos;DBEngine.CompactDatabase strBackend, strBackendTemp , , , &quot;;pwd=ami&quot;\r\n    Name strBackend As strBackend &amp; &quot;_Old_&quot; &amp; Format(Now, &quot;yyyymmdd_hhnnss&quot;) &amp; strBackendEndung\r\n    Name strBackendTemp As strBackend\r\nEnd If\r\nEnd Function<\/pre>\n<h3>Downloads zu diesem Beitrag<\/h3>\n<p>Enthaltene Beispieldateien:<\/p>\n<p>Frontend_CheckBeforeShutdown.mdb<\/p>\n<p>Frontend_CheckBeforeShutdown.mdb<\/p>\n<p>Frontend_CheckBeforeShutdown.mdb<\/p>\n<p>Frontend_CheckBeforeShutdown.mdb<\/p>\n<p><a href=\"..\/fileadmin\/beispiele\/{BEBB6F39-5984-42A5-82A6-45DAA43F1965}\/aiu_653.zip\">Download<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wer seine Datenbank in Front- und Backend aufteilt, m&ouml;chte die im Backend befindlichen Daten m&ouml;glicherweise hin und wieder komprimieren. Vielleicht sollen die Daten im Backend gar durch ein Kennwort gesch&uuml;tzt sein, um unbefugten Zugriff ohne Frontend zu verhindern. Und noch andere w&uuml;rden gern kennwortgesch&uuml;tzte Backends auch noch automatisch komprimieren. Wie all dies geht, zeigt dieser Beitrag.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[66022009,662009,44000038],"tags":[],"class_list":["post-55000653","post","type-post","status-publish","format-standard","hentry","category-66022009","category-662009","category-Sicherheit"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.9 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Verschl&uuml;sselung und Komprimieren im Backend - Access im Unternehmen<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Verschl&uuml;sselung und Komprimieren im Backend\" \/>\n<meta property=\"og:description\" content=\"Wer seine Datenbank in Front- und Backend aufteilt, m&ouml;chte die im Backend befindlichen Daten m&ouml;glicherweise hin und wieder komprimieren. Vielleicht sollen die Daten im Backend gar durch ein Kennwort gesch&uuml;tzt sein, um unbefugten Zugriff ohne Frontend zu verhindern. Und noch andere w&uuml;rden gern kennwortgesch&uuml;tzte Backends auch noch automatisch komprimieren. Wie all dies geht, zeigt dieser Beitrag.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/\" \/>\n<meta property=\"og:site_name\" content=\"Access im Unternehmen\" \/>\n<meta property=\"article:published_time\" content=\"2020-05-22T22:21:37+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/vg02.met.vgwort.de\/na\/017aa74c09064e5c9a229864d9a4c585\" \/>\n<meta name=\"author\" content=\"Andr\u00e9 Minhorst\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Verfasst von\" \/>\n\t<meta name=\"twitter:data1\" content=\"Andr\u00e9 Minhorst\" \/>\n\t<meta name=\"twitter:label2\" content=\"Gesch\u00e4tzte Lesezeit\" \/>\n\t<meta name=\"twitter:data2\" content=\"11\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/\"},\"author\":{\"name\":\"Andr\u00e9 Minhorst\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\"},\"headline\":\"Verschl&uuml;sselung und Komprimieren im Backend\",\"datePublished\":\"2020-05-22T22:21:37+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/\"},\"wordCount\":1939,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/017aa74c09064e5c9a229864d9a4c585\",\"articleSection\":[\"2\\\/2009\",\"2009\",\"Sicherheit\"],\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/\",\"name\":\"Verschl&uuml;sselung und Komprimieren im Backend - Access im Unternehmen\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#primaryimage\"},\"thumbnailUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/017aa74c09064e5c9a229864d9a4c585\",\"datePublished\":\"2020-05-22T22:21:37+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#primaryimage\",\"url\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/017aa74c09064e5c9a229864d9a4c585\",\"contentUrl\":\"http:\\\/\\\/vg02.met.vgwort.de\\\/na\\\/017aa74c09064e5c9a229864d9a4c585\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/Verschluesselung_und_Komprimieren_im_Backend\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Verschl&uuml;sselung und Komprimieren im Backend\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#website\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"name\":\"Access im Unternehmen\",\"description\":\"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access\",\"publisher\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/access-im-unternehmen.de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#organization\",\"name\":\"Andr\u00e9 Minhorst Verlag\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"contentUrl\":\"https:\\\/\\\/access-im-unternehmen.de\\\/wp-content\\\/uploads\\\/2019\\\/09\\\/aiu_wp.png\",\"width\":370,\"height\":111,\"caption\":\"Andr\u00e9 Minhorst Verlag\"},\"image\":{\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/access-im-unternehmen.de\\\/#\\\/schema\\\/person\\\/13395c4bcd7d7963efe33be9c584d93f\",\"name\":\"Andr\u00e9 Minhorst\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g\",\"caption\":\"Andr\u00e9 Minhorst\"}}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Verschl&uuml;sselung und Komprimieren im Backend - Access im Unternehmen","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/","og_locale":"de_DE","og_type":"article","og_title":"Verschl&uuml;sselung und Komprimieren im Backend","og_description":"Wer seine Datenbank in Front- und Backend aufteilt, m&ouml;chte die im Backend befindlichen Daten m&ouml;glicherweise hin und wieder komprimieren. Vielleicht sollen die Daten im Backend gar durch ein Kennwort gesch&uuml;tzt sein, um unbefugten Zugriff ohne Frontend zu verhindern. Und noch andere w&uuml;rden gern kennwortgesch&uuml;tzte Backends auch noch automatisch komprimieren. Wie all dies geht, zeigt dieser Beitrag.","og_url":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/","og_site_name":"Access im Unternehmen","article_published_time":"2020-05-22T22:21:37+00:00","og_image":[{"url":"http:\/\/vg02.met.vgwort.de\/na\/017aa74c09064e5c9a229864d9a4c585","type":"","width":"","height":""}],"author":"Andr\u00e9 Minhorst","twitter_card":"summary_large_image","twitter_misc":{"Verfasst von":"Andr\u00e9 Minhorst","Gesch\u00e4tzte Lesezeit":"11\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#article","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/"},"author":{"name":"Andr\u00e9 Minhorst","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f"},"headline":"Verschl&uuml;sselung und Komprimieren im Backend","datePublished":"2020-05-22T22:21:37+00:00","mainEntityOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/"},"wordCount":1939,"commentCount":0,"publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/017aa74c09064e5c9a229864d9a4c585","articleSection":["2\/2009","2009","Sicherheit"],"inLanguage":"de","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/","url":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/","name":"Verschl&uuml;sselung und Komprimieren im Backend - Access im Unternehmen","isPartOf":{"@id":"https:\/\/access-im-unternehmen.de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#primaryimage"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#primaryimage"},"thumbnailUrl":"http:\/\/vg02.met.vgwort.de\/na\/017aa74c09064e5c9a229864d9a4c585","datePublished":"2020-05-22T22:21:37+00:00","breadcrumb":{"@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#primaryimage","url":"http:\/\/vg02.met.vgwort.de\/na\/017aa74c09064e5c9a229864d9a4c585","contentUrl":"http:\/\/vg02.met.vgwort.de\/na\/017aa74c09064e5c9a229864d9a4c585"},{"@type":"BreadcrumbList","@id":"https:\/\/access-im-unternehmen.de\/Verschluesselung_und_Komprimieren_im_Backend\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/access-im-unternehmen.de\/"},{"@type":"ListItem","position":2,"name":"Verschl&uuml;sselung und Komprimieren im Backend"}]},{"@type":"WebSite","@id":"https:\/\/access-im-unternehmen.de\/#website","url":"https:\/\/access-im-unternehmen.de\/","name":"Access im Unternehmen","description":"Das Magazin f\u00fcr Datenbankentwickler auf Basis von Microsoft Access","publisher":{"@id":"https:\/\/access-im-unternehmen.de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/access-im-unternehmen.de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/access-im-unternehmen.de\/#organization","name":"Andr\u00e9 Minhorst Verlag","url":"https:\/\/access-im-unternehmen.de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/","url":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","contentUrl":"https:\/\/access-im-unternehmen.de\/wp-content\/uploads\/2019\/09\/aiu_wp.png","width":370,"height":111,"caption":"Andr\u00e9 Minhorst Verlag"},"image":{"@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/access-im-unternehmen.de\/#\/schema\/person\/13395c4bcd7d7963efe33be9c584d93f","name":"Andr\u00e9 Minhorst","image":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1b9d010cf1716692cb9c34f21554e07d17d461acaea5b61b8cb21cbec678d48a?s=96&d=mm&r=g","caption":"Andr\u00e9 Minhorst"}}]}},"_links":{"self":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/comments?post=55000653"}],"version-history":[{"count":0,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/posts\/55000653\/revisions"}],"wp:attachment":[{"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/media?parent=55000653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/categories?post=55000653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/access-im-unternehmen.de\/data\/wp\/v2\/tags?post=55000653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}