Sicherheit der Verbindung

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004.2 (Geändert)


Die Sicherheit Ihres 4D Web Servers beruht auf folgenden Elementen:

Kombination der Optionen für das Web Kennwort in den Einstellungen der Datenbank und der Datenbankmethode On Web Authentication,

Definition eines allgemeinen Web-Anwenders,

Definition eines Ordners Standard HTML Root,

Definition der Eigenschaft "Zugang per 4DACTION, 4DMETHOD, 4DSCRIPT" für jede Projektmethode der Datenbank.

Hinweis: Die Sicherheit der Verbindung selbst lässt sich über das SSL Protokoll steuern. Weitere Informationen dazu finden Sie im Abschnitt SSL Protokoll.

Kennwort-Verwaltungssystem für Web Zugriff


Im Dialogfenster Einstellungen der Datenbank legen Sie fest, welche Zugriffsoptionen für Ihren Web Server gelten sollen. Wählen Sie dazu in den Einstellungen der Datenbank unter dem Thema Web die Seite Erweitert:

Im Bereich "Web Kennwörter" gibt es die Optionen Benutze Kennwörter und Verwende 4D Kennwörter. Das zweite Kontrollkästchen ist nur aktiv, wenn das erste angekreuzt wurde.

Benutze Kennwörter aktiviert das Kennwortsystem des Web Servers. Für jede Verbindung erscheint ein Dialogfenster auf dem Browser, so dass der Benutzer seinen Namen und Kennwort eingeben kann. Diese beiden Werte sowie die Verbindungsparameter (IP Adresse und Port, URL...) werden an die Datenbankmethode On Web Authentication gesendet, die nun ablaufen kann.

Hinweis: Gibt es hier die Datenbankmethode On Web Authentication nicht, wird die Verbindung zurückgewiesen.

Verwende 4D Kennwörter stellt an Stelle oder zusätzlich zu Ihrem eigenen Kennwortsystem das Kennwortsystem der 4D Datenbank zur Verfügung (wie in 4D definiert).

- Beachten Sie beim Web Server von 4D Client, dass alle Sites, die Client-Rechner veröffentlichen, auf dieselbe Benutzerliste zugreifen. Die Bestätigung von Benutzern/Kennwörtern erfolgt über die 4D Server Anwendung.

- Von Benutzern eingegebene Kennwörter werden in HTTP Anfragen nicht verschlüsselt. (Basis Modus)

Das Zugriffssystem des 4D Web Server

Das System, das die Verbindungen zum 4D Web Server filtert, richtet sich nach der Kombination der beiden Parameter:

Die Optionen Web Kennwörter im Dialogfenster Einstellungen der Datenbank.

Vorhandensein der Datenbankmethode On Web Authentication.

Sie können verschiedene Einstellungen vornehmen:

Keine Option ist ausgewählt

Gibt es die Datenbankmethode On Web Authentication, wird sie ohne $1 und $2 ausgeführt. Nur die IP Adressen des Browsers und des Servers ($3 und $4) werden zurückgegeben, Benutzername und Kennwort ($5 und $6) bleiben leer. In diesem Fall können Sie die Verbindungen anhand der IP Adresse des Browsers und/oder der IP Adresse des Servers filtern.

Gibt es die Datenbankmethode On Web Authentication nicht, wird die Verbindung automatisch angenommen.

"Benutze Kennwörter" ist ausgewählt , "Verwende 4D Kennwörter" ist nicht ausgewählt.

Gibt es die Datenbankmethode On Web Authentication, wird sie ausgeführt und alle Parameter werden zurückgegeben. So können Sie die Verbindungen genauer filtern, d.h. nach Benutzername, Kennwort und/oder IP-Adressen der Browser oder Web Server.

Gibt es die Datenbankmethode On Web Authentication nicht, wird die Verbindung automatisch zurückgewiesen. Der Browser erhält eine Meldung, dass die Datenbankmethode nicht vorhanden ist.

Hinweis: Ist der vom Browser gesendete Benutzername ein leerer String und gibt es die Datenbankmethode On Web Authentication nicht, erhält der Browser den Kennwortdialog.

"Benutze Kennwörter" und "Verwende 4D Kennwörter" sind ausgewählt.

