Das OO in XOOPS

Teil 2: CMS-Serie: XOOPS vorgestellt

Wer das protector-Modul nutzen möchte, sollte dann noch den folgenden Code am Ende der Datei mainfile.php:

if (!isset($xoopsOption["nocommon"])&& XOOPS_ROOT_PATH != "") {
include XOOPS_ROOT_PATH."/include/
common.php";
}

wie folgt ergänzen:

include XOOPS_TRUST_PATH.'/modules/
protector/include/precheck.inc.php';
if (!isset($xoopsOption["nocommon"])&& XOOPS_ROOT_PATH != "") {
include XOOPS_ROOT_PATH."/include/
common.php";
}
include XOOPS_TRUST_PATH.'/modules/
protector/include/postcheck.inc.php';

Damit sind Sie noch nicht auf der sicheren Seite, aber schon auf dem richtigen Weg.

Weitere Sicherheitsmaßnahmen

XOOPS, wie auch generell fast alle CMS auf PHP/MySQL-Basis, speichert die Zugangsdaten zur MySQL-Datenbank im Klartext in mainfile.php direkt im Dokumentpfad des Webservers. Solange die PHP-Installation problemlos funktioniert, bleibt diese Information für Angreifer aus dem Web unzugänglich.

Sollte einmal ein Fehler auftreten und diese Datei durch PHP nicht korrekt verarbeitet werden können, würden der Benutzername und das Passwort zur MySQL-Datenbank im Klartext angezeigt werden.

Dieses Szenario besitzt generell eine sehr geringe Wahrscheinlichkeit, doch sollte es einmal eintreten, liegen mögliche Folgen auf der Hand. In diesem Fall würde, nebenbei erwähnt, auch die interne Prüfung versagen, die seit der Version 2.0.7 von XOOPS bei jedem Zugriff auf die Datei mainfile.php dem Ursprung der Nachfrage nachgeht.

© Archiv

Die Installation des protector-Moduls erschöpft sich nicht durch das Anklicken der passenden Option; nach Abschluss der Installation sind noch einige manuelle Eingriffe in die Konfiguration mithilfe eines Texteditors zwingend erforderlich.

Im Normalfall wird nur eine Anfrage ausgeführt, die auch wirklich von der berechtigten Domain stammt, doch Sie sollten darauf nicht vertrauen. Das Veröffentlichen der Zugangsdaten zur Datenbank ist wohl kaum in Ihrem Interesse und es ist zahlreichen Berichten zufolge bereits mehrmals vorgekommen. Mit einer zusätzlichen Sicherheitsmaßnahme können Sie auch diese Lücke leicht schließen.

Legen Sie zuerst ein neues Verzeichnis außerhalb des Dokumentenpfades des Webservers an, zum Beispiel:

/home/pfad/dblogin

Erstellen Sie dann eine neue PHP-Datei und speichern Sie darin die Zugangsdaten für die Datenbank:

<?php
$db_user = "db username";
$db_passwd = "db password";
$db_name = "db name";
?>

Achten Sie darauf, dass sich hinter dem schließenden Tag keine weiteren Zeichen (insbesondere keine Leerzeichen) befinden. XOOPS reagiert sehr empfindlich auf überflüssige Leerzeichen und bestraft Sie mit merkwürdigem Fehlverhalten wie leeren Seiten oder Fehlermeldungen des PHP-Systems. Speichern Sie die Zugriffsdaten für die Datenbank zum Beispiel unter dem Namen xoops-auth.php im zuvor erstellten Verzeichnis:

/home/pfad/dblogin

und setzen Sie dann die Zugriffsrechte wie folgt:

chmod 644 xoops-auth.php

Erstellen Sie jetzt eine Sicherheitskopie der Datei mainfile.php und modifizieren Sie gegebenenfalls die Zugriffsrechte darauf, damit Sie diese bearbeiten können:

chmod 777 mainfile.php

Danach öffnen Sie mainfile.php in einem Texteditor und den benötigten Verweis auf die soeben erstellte Datei mit Zugangsdaten zur Datenbank:

include ("/home/pfad/dblogin/
xoops-auth.php");

Mehr lesen

Chronologische Liste und Netflix-Links -

Neuerscheinungen in der Übersicht -

Vorschau auf Film- und Serien-Highlights -

Mehr zum Thema

Webdesign

Adobe Illustrator wird im Webdesign immer beliebter. Wie Sie das Tool richtig einsetzen, erfahren Sie hier.
Facebook

Was sind die Implikationen für Unternehmen und Endanwender bei Facebooks neuer Suche Graph Search?
Online-Recht

Allgemeine Geschäftsbedingungen liest sich niemand gerne durch. Sie sind jedoch notwendig und äußerst sinnvoll. Worauf sie achten sollten.
Online-Recht in der Cloud

Dateien werden immer häufiger in der Cloud bereitgestellt. Rechtlich ist das jedoch durchaus problematisch. Wir klären über das Urheberrecht in der…
E-Commerce-Logistik

Für den Erfolg eines Online-Shops sind zahlreiche Faktoren verantwortlich. Neben Produktvielfalt und Darstellung der Waren gehört auch die Logistik.