Ein eigenes CMS programmieren I.
In diesem mehrteiligen Workshop entwickeln Sie ein eigenes kleines Content Management System mit einer Flatfile Datenbank und Markdown Parser - inkl. Download.
Programmieren Sie Ihr eigenes CMS I.
In diesem Workshop programmieren Sie Ihr eigenes individuelles Content Management System. Sie beginnen zunächst mit der PHP-Programmierung eines ganz rudimentären aber dennoch funktionsfähigem CMS, das aus wenigen PHP-Skripten besteht. Die Entwicklung wird sich größtenteils an das beliebte MVC-Pattern halten, damit der Code und die Verzeichnisstruktur übersichtlich bleibt. Damit Sie nicht jedes Code-Beispiel mühsam aus den einzelnen Beiträgen herauskopieren müssen, finden Sie den Quellcode zum fertigen Download im Teil 1 des Workshops. Nach dem ersten Teil des Workshops wird es noch zwei weitere Teile geben, in denen Sie beispielsweise die externe und beliebte Template-Engine Smarty einbinden und die Grundfunktionen der Basis-version erheblich aufwerten. Im dritten Teil werden Sie das CMS noch mit Plugins erweitern und Ihr eigenes Content Management System finalisieren.
Warum Sie unbedingt ein eigenes CMS programmieren sollten?
Sicherlich ist das Internet voll mit sehr guten Content Management Systemen wie beispielsweise WordPress, Joomla oder das überaus beliebte Flatfile CMS Bludit, die man sehr bequem verwenden kann und mit denen man out of the Box überaus professionelle Webseiten ruckzuck zaubert. Dennoch kann man einen starken Trend im Web erkennen, denn in den vielen Foren werden die Fragen wie man ein eigenes CMS entwickelt immer häufiger gestellt. Doch warum hat dieser Trend in den letzten Jahren so zugenommen?
Befreien Sie Ihren Content vom Ballast
Sicherlich ist der gute Ruf von WordPress gerechtfertigt, dennoch steigen immer mehr Anwender aus diesem gigantischen Content Management System aus, der Grund? Ganz einfach! WordPress ist unglaublich komplex und nahezu überladen mit Funktionen die man gefühlt kaum noch unter Kontrolle hat. Dazu kommt, das kein Tag vergeht, an dem nicht eine neue Sicherheitslücke in diesem beliebten CMS entdeckt wird. Vielen Usern wird dann im Laufe des Betriebes klar, das sie von dieser unglaublichen Funktionsfülle lediglich 10% nutzen wollen, warum dann nicht auch für ein CMS entscheiden, welches genau diese 10% abdeckt?
Die Corona-Pandemie hat den Trend verstärkt
Die kürzliche Corona-Pandemie hat viele Unternehmen dazu gezwungen ihre Geschäfte und Projekte in das Internet zu verlagern, denn sind Sie nicht im Internet, dann gibt es Sie nicht!. Dabei hat sich deutlich gezeigt, wie schlecht Unternehmen oder Projekte auf die digitale Welt vorbereitet waren. Es mangelt immer noch massiv an Wissen und Erfahrung wie Inhalte im Web positioniert werden können. Folglich stürzten sich viele vollkommen ahnungslos mit WordPress ins Web und mussten nach wenigen Monaten die Segel streichen, da die Seiten entweder einem Angriff zum Opfer vielen oder die eingesetzten Administratoren dem System nicht gewachsen waren, denn gut ausgebildetes Fachpersonal ist besonders in den technischen Berufen in den letzten Jahren Mangelware geworden.
Sie bauen hohen Skill auf
Entwickeln Sie Ihr eigenes Content Management System selbst, dann kennen Sie jede Schraube und jeden Winkel im System - Sie sind dann ein Profi des Systems. So ganz nebenbei sammeln Sie sehr viel Erfahrung rund um viele Webtechniken, die Funktionsweise von Servern unter Linux oder Windows, und und und... Ihr Erfahrungsschatz wird anwachsen und Ihnen wird sicherlich niemand mehr etwas vor machen können.
Geringer Angriffsvektor im eigenen CMS
Nun noch ein Blick auf den wohl wichtigsten Aspekt bei der Programmierung eines eigenen Content Management Systems, die Sicherheit. WordPress ist das weltweit am häufigsten attackierte CMS im Internet, warum? Ganz einfach! Es ist beliebt und hat die meisten Installationen im Web, zudem ist der Quellcode gut dokumentiert und die Anwender des Systems zugegeben auch teils sehr naiv was die Sicherheit des Systems betrifft. WordPress ist also ein lohnenswertes Ziel für Angreifer, da es viele begünstigende Faktoren gibt.
Schreiben Sie Ihr eigenes CMS, dann ist es für Angreifer zunächst vollkommen unbekannt und undokumentiert. Zudem können Sie unterstellen, das die Komplexität des Systems kleiner ist und folglich weniger Sicherheitslücken generiert. Sofern sich ein Angriff gegen Ihr CMS überhaupt lohnt, müssten Hacker und Angreifer das System auf Schwachstellen und Sicherheitslücken untersuchen und das kostet viel Zeit und Geld im Vergleich zum möglichen Erfolg des Angriffs. Dies ist im übrigen auch einer der Gründe, warum gerade die bis dahin recht unbekannten Flatfile CMS wie Pico oder Bludit gerade einen rasanten Anstieg der Installationen erleben - denn sie gelten als extrem sicher.
Geringere Abhängigkeiten zu unsicheren Projekten
Das bekannte und beliebte PICO CMS ist ein gutes Besipiel für die negativen Folgen solcher Abhängigkeiten, denn PICO war sehr lange Zeit nicht unter PHP8+ lauffähig und diese Webseiten mussten unter höheren Kosten des PHP7 Support betrieben werden. PICO konnte über einige Jahre nicht auf die nächste PHP-Version angehoben werden, da die enthaltenen Projekte nur für eine ältere PHP-Version verfügbar waren. Erst im Laufe der Zeit konnten die enthaltenen externen Komponenten von deren Entwicklern auf die neue PHP-Version angehoben werden. Dieser Makel war teuer und ärgerlich für die vielen User und Benutzer von PICO CMS.
Ein anderes Beispiel ist WordPress, denn es vergeht kein Tag, an dem nicht eine Sicherheitslücke in irgendeinem der vielen Plugins oder Themes gemeldet wird. Das beliebteste Content Management System dieses Planeten ist zugleich auch das unsicherste CMS der Welt! Plugins und Themes stammen oft aus unsicheren Quellen dubioser Entwickler.