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.

Content-Management-Systeme

© 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 zum Thema

HTML5: Quick Reference Guide
Ratgeber: "HTML5"

Die wichtigsten Tags auf einen Blick: In unserem praktischen Arbeitsblatt finden Sie einen wertvollen Begleiter für die Umstellung Ihrer Webprojekte…
internet, webdesign, google, content, ranking, seo, suchmaschine
Ratgeber: Urheberrecht

Einzigartige Inhalte bieten Lesern Mehrwert und sind ein wichtiges Qualitätsmerkmal. Ärgerlich, wenn sich jemand durch Kopieren an fremden Ergebnissen…
Die besten HTML5-Tipps
Neue Tipps & Tricks für blitz.io

Wer die Leistung einer Applikation ermitteln möchte, braucht keine Skripte zu schreiben, sondern kann einen der zahlreichen Online-Dienste einspannen.…
image.jpg
Ratgeber: Webentwicklung

Die clientseitige Javascript-Entwicklung bietet fast keine Entwicklungsumgebungen und auch keine vernünftigen Werkzeuge zur Fehlersuche. Eine der…
internet, webdesign, meteor, webapplikationen
Ratgeber

Mit Meteor sollen Entwickler in kurzer Zeit Umgebungen für Webapplikationen erstellen können, ohne sich um lästige Details kümmern zu müssen. Wir…