Was ist Cross-Site-Request-Forgery (CSRF)?

Cross-Site-Request-Forgery ist ein ziemlicher Zungenbrecher, aber dennoch ein wichtiges Thema, wenn es um Sicherheit im Web geht. Wie zuvor beim Cross-Site-Scripting (XSS) möchte ich euch einen Einblick geben, was das Problem genau ist und was wir dagegen tun können. Was ist Cross-Site-Request-Forgery (CSRF)? weiterlesen

Checkliste Serverumzug

In unserem Dasein als Entwickler kommt es immer mal wieder vor, dass wir ein Projekt (eine Domain) auf neue Hardware umziehen müssen. Solange dass beim selben Provider erfolgt ist es meist einfach, aber was wenn ein großer Umzug ansteht?

In diesem Beitrag möchte ich euch eine Checkliste mit best-practices und Tipps für einen möglichst reibungslosen – sprich mit wenig Downtime – Wechsel geben.
Checkliste Serverumzug weiterlesen

Session Management – Datei basiert, mit Memcache und mit JSON-Token

Wir müssen uns heute in PHP glücklicherweise kaum noch mit Session-Verwaltung beschäftigen, da praktisch alle Frameworks dies auf die ein oder andere Art abstrahieren und in eine hübsche API verpacken.

In diesem Artikel soll es trotzdem um die Grundlagen und Möglichkeiten einer eigenen Session-Verwaltung gehen. Gerade JSON-Tokens bieten eine schöne Möglichkeit Sessions zu realisieren ohne tatsächlich Daten auf dem Server zu speichern. Session Management – Datei basiert, mit Memcache und mit JSON-Token weiterlesen

Test Driven Development (TDD) – Was steckt wirklich dahinter?

Tests sind sinnvoll! Das hat jeder schon mal gehört und dann halt auch mal paar Tests geschrieben. War das dann schon „Test-getriebene Entwicklung“ (TDD)? Nein! Also was steckt dann tatsächlich dahinter? Wir werden das im Laufe dieses Artikels anhand des Katas zur Primfaktorenzerlegung durchspielen. Test Driven Development (TDD) – Was steckt wirklich dahinter? weiterlesen

Symfony 3 – Benutzerdefinierte Optionen in Formularen

In Symfony gibt es bekanntlich den sehr mächtigen FormBuilder. Manchmal genügt ein

und wir haben ein Formular für eine Passwortänderung.

Spannend wird es aber natürlich erst, wenn wir unseren eigenen FormType definieren und damit ein komplexeres Formular aufbauen. In diesem Artikel geht es dabei um die Problematik einer benutzerdefinierten Option. Symfony 3 – Benutzerdefinierte Optionen in Formularen weiterlesen

Sinn und Zweck mehrspaltiger Indizes in MySQL

Wann immer wir neue Tabellen in einer MySQL Datenbank anlegen, stellt sich die Frage, welche Spalten indiziert werden müssen. Für gewöhnlich genügt ein einspaltiger Index. In manchen Fällen kann aber mit einem mehrspaltigen Index die Performance verbessert werden. Welche Vor- und Nachteile solche Indizes mit sich bringen, werde ich euch hier erläutern. Sinn und Zweck mehrspaltiger Indizes in MySQL weiterlesen

Was ist der Unterschied zwischen Active Record und Data Mapper?

Früher oder später geht es in jeder Webapplikation darum Daten zu speichern. In einer nach dem MVC-Prinzip orientierten Anwendung wird die ein oder andere Form eines ORM zum Einsatz kommen. Solche ORM (z. B. Doctrine, Eloquent) folgen entweder dem Paradigma des Active Record oder das dem Data Mapper. In diesem Artikel wird es um die Unterschiede dieser beiden gehen. Was ist der Unterschied zwischen Active Record und Data Mapper? weiterlesen

MySQL – Vor- und Nachteile gesperrter Tabellen (table lock)

MySQL bietet die Möglichkeit des exklusiven Tabellenzugriffs für eine bestehende Verbindung. Die Tabelle wird also für andere Verbindungen gesperrt. In diesem Beitrag werde ich die dafür notwendigen SQL-Befehle sowie die Vor- und Nachteile gesperrter Tabellen beleuchten. MySQL – Vor- und Nachteile gesperrter Tabellen (table lock) weiterlesen