Online

03.11.2010 18:20 von Stefan (Kommentare: 0)

Neue Website online

Seit vielen Jahren erstelle ich Websites und so geht mir die Umsetzung meiner Ideen in HTML und CSS relativ schnell von der Hand. Nur will im Jahre 2010 kaum noch einer Inhalte direkt in HTML pflegen. Für diesen Zweck gibt es so genannte CMS (Content Management Systeme). Über eine Eingabemaske werden in diesen Systemen alle Arten von Inhalt eingepflegt. Und an ein CMS habe ich nicht viele, aber doch einige fundamentale Ansprüche:

In erster Linie soll das System sicher sein. Webanwendungen (und ein CMS ist eine solche) gehören zu den Hauptangriffszielen. Das System ist über das Internet erreichbar, jede kleine Lücke kann sofort ausgenutzt werden, mit oft unangenehmen Folgen. Klassische Systeme wie Joomla, Wordpress oder Typo3 sind zu oft mit Negativ-Schlagzeilen aufgefallen. Auch die verwendete Programmiersprache spielt eine Rolle. Gerade PHP ist zwar schnell gelernt, bringt aber auch viele Fallstricke mit. Zwischen PHP schreiben und sicher PHP schreiben liegen Welten. Zusätzlich plagt sich PHP als Sprache selbst mit vielen Sicherheitsvorfällen. Obwohl sehr weit im Netz verbreitet nicht gerade eine solide Basis.

Sehr viel weiter sind da Frameworks wie Django (Python) oder Rails (Ruby). Viele klassische Angriffe wie SQL-Injections werden in diesen Systemen bereits vom grundlegenden Framework abgefangen. Aber auch hier gilt: Immer auf der Hut sein. Was heute als sicher gilt, ist morgen angreifbar. Einmal installieren und nie wieder anfassen ist mir Web-Anwendungen nicht zu haben.

Das zweite wichtige Kriterium ist die Anpassbarkeit. Das CMS soll meine Seite abbilden, nicht meine Seite ein CMS. Meist habe ich erst ein fertiges Layout, im nächsten Schritt wird dieses Layout im CMS umgesetzt. Oft genug kommt es vor, dass mich ein CMS hindert mein Layout umzusetzen, weil es eine bestimmte Komponente unbedingt rechts oben haben muss oder ich Handstände machen muss, um es nach meinen Ideen zu gestalten.

Gleiches gilt für die Möglichkeit das System nach meinen Vorstellungen zu erweitern. Dafür benötige ich saubere und klare PlugIn-Schnittstellen, an denen ich mit meinem Code andocken kann.

Und zu guter Letzt will ich im Alltag mit einem CMS vernünftig arbeiten. Alles muss sauber funktionieren und einigermaßen intuitiv bedienbar sein. Gerade jüngere Systeme haben in diesem Punkt oft Mankos.

Alles in Allem klingt das nicht nach zu viel verlangt, trotzdem musste ich erleben, dass es so einfach nicht zu haben ist. Nach einer langen Suche über Plone (Zope/Python), Refinery (Rails/Ruby), MovableType und diversen Java-Lösungen bin ich schließlich bei Contao gelandet und habe damit die bittere Pille einer PHP-basierten Lösung geschluckt.

Das Ganze ist also ein Kompromiss. Contao ist duchdacht und alles wirkt sehr überlegt und sinnvoll zusammengebaut. Der Code scheint sauber und wird durch wenige, gut eingespielte, Entwickler gepflegt. Ich hoffe, dass hier Leute am Werk sind, die über die nötige Professionalität verfügen, um die PHP-Klippen zu umschiffen. Bis jetzt gab es jedenfalls kaum böse Sicherheitslücken zu beklagen, wo andere Projekte monatlich, zum Teil wöchentlich Schiffbruch erleiden.

Um meine Vorbehalte gegenüber PHP weiter zu beruhigen habe ich den Apache-Server so weit wie möglich abgesichert, auf mod_php verzichtet und das ganze unter die regide Aufsicht von suexec + suhosin gestellt. Bleibt zu hoffen, dass ich in Zukunft keine auftretende Lücke verschlafe.

Aber, und darauf kommt es heute an, die Mühen haben sich gelohnt. Ab sofort findet ihr meine Website an dieser Stelle. Und wenn Ihr für ein Projekt mit mir zusammen arbeiten wollt oder nur mal so "Guten Tag" sagen, meldet euch!

Zurück

Einen Kommentar schreiben