Überlegungen zum eigenen CMS - der Seitenbaum
In diesem Beitrag betrachten wir die Folgerungen, die wir aus den grundlegenden Gedanken für unseren Seitenbaum gemacht haben. Neben der Wahl des richtigen Datenbank Algorithmus konstruiere ich in diesem Artikel auch die ersten Tabellen die für die Seitenverwaltung unseres CMS benötigt werden. Aktualisiert (Sonntag, den 08. Januar 2012 um 18:50 Uhr) |
Überlegungen zum eigenen CMS
Die aller meisten PHP-Hobbyisten stellen sich irgendwann die Herausforderung ,,Ein eigenes Content Management System muss her!", die allerwenigsten schaffen überhaupt den ersten Schritt. In diesem Artikel möchte einige Grundideen zur Erstellung eines CMS erläutern. Die Umsetzung in PHP liegt dabei weniger im Fokus. Es geht mir in dieser Artikelserie um das Verständnis der Anforderungen und deren Umsetzung auf Daten(bank) Ebene. Die Implementierung kann später in jedem Framework erfolgen. Bevor überhaupt eine Zeile in PHP geschrieben wird, sollte man sich sicher sein, dass man mit der eigenen Datenstruktur alle Anforderungen unkompliziert abbilden kann. Hier setzt diese Serie an. Aktualisiert (Sonntag, den 08. Januar 2012 um 18:48 Uhr) XSendFile in XAMPP aktivieren
Manchmal ist es notwendig eine Datei direkt aus der Programmlogik einer PHP Methode heraus zu versenden. Beispielsweise lässt sich so ein Rechtesystem auf Benutzer der Webseite abwickeln. Hierbei steht man häufig vor dem Problem, dass bereits ein HEADER an den Client gesendet wurde und somit die Dateiausgabe über die normale header() Funktion scheitert. Abhilfe schafft das Apache Modul XSendFile. Auf der Herstellerseite findet sich eine Hilfe zur Installation auf Linux-Systemen, der lokale XAMPP-Server auf Windowsmaschienen geht dabei leider leer aus. Wie dieses Modul manuell installiert wird, erkläre ich in diesem Artikel. Aktualisiert (Mittwoch, den 04. Januar 2012 um 16:11 Uhr) XAMPP VHosts auf Windows PCs einrichten
Wir kennen alle das Standardpaket für lokale Webentwicklung: XAMPP. Das Programmpaket lässt sich mit wenigen Klicks installieren und bietet die, für die Web,- Programmierung ausgelegte, Plattform, aus dem Apache Webserver, der MySQL Datenbank und einigen anderen nützlichen Werkzeugen. Für einige ambitioniertere Projekte mit einigen PHP-Frameworks benötigen wir allerdings eine lokale Domain, da es z.B. Rooting-Methoden nicht mehr zulassen in einem Unterverzeichnis von localhost zu arbeiten. Wie lokale Domains in XAMPP und Windows eingetragen werden, zeige ich Dir in diesem Beitrag Aktualisiert (Donnerstag, den 05. Januar 2012 um 13:51 Uhr) Typo3 Meta Generator entfernen
Wer den Html Quelltext den Typo3 erzeugt näher betrachtet, dem fällt sofort dieser große Absatz auf.
Leider bietet Typo3 keine Möglichkeit diesen Absatz zu unterdrücken. Mit TypoScript lässt sich der Absatz lediglich um einen persönlichen Kommentar erweitern: config.headerComment (
(Im Setup des Templates der Hauptseite.) Meta-Generator Tag und Kommentar entfernenGetestet in Typo3 Version 4.5 und 4.5.6 Inline Kommentar entfernenWill man den den Absatz komplett entfernen, muss die Datei class.tslib_pagegen.php im Verzeichnis MeineSeite/typo3/sysext/cms/tslib/ bearbeitet werden. Der Komentar wird in Zeile 489 f. erzeugt:
Werden diese Zeilen auskommentiert, verschwindet der Kommentar von der Webseite. Meta Generator Tag entfernenEbenfalls störend finde ich den Meta-Tag: Generator. Dieser lässt sich in selbiger Datei in Zeile 808 entfernen.
Diese Zeile einfach mit // auskommentieren und der Meta-Generator Tag ist verschwunden. Aktualisiert (Sonntag, den 08. Januar 2012 um 19:11 Uhr) Hash-Funktionen
Digitale Signaturen sind sehr mächtig, allerdings ist die Nachrichtenlänge begrenzt. Bsp. RSA mit 2048 Bit. Wir könnten natürlich die Nachricht in n Teile schneiden und diese ebenfalls signieren, doch dafür ist der Algorithmus zu langsam und die Größe des Gesamtpaketes würde extrem ansteigen. Ferner erlaubt eine Signatur über Teilblöcke Manipulationen der einzelnen Teilblöcke (ersetzten, löschen). Wir benötigen also eine Möglichkeit Daten unabhängig von ihrer Größe mit einer Signatur fester Länge zu versehen. Diese können wir mit Hash-Funktionen erreichen. Basisprotokoll: Digitale Signaturen mit Hash-Funktionen.
Eigenschaften von Hash-Funktionen
Sicherheitseingenschaftenmögliche AngriffePreimageHash-Funktionen müssen Einweglösungen sein. Wenn z gegeben ist muss es unmöglich sein x zu berechnen. second preimage / schwache KollisionsresistenzGenauso darf es dem Angreifer nicht möglich sein zu einem gegeben x1 ein zweites x2 zu finden das den gleichen Hashwert wie x1 hat. Dies wird auch schwache Kollisionsresistenz genannt starke KollisionsresistenzUm die Sicherheitsanforderungen weiter zu erhöhen darf es einem Angreifer auch nicht möglich sein zwei beliebige Nachrichten zu finden die den gleichen Hashwert haben. Unter anderem ist die Ausgangslänge entscheidend wie schwer es ist eine Kollision zu finden, allgemein gelten 80 Bit lange Hashs als ausreichend.
Aktualisiert (Freitag, den 06. August 2010 um 23:15 Uhr) |