Gibt es den vom Browser gesendeten Benutzernamen in der Tabelle der 4D Benutzer und ist das Kennwort korrekt, wird die Verbindung angenommen. Ist das Kennwort falsch, wird die Verbindung zurückgewiesen.

Gibt es den vom Browser gesendeten Benutzernamen nicht in 4D, sind zwei Ergebnisse möglich:

- Gibt es die Datenbankmethode On Web Authentication, werden die Parameter $1, $2, $3, $4, $5 und $6 zurückgegeben. Sie können dann die Verbindungen nach Benutzername, Kennwort und/oder IP Adresse des Browsers oder Web Servers filtern.

- Gibt es die Datenbankmethode On Web Authentication nicht, wird die Verbindung zurückgewiesen.

Das Zugriffssystem des 4D Web Servers im Überblick:

Sicherheit bei Automaten

Bestimmte Automaten (Suchmaschinen, Netze...) scrollen durch die Web Server und statische Seiten. Sollen Automaten Zugriff auf Ihre ganze Web-Site erhalten, können Sie festlegen, auf welche URLs sie nicht zugreifen dürfen.

Legen Sie dazu die Datei ROBOTS.TXT auf den Root des Servers. Sie muss folgende Struktur haben:

User-Agent: <name>
Disallow: <URL> oder <beginning of the URL>

Zum Beispiel:

User-Agent: *
Disallow: /4D
Disallow: /%23%23
Disallow: /GIFS/

"User-Agent: *" bedeutet, dass alle Automaten betroffen sind.

"Disallow: /4D" bedeutet, dass Automaten nicht auf URLs zugreifen können, die mit /4D beginnen.

"Disallow: /%23%23" bedeutet, dass Automaten nicht auf URLs zugreifen können, die mit /%23%23 beginnen.

"Disallow: /GIFS/' bedeutet, dass Automaten nicht auf /GIFS/ Ordner oder dessen Unterordner zugreifen können.

Weiteres Beispiel:

User-Agent: *
Disallow: /

In diesem Fall können Automaten nicht auf die ganze Web-Site zugreifen.

Allgemeiner Web-Anwender


Sie können einen Benutzer, der zuvor in der 4D Kennworttabelle definiert wurde, als "allgemeinen Web Anwender" festlegen. In diesem Fall kann jeder Browser, der die Verbindung zur Datenbank herstellt, die diesem generischen Benutzer zugeordneten Zugriffsrechte und Einschränkungen nutzen. So können Sie den Zugriff des Browsers auf die verschiedenen Teile der Datenbank einfach steuern.

Hinweis: Verwechseln Sie diese Option nicht mit dem Steuerungssystem der Web Server Verbindung. Mit "allgemeiner Web Anwender" können Sie den Zugriff des Browsers auf verschiedene Teile der Datenbank einschränken (Tabellen, Menüs, etc.). Das Steuerungssystem der Web Server Verbindung arbeitet mit dem Kennwortsystem und der Datenbankmethode On Web Authentication.

Um einen allgemeinen Web-Anwender zu definieren, gehen Sie folgendermassen vor:

1. Legen Sie im Designmodus im Kennworteditor einen Benutzer an.

Sie können dem Benutzer bei Bedarf ein Kennwort zuordnen.

2. Legen Sie in den verschiedenen 4D Editoren die Zugriffsrechte bzw. -einschränkungen für diesen Benutzer fest.

3. Klicken Sie im Dialogfenster Einstellungen der Datenbank unter dem Thema Web auf die Seite Erweitert. Der Designer ist standardmäßig der allgemeine Web-Anwender, die Browser können auf die gesamte Datenbank zugreifen.

4. Wählen Sie einen Benutzer in der Liste "allgemeiner Web-Anwender" und bestätigen Sie den Dialog.

Alle Web Browser, die berechtigt sind, sich an die Datenbank anzumelden, können die diesem allgemeinen Web-Anwender zugewiesenen Zugriffsrechte bzw. -einschränkungen nutzen. Das gilt nur dann nicht, wenn die Option "Verwende 4D Kennwörter" ausgewählt wurde und der Benutzer, der die Verbindung herstellt, in der 4D Kennworttabelle nicht vorhanden ist. (siehe unten).

Interaktion mit dem Kennwortsystem des Web

Die Option "Benutze Kennwörter" hat keinen Einfluss auf die Funktionsweise des allgemeinen Web-Anwenders. Unabhängig von dieser Option gelten alle Zugriffsrechte bzw. -einschränkungen des "allgemeinen Web-Anwender" für alle Web Browser, die berechtigt sind, sich an die Datenbank anzuschließen.

Ist dagegen die Option "Verwende 4D Kennwörter" ausgewählt, gibt es zwei Möglichkeiten:

Es gibt Benutzername und Kennwort NICHT in der Kennworttabelle von 4D. Wird nun die Verbindung von der Datenbankmethode On Web Authentication angenommen, gelten die Zugriffsrechte des allgemeinen Web-Anwenders für den Browser.

Es gibt Benutzername und Kennwort in der Kennworttabelle von 4D. Dann wird der Parameter "allgemeiner Web-Anwender" ignoriert. Der Benutzer meldet sich mit seinen eigenen Zugriffsrechten an.

Ordner Standard HTML Root definieren


Mit dieser Option bestimmen Sie den Ordner, in welchem 4D nach den statischen HTML Seiten und den Bildern sucht, die an die Browser gesendet werden sollen.

Darüberhinaus legt der Ordner HTML Root fest, bis zu welcher Ebene in der Hierarchie nicht mehr auf die Dateien zugegriffen werden kann.

Diese Einschränkung gilt für die URLs, die an Web Browser sowie an Befehle des 4D Web Server gesendet werden, wie z.B. SEND HTML FILE. Sendet der Browser eine URL an die Datenbank oder versucht ein 4D Befehl, auf eine Datei zuzugreifen, die in der Hierarchie oberhalb des Ordners HTML Root liegt, erhalten Sie eine Fehlermeldung. Sie gibt an, dass die Datei nicht gefunden wurde.

4D geht standardmäßig von einem Ordner HTML Root mit Namen WebFolder aus. Ist er noch nicht vorhanden, wird er physisch auf der Festplatte erstellt, wenn der Web Server zum ersten Mal gestartet wird.

Wollen Sie diese Standardeinstellungen beibehalten, wird er folgendermaßen angelegt:

Mit 4th Dimension und 4D Server auf derselben Ebene wie die Strukturdatei der Datenbank.

Mit 4D Client auf derselben Ebene wie die 4D Client .exe Datei unter Windows bzw. das Software-Paket auf MacOS.

Anschließend müssen Sie lediglich die erforderlichen Elemente, wie statische Seiten, Bilder, in diesen Ordner kopieren.

Wollen Sie den Ordner bewegen bzw. umbenennen oder einen anderen Ordner verwenden, müssen Sie die Voreinstellungen von 4D Client anpassen. Gehen Sie dazu unter dem Thema Web auf die Seite Veröffentlichung

2. Geben Sie im Eingabebereich "Standard HTML Root" den neuen Zugriffspfad für den gewünschten Ordner an.

Der hier eingetragene Zugriffspfad ist relativ: Er wird von dem Ordner mit der Struktur der Datenbank festgelegt. Damit Ihre Datenbank auf mehreren Plattformen laufen kann, verwendet der 4D Web Server zum Beschreiben der Zugriffspfade spezifische Syntaxregeln:

Ordner werden durch Schrägstrich ("/") voneinander getrennt

Der Zugriffspfad darf nicht mit einem Schrägstrich ("/") enden

Wollen Sie in der Ordnerhierarchie eine Ebene höher gehen, geben Sie vor dem Ordner zwei Punkte ("..") ein

Der Zugriffspfad darf nicht mit einem Schrägstrich ("/") beginnen, ausser der HTML Root Ordner soll der Datenbankordner sein (siehe unten).

Soll der Ordner HTML Root zum Beispiel der "Web" Unterordner im Ordner "4DDatenbank" sein, schreiben Sie 4DDatenbank/Web

Soll der Ordner HTML Root der Datenbank/4D Client Ordner sein, jedoch der Zugriff auf darüberliegende Ordner untersagt sein, geben Sie "/" in den Bereich ein. Soll der Zugriff auf alle Volumes möglich sein, lassen Sie den Bereich "Standard HTML Root" leer.

3. Bestätigen Sie das Dialogfenster.

Warnung: Definieren Sie im Dialogfenster Einstellungen keinen Standardordner HTML Root, wird der Ordner verwendet, der die Strukurdatei der Datenbank oder der 4D Client Anwendung enthält. Seien Sie vorsichtig, denn in diesem Fall gibt es keine Zugriffsbeschränkungen. Benutzer haben Zugriff auf alle Ordner.

Hinweis: Wird der HTML Root Ordner im Dialogfenster Einstellungen geändert, wird der Cache geleert, damit keine Dateien mit beschränktem Zugriff gespeichert werden.

Datenbankeigenschaften und SET HTML ROOT (kontextueller Modus)

Sie können den Ordner HTML Root über den Befehl SET HTML ROOT ändern (nur im kontextuellen Modus). Die Änderung gilt so nur für den aktuellen Web Prozess für die Arbeitssitzung. Der Cache der HTML Seiten wird deshalb geleert.

Der Befehl SET HTML ROOT berücksichtigt jedoch den Ordner Standard HTML Root , wenn er im Dialogfenster Einstellungen der Datenbank definiert ist. Lautet der Ordner "WebSeiten/" und übergeben Sie die Anweisung SET HTML ROOT("Ordner"), lautet der Ordner Standard HTML Root" WebSeiten/Ordner/". Auch in diesem Fall gelten die Zugriffsbeschränkungen nur für die Ordner oberhalb des Ordners "WebSeiten".

Hinweis: Der Befehl SET HTML ROOT hat keine Auswirkung, wenn der Web Server nicht im kontextuellen Modus ist.

Zugang per 4D ACTION


Mit den spezifischen URL 4DACTION (nicht kontextueller Modus) und 4DMETHOD (kontextueller Modus), sowie den Tag 4DSCRIPT, 4DVAR und 4DHTMLVAR können Sie die Ausführung jeder Projektmethode in einer 4D Datenbank auslösen, die im Web veröffentlicht wird: Die Anfrage http://www. server.com/4DACTION/Anzeigen löst z.B. die Projektmethode Anzeigen aus, wenn diese vorhanden ist.

Dieser Mechanismus bedeutet jedoch ein Sicherheitsrisiko für die Datenbank, insbesondere, wenn ein Internet Benutzer absichtlich oder auch versehentlich eine Methode auslöst, die nicht über das Web ausgeführt werden soll. Es gibt drei Möglichkeiten, dies zu verhindern:

Sie beschränken den Zugriff auf Projektmethoden über das 4D Kennwortsystem. Zur Erinnerung: Dieses System erfordert den Einsatz von 4D Kennwörtern und unterbindet jegliche Methodenausführung. Dazu gehört auch der Einsatz von HTML Tags.

Sie filtern die über URL aufgerufenen Methoden über die Datenbankmethode On Web Authentication. Beachten Sie jedoch, dass dieses System schwer zu verwalten ist, wenn die Datenbank eine grosse Anzahl Methoden enthält.

Sie verwenden die Option "Zugang per 4DACTION, 4DMETHOD und 4DSCRIPT" aus dem Dialogfenster Methode-Eigenschaften:

Mit dieser Option können Sie jede Projektmethode einzeln bestimmen, die über die spezifischen URL 4D ACTION, 4DMETHOD und den Tag 4DSCRIPT, 4DVAR und 4DHTMLVAR aufrufbar sind. Ist sie inaktiv, kann die Projektmethode nicht über eine HTTP Anfrage ausgeführt werden mit einer spezielle URL, die die 4D Methoden 4DACTION und 4DMETHOD aufruft. Bei anderen Aufrufen wie Formularen oder andere Methoden sind sie dagegen ausführbar.

Die Option ist für Datenbanken, die mit 4th Dimension 2003 erstellt wurden, standardmäßig inaktiv. Sie müssen Methoden, die über die Web URL 4DACTION, 4DMETHOD oder den Tag 4DSCRIPT, 4DVAR und 4DHTMLVAR ausführbar sind, einzeln angeben.

Aus Kompatibilitätsgründen ist die Option dagegen für Datenbanken aktiv, die mit einer früheren 4D Version erstellt wurden. Hier können Sie über spezielle Web Anfragen auf alle Projektmethoden zugreifen.

Projektmethoden, die 4DACTION erlauben, erscheinen mit dem Icon

Referenz

Datenbankmethode On Web Authentication, Datenbankmethode On Web Connection , SSL Protokoll.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next