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
Autor: stefan
Was ist Cross-Site-Scripting (XSS)?
Heute aus der Reihe Sicherheitsrisiken einer Webanwendung: Cross-Site-Scripting (XSS). Was ist das? Was ist das Risiko? Was können wir als Entwickler dagegen tun?
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 – Hinzufügen dynamischer Routen
Heute habe ich mich mit dem Thema dynamische Routen (zum Beispiel aus einer Datenbank) in Symfony 3 beschäftigt. Dabei ist mir aufgefallen, dass derzeit verfügbare Bundles noch nicht mit Symfony 3.0 kompatibel sind – ich musste also selbst ran. Symfony 3 – Hinzufügen dynamischer Routen weiterlesen
Symfony 3 – Benutzerdefinierte Optionen in Formularen
In Symfony gibt es bekanntlich den sehr mächtigen FormBuilder. Manchmal genügt ein
1 2 3 4 |
$form = $this->createFormBuilder($user) ->add('password', RepeatedType::class, ['type' => PasswordType::class]) ->add('send', SubmitType::class) ->getForm(); |
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