25. Oktober 2016 | 3 Comments Hallo zusammen! Ich melde mich von der Münchener PHP Konferenz aus bei euch und möchte ein paar Dinge teilen die ich hier gelernt habe. Ich habe mir unter anderem Vorträge zu den Themen Security, Legacy PHP Projekte, PHP7, UX und React & Co. angehört. Hier eine kleine Zusammenfassung der ersten drei Vorträge für euch 🙂 PHP Konferenz 2016 in München Die Konferenz findet nun seit 15 Jahren statt und ist gleichzeitig meine erste 😉 Die Location (Holiday Inn in München) bietet viele große und gut ausgestattete Konferenz-Räume für viele Besucher! Darüber hinaus gibt es ein gutes Angebot an Tee, Kaffee, Softdrinks, Säften und die ein- oder andere Knabberei für Zwischendurch 🙂 Aber kommen wir zum interessanten Teil – ich möchte euch im heutigen Posting die ersten drei Vorträge zusammenfassen: „Querschnitt durch die Web-App-Security“ von Philipp Friberg In diesem Vortrag wurde auf verschiedene Security-Themen aus der Web Entwicklung eingegangen. Sein erstes Thema war SQL Injection und wie man diese vorbeugen kann – nämlich mit Hilfe eines guten Frameworks und/oder Prepared Statements (z.B. via PDO). Weiter ging es mit „Fehlermeldungen testen“ – ein Aspekt der mir ehrlich gesagt nie besonders „gefährlich“ schien. In einem Beispiel wurde gezeigt was passieren kann, wenn man den Aufbau einer Datenbankverbindung nicht durch try/catch oder if-Abfragen absichert: Eine Fehlermeldung mit der entsprechenden Codezeile. Inklusive Benutzer und Passwort für die Datenbank! Ein weiterer Punkt wurde dem Passwort hashing gewidmet – bzw. wieso ein simpler Passwort-Hash (ohne Salt) keinen ausreichenden Schutz beim Login darstellt. Vor allem die md5 Funktion stellt ein großes Risiko dar! Stattdessen sollte man auf Funktionen wie password_hash und password_verify ausweichen. Natürlich muss auch immer ein aktueller Algorithmus verwendet werden 😉 Für eine Migration der Passwörter (z.B. für den Fall das ein neuer Algorithmus eingesetzt wird) sollte eine einfache „Bitte ändern Sie ihr Passwort“ Meldung eingebaut werden – das ist ein absolut gebräuchliches Mittel um solche Vorgänge zu triggern. Er beendete seinen Vortrag mit einigen Beispielen wie man seine Web Applikation mittels CSRF Tokens besser absichern kann. „Legacy-PHP-Projekte – sanieren oder ablösen?“ von Johann-Peter Hartmann In diesem Vortrag wurde hauptsächlich darüber referiert, wie man alte Projekte am besten sanieren kann und welche Techniken in welcher Team-Größe Sinn machen. Generell wurde während der Konferenz häufig von „Microservices“ gesprochen – so auch in dieser Session. Laut Johann-Peter Hartmann macht eine Refakturierung mittels dieses Entwurfmusters allerdings erst ab einer Team-Größe von etwa 20 Mitarbeitern Sinn. Hierbei wird ein System in mehrere kleine abgekapselte Komponenten refakturiert – in etwa so wie es bei Symfony 2+ der Fall ist. Bei größeren Teams können sich somit kleine Gruppen um je eine Komponente kümmern. Eine weitere Möglichkeit bietet der Parallelbetrieb von alt und neu: hierbei wird der neue Code als eine Art „Proxy“ vorgeschaltet und leitet nur bei den (noch) fehlenden Teilen an den alten Code weiter. So kann auch ein aktives / produktives System Stück für Stück abgelöst werden. Wusstet ihr: Bei komplexen Projekten wird gerne von „Accidental complexity“ geredet 😀 Was gegen Komplexe Strukturen (oder auch „Spaghetti Code“) helfen kann ist das sogenannte Paired Programming. Das bedeutet, man sitzt zu zweit an einem Rechner und teilt sich Gewissermaßen die Arbeit: während ein Entwickler beispielsweise den Code schreibt denkt der andere über die Problemstellung nach und prüft den geschriebenen Code. Weiterhin sollte bei der Neu-Entwicklung auf Domain Driven Development (DDD) gesetzt werden – das bedeutet man sollte eine Struktur wählen die den Anforderungen des Projektes gerecht wird… Und nicht anders herum. Ein klassisches MVC ist zum Beispiel nicht immer Sinnvoll 😉 „PHP7 One Year after“ von Sebastian Bergmann, Robert Lemke, Stefan Priebsch, Thomas Wiesseckel Dieser Vortrag wurde von Thomas Wiesseckel moderiert und hat PHP7 und u.a. dessen schnelle Verbreitung thematisiert. PHP7 ist nach einem Jahr um ein vielfaches verbreiteter als PHP5 nach seinem ersten Jahr. Es wurden neben kleinen Verbesserungen für PHP 7.1 auch eine erneute Performance Verbesserung für PHP 7.2 angekündigt – aber dieses Release liegt noch in einiger Ferne… PHP 7.1 steht dagegen quasi fast vor der Tür (am 19.Oktober wurde PHP7.1 RC4 veröffentlicht). Außerdem wurde noch mal daran erinnert das der Support für PHP 5.6 mit dem Jahr 2016 (nämlich am 31.Dezember) endet und nur noch Security Fixes erhalten wird. Mehr Informationen zu aktuellen Versionen und deren Support-Zeitraum findet ihr auf php.net Die weiteren Vorträge werde ich übrigens in den nächsten Tagen ebenfalls in dreier-Paketen zusammenfassen und hier veröffentlichen. Ich hoffe ihr findet die Themen ebenso interessant wie ich 🙂 Bis zum nächsten Post wünsche ich euch eine angenehme Woche und natürlich Happy Coding!
Hey, ich war auch das erste mal bei der Konferenz und fand es echt interessant. Gute Zusammenfassung LG, Max Antworten