3.4.1 Server

Der Server gliedert sich in folgende Module:

  • backend: Nimmt Anfragen über eine URL entgegen und überträgt die erzeugten Dokumente an den Client.
    Dieses Modul stellt den Standard-Server dar. Es verarbeitet die Parameter der übergebenen URL, ruft die Funktion createXML() oder createRDF() aus dem Modul backend_base auf und überträgt die die Daten an den aufrufenden Client.
  • backend_soap: Nimmt Anfragen über SOAP entgegen und überträgt die erzeugten Dokumente an den Client.
    Dieses Modul stellt die gleiche Funktionalität wie backend zur Verfügung, benutzt aber zum Empfangen und verschicken der Daten als Protokoll SOAP.
  • backend_base: Enthält die gemeinsamen Funktionen für die Module backend und backend_base.
    Dieses Modul wird sowohl vom Standard- als auch vom SOAP-Server zur Erstellung der XML- oder RDF-Dateien benutzt. Es lädt die angeforderten Daten aus der Datenbank und erzeugt daraus ein XML- oder RDF-Dokument, das an das aufrufende Modul zurückgegeben wird.
    Zur Erzeugung der XML-Dateien wird DOM (Document Object Model) benutzt, das seit der Version 4.30 in PHP enthalten ist. Das DOM ermöglicht eine einfachere Programmierung als SAX (Simple API for XML), ist dafür aber langsamer und speicherintensiver. Da es sich bei den zu erstellenden Daten aber nur um geringe Mengen handelt und der zeitaufwendigste Faktor die Übertragung der Daten vom Server auf den Client ist, wurde dem DOM der Vorzug gegeben.
    Das Dokument wird abschließend mit UTF-8 kodiert, um eine korrekte Darstellung von Zeichen außerhalb des ASCII-Standards zu gewährleisten (z.B. Umlaute oder Ligaturen).

Bei beiden Servern lassen sich die Kategorien dadurch definieren und ergänzen, dass im Verzeichnis „include“ eine Datei angelegt wird. Die Datei muss den Namen der Tabelle mit den notwendigen Daten und eine SQL-Anweisung enthalten, die die Schlagzeilen, die Anreißer und die URL der Originaldokumente zurückgibt. Als Beispiele sollen die beiden Dateien sql_magazin_stars.php und sql_magazin_soundcheck dienen.

Sicherheitsaspekte:
Wie in Abbildung 1 zu erkennen ist, kann der Client nur über eine Firewall auf den Webserver zugreifen. Intern kann dieser wiederum durch Zugriffsrechte beschränkt auf die Datenbank zugreifen. Einem möglichen Angreifer wird somit ein Zugriff auf die Datenbank sehr schwer bis unmöglich gemacht. Aus diesem Grund kann davon ausgegenagen werden, dass durch das neue Skript keine zusätzlichen Sicherheitslücken im System geöffnet werden.

http://elektroelch.de/draft/files/2016/01/Web-Interface-1.gif” rel=”attachment wp-att-357″>http://elektroelch.de/draft/files/2016/01/Web-Interface-1.gif” alt=”Web-Interface” width=”775″ height=”447″ class=”aligncenter size-full wp-image-357″ />