PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for 2014

HTML-Validierung: Reine Zeitverschwendung, oder?

with 11 comments

Gastartikel von David Becker, er arbeitet als Autor bei netzsieger.de

w3c_imageDiese Frage wird ein Teil der Webgemeinde vehement bejahen, die anderen werden ebenso überzeugt widersprechen. Ob eine klare Antwort in dieser Thematik überhaupt möglich ist, sei vorerst offengelassen. Jeder, der sich etwas genauer mit der Frage auseinandergesetzt hat, kommt zu einem anderen Schluss, hauptsächlich abhängig von den eigenen Erfahrungen und Konsequenzen. Bei näherer Recherche ergibt sich schnell, dass selbst Branchengrößen wie Amazon oder Facebook invaliden Code verwenden. Ja, selbst Google nimmt diese in Kauf. Aber nur weil andere es machen, muss es nicht zwangsläufig für jeden der richtige Weg sein.

Welche Vorteile ergeben sich durch validen Code?

Mit einem Vorurteil kann direkt aufgeräumt werden. Google bestraft Websites mit invalidem Code nicht. Die Top-Suchergebnisse beliebiger Sucheingaben sind fast immer Websites, die ungültiges HTML beinhalten. Den Code des eigenen Webauftritts komplett fehlerlos zu halten, ist also kein Freifahrtschein, von Google dafür auch belohnt zu werden. Es gibt aber durchaus andere Argumente, die für möglichst ausschließliche Nutzung validen Codes sprechen.

Gerade veraltetes, fehlerhaftes HTML mag aktuell korrekt angezeigt werden. Bei zukünftigen Browsern könnte das aber schon nicht mehr der Fall sein. Was gerade noch problemlos erscheint, könnte dann plötzlich doch Probleme bereiten. Außerdem darf auch nicht die gegenseitige Verstärkung mehrerer Fehler unterschätzt werden. Zwei, drei Fehler auf einer Seite bleiben vielleicht ohne Konsequenzen, bei noch mehr invalidem Code wird die Seite dann aber vielleicht doch nicht mehr korrekt angezeigt.

Weiterlesen »

Written by Michael Kliewe

Juli 30th, 2014 at 4:03 pm

3 Konferenzen, 15% Rabatt-Codes, und 6 Abos!

with 28 comments

Es liegen noch einige Konferenzen an dieses Jahr, drei davon schneide ich hier kurz an weil ich eine davon dieses Jahr erneut besuchen werde, und ich 15% Rabatt-Codes ergattern konnte! Aber der Reihe nach.

Für die folgenden 3 Konferenzen kann ich Rabatt-Codes verteilen, jeweils 15%, natürlich auch noch anwendbar auf den Early-Bird-Preis bzw. den Kollegenrabatt, also der kleinsmögliche Preis:

JSD_2014_Banner_125x125_25368_v1Javascript Days

13. – 15. Oktober 2014 – Berlin. 18 Workshops zu je 3,5 Stunden. Die Themen umfassen unter anderem: AngularJS, JavaScript-Security, Web Application Architecture, ECMAScript 6, Hood.ie, Techniken für asynchrones JavaScript, Sass, Node.js, CouchApps, Regex für JavaScript, Website Performance, D3.js, Yeoman und Grunt.js, Responsive Webdesign

HTML5 Days

HTML5Days_125x125_2536713. – 15. Oktober 2014 – Berlin. 6 Workshops zu je 3,5 Stunden. Themen: Responsive Webdesign, CSS3, HTML5 Formulare, Touch-Oberflächen, und Web Components. Wem die 6 Workshops zu wenig sind: Alternativ können auch die Workshops der Javascript-Days besucht werden, die beiden Events finden parallel statt, und man darf beide besuchen.

PHP-Summit

PHP_Summit_125x125_25014_v324. bis 26. September 2014 – Düsseldorf. 18 Power-Workshops zu je 3,5 Stunden. Themen beispielsweise: Infrastruktur, Git, Sicherheit, SOA (Service oriented Architecture), Continuous Integration, Code-Qualität, Deployment ohne Wartungsfenster, Projekte erfolgreich beenden, Domain-Driven Design, wiederverwertbarer Code, Juristische Fallstruke, Typo3

 

Die Javascript-Days und HTML5-Days finden gleichzeitig in der selben Location statt, und wer eins von beidem besucht bekommt das andere umsonst mit dazu, man kann sich also aus beidem die jeweils interessantesten Vorträge raussuchen und hat noch mehr Auswahl.

Am PHP-Summit in Düsseldorf werde ich dieses Jahr wieder teilnehmen,  2012 war ich bereits beim Summit in Berlin dabei und hab es sehr genossen, kein reiner Frontalunterricht sondern Workshops mit direktem Kontakt, Hands-On und Eingehen auf die Fragen der Teilnehmer.

Wer an einem der drei Events teilnehmen möchte und einen Rabatt-Code braucht, schreibt einfach einen Kommentar hier im Blog und ich schicke einen Rabatt-Code raus per E-Mail.

Auf den ersten Blick sind die Preise etwas höher, das liegt daran dass es keine Massenveranstaltungen sind wie andere Konferenzen, wo 300 oder gar 1500 Entwickler zusammenkommen und ganze Kinos füllen, sondern hier nur wenige Dutzend Teilnehmer bei den Workshops sind, und auf jeden einzeln eingegangen werden kann. Ich kann das bestätigen durch den Besuch vor 2 Jahren beim Summit, ich konnte diverse Themen direkt ansprechen und wir haben diskutiert mit den Trainern und den anderen Teilnehmern, das ist cooler als „nur“ Präsentationen zuzugucken. Größer ist nicht immer besser. Man bekommt 3 vollgepackte Tage, jeweils 8 bzw. 9 Stunden Programm, andere Konferenzen sind häufig „nur“ 2 Tage.
Den Preis kann man sich in den meisten Fällen nicht privat leisten, da muss der Arbeitgeber schon mitspielen, was er auch ab und zu macht hoffe ich, denn Arbeitnehmer haben ein Recht auf Weiterbildungsmaßnahmen! Danke übrigens an meinen Chef, der mich da ab und zu unterstützt bei meinen Vorhaben!

Der Rabatt-Code ist mehr als 100€ wert, nutzt ihn!

Auch kann ich 6 Jahres-Abos an euch verlosen, 3 Mal das Entwickler-Magazin und 3 Mal das PHP Magazin! Sie verlängern sich nicht automatisch, also keine Bindung. Wer daran Interesse hat schreibt in die Kommentare entweder „+EntwicklerMagazin“ ODER „+PHPMagazin“, jeder nur ein Mal versteht sich. Die 6 Abos verlose ich am 4. August 2014.

Also, viel Glück, bzw.: Wir sehen uns in Düsseldorf!

Edit 05.08.2014: Die Gewinner der Verlosung wurden bestimmt.

Written by Michael Kliewe

Juli 22nd, 2014 at 1:21 pm

OpenSSL: Heartbleed

with 5 comments

heartbleedIhr habt es wahrscheinlich schon alle mitbekommen, es klafft ein riesiges Loch in der häufig eingesetzten OpenSSL-Bibliothek. Webserver, Mailserver, Jabberserver, alles was irgendwie mit Verschlüsselung zu tun hat ist gefährdet. Ist bereits OpenSSL 1.0.1 bis 1.0.1f im Einsatz (das ist die aktuelle Version, seit 2 Jahren verfügbar) steht ein dringendes Update an auf 1.0.1g.

Nicht betroffen sind OpenSSL 1.0.0 und 0.9.8. Nicht betroffen ist auch OpenSSH (wichtiger Unterschied).

Die Lücke hat den Namen „Heartbleed“ bekommen und ist unter der CVE-Nummer CVE-2014-0160 verzeichnet.

Mit Hilfe dieser Lücke können Angreifer auf „die nächsten 64KB“ des Arbeitsspeichers des Prozesses zugreifen. „Die nächsten“ ist aber variabel, je nachdem wo er gerade landet im Arbeitsspeicher, sodass mit einer gewissen Wahrscheinlichkeit auch der private SSL-Schlüssel zu finden ist. Dieser kann nun von außen ausgelesen werden, ohne dass es Logeinträge gibt, also völlig unsichtbar. Mit Hilfe dieses Private Keys kann der Angreifer die aufgezeichneten Trafficdaten der Vergangenheit entschlüsseln, aber auch in Echtzeit in der Zukunft den Traffic entschlüsseln. Er kann außerdem per Man-in-the-Middle anderen vorgaukeln dass sein Server gültig ist für die jeweilige Domain, und damit Phishing betreiben.

Sehr ausführliche Informationen befinden sich auf der Seite heartbleed.com.

Was ist zu tun:
Weiterlesen »

Written by Michael Kliewe

April 9th, 2014 at 4:34 pm

Verteilung der PHP-Versionen, Verbreitung von 5.5

with 6 comments

php5.5Da PHP 5.6 vor der Tür steht (die Beta müßte jeden Tag erscheinen, und die finale Version dann in einigen wenigen Wochen) fragte ich mich wie es mit der PHP 5.5 Verbreitung aussieht, immerhin ist 5.5 bereits am 20. Juni 2013 veröffentlich worden, also vor fast 10 Monaten. Bei mail.de sind wir erst Anfang Februar auf 5.5 umgestiegen, wir nutzen keine Software im Produktivbetrieb kurz nachdem sie released wurde und warten immer ein paar Wochen ab bis die ersten Bugfix-Releases erschienen sind. Wenn Zeit da ist versucht man sich bereits vorher an einer Testumgebung, aber diesmal fehlte die Zeit dies ausführlich machen zu können Mitte des Jahres. Ende des Jahres hatten wir so viel um die Ohren sodass wir erst Anfang dieses Jahres dazu gekommen sind.

Je größer die Umgebung, je umfangreicher die Applikationen und je mehr unterschiedliche Projekte mit externen Abhängigkeiten man hat, desto aufwändiger sind die Tests und die Änderungen die man machen muss. Mit der Version 5.5 gab es kaum Änderungen an Funktionen um die man sich kümmern muss wie man im Migration Guide 5.5 lesen kann. Wichtig sind vor allem die Backward Incompatible Changes, die Deprecated Features und die Changed Functions. Für uns jedoch war die wichtigste Änderung die Einführung des OpCache, der ehemals als Zend Optimizer+ bekannte Bytecode-Cache der nun mit PHP ausgeliefert wird. Wir nutzten bis dahin seit Jahren APC als Bytecode-Cache und auch als lokalen Usercache. Nun wechseln wir weg von APC hin zu OpCache und APCu. Da wir dort die meisten Probleme erwarteten mußten wir dies besonders gut testen, denn in den letzten Monaten sind noch einige kleine Bugs in APCu aufgetreten.

Weiterlesen »

Written by Michael Kliewe

März 30th, 2014 at 2:55 pm

GeoIP Fullsize Website

with one comment

GeoIP @mail.deWer schnell und unkompliziert sehen möchte wo eine IP-Adresse ungefähr beheimatet ist, der sucht sicherlich bei Google nach so etwas wie „ip geo location“ oder ähnliches. Es finden sich dann einige Suchergebnisse mit Webseiten und Formularen, in die man die IP-Adresse einträgt und man dann Informationen zur IP bekommt, wie beispielsweise den Reverse-DNS-Eintrag oder vielleicht auch einer kleinen Karte, wo die IP-Adresse ungefähr zugewiesen wurde.

Doch diese Webseiten sind häufig nicht IPv6-ready, und man kann sich nicht nur die Karte anschauen wenn das das einzige ist was einen interessiert. Wir haben dazu nun einen kleinen Dienst erstellt bei mail.de, der frei nutzbar ist und wo nur die Karte angezeigt wird, und zwar Fullsize:

https://geoip.mail.de

Standardmäßig wird erstmal die IP-Adresse des aktuellen Besuchers genommen, es kann aber oben für das kleine Textfeld oder über den GET-Parameter q eine IP-Adresse übergeben werden. Außerdem lässt sich die Sprache der Karte umstellen. Es funktioniert mit IPv6-Adressen und ist über HTTPS erreichbar, sodass man keine Probleme mit Mixed-Content bekommt.

Ein Beispiel

Weiterlesen »

Written by Michael Kliewe

März 7th, 2014 at 11:09 am