Archive for the ‘Server-Software’ Category
Velocity Europe Tag 2: Whao!
Speeeed! Genauso wie der letzte Tag geendet hat beginnt der zweite.
Steve und John eröffnen den zweiten Tag mit einer kurzen Opening Keynote, gefolgt von Jeff Veen der von den Problemen berichtet als Typekit einige Tage vor Weihnachten vom Erfolg überrollt wurde, und wie innerhalb eines Wochenendes das Problem kurzerhand gelöst werden musste und auch wurde. Das Grundproblem waren die vielen Kits die nicht zeitnah in das CDN gebracht werden konnten, und sich so eine massive Queue aufgebaut hatte. Ich mag solche praxisnahen Einsichten sehr. Eine These bzw. Grundsatz der Kultur der Firma: IRC über E-Mail. Im IRC kann man kurze Fragen und Antworten schreiben wie „no“. In E-Mails haben wir irgendwie den Zwang, formal zu schreiben und viele Sätze zu bilden. Das bläht schnelle interne Kommunikation unnötig auf.
International PHP Conference 2011: Tag 3
Der schon letzte Tag der International PHP Conference bricht an. Direkt der erste Slot um 9:00 Uhr war ein lang erwarteter: Nachdem ich den Vortrag auf der Unconference in Hamburg nicht gesehen habe ging mein erster Weg zu Nils Langner und Mike Lohmann und ihrem Vortrag „Redaktionelle Hochlastwebseiten am Beispiel von stern.de“. Vor allem die Zahlen waren für mich interessant, die eingesetzten Caching-Techniken (HTTP Accelerator, Bytecode Cache, Memcached) und Auswirkungen waren bereits gut bekannt. Edge Side Includes (ESI) könnte man sich mal im Detail noch näher anschauen, mit seinen Vor- und Nachteilen, Nils hatte ja bereits ein wenig dazu in seinem Blog angerissen, aber eigene Praxis ist immer besser als Theorie. Fazit: Auch Gruner kocht nur mit Wasser, gelungener Vortrag!
In seinem Talk „This Way or the other Way?“ ist Stefan Priebsch auf A/B Testing bzw. Multivarianten Tests eingegangen, der neue Begriff „Experiment Driven Development“ kommt langsam ans Tageslicht. Mit Codebeispielen (die er noch hochladen wollte 😉 ) wurde gezeigt wie man Experimente einbauen, definieren, aktivieren und auswerten könnte. Ob eine Änderung bzw. ein neues Features gut oder schlecht ankommt kann man nur in der Praxis bei den Usern herausfinden, das kann niemand voraussagen. Deshalb schaltet man neue Experimente für eine Untermenge der Benutzerschaft frei und schaut sich an was passiert. Ein Experiment ist in diesem Fall nur eine oder ein Satz von ausgetauschten Klassen mit den neuen Funktionalitäten. Der User sollte dann natürlich beim nächsten Request immer noch dieses Experiment sehen, man muss sich also mindestens in der Session merken wie die Konstellation für den User aussieht.
International PHP Conference 2011: Tag 2
Tag 2 der IPC. Diesmal ausgeschlafener und nach einem guten Frühstück im Hotel begann die Konferenz mit der Keynote „A cloudy blue-sky Brainstorm“ von Michiel de Jong. Eigentlich sollte der Begriff „Cloud“ ein wenig beleuchtet werden, aber ich fand es war eher eine Hommage auf diverse Open-Source-Produkte und -Firmen, für mich nicht wirklich hilfreich und eher uninteressant, schade.
Etwas besser war die erste Session „Web Performance – Test und Analyse automatisieren“, in der Klaus Enzenhofer über die dynatrace Ajax Edition gesprochen hat. Er hat gezeigt wie man funktionale Tests mit JUnit erstellt, mit dynatrace Performance-Daten im Browser erhebt und dann über die Zeit automatisiert Veränderungen in den Performancewerten bemerken kann. Leider funktioniert es nur unter Windows und hat noch einige andere Macken, von denen einige in der kommerziellen Version behoben sind. Insgesamt interessant gehört zu haben, wird aber bei mir/uns wohl nicht zum Einsatz kommen.
International PHP Conference 2011: Tag 1
Es gibt nicht viele Tage im Jahr wo ich so früh aufstehe wie heute: 4:30 Uhr (Nachts!). Aber heute ist der erste reguläre Tag der International PHP Conference 2011 (IPC11) wenn man vom Workshop-Tag am Sonntag absieht, und dafür stehe ich auch nach 3 Stunden Schlaf wieder auf.
Trotz vieler Baustellen auf den 300km Strecke bis nach Mainz bin ich 8:50 Uhr an der Rheingoldhalle und kann einchecken. Kurz darauf beginnt bereits die Opening-Keynote. Die erste Session ist für mich „Client Security im Web 2.0 und mit HTML5“, vorgetragen von Carsten Eilers, einem Consultant, Trainer und Autor spezialisiert auf IT-Sicherheit. Im Talk geht es um Probleme mit dem Local Storage, Session Storage, Clickjacking, Buttonjacking, Framebuster, und natürlich am Rande um XSS und CSRF. Insgesamt eine solide Session mit einigen neuen Sicherheitsproblemen über die ich noch nicht nachgedacht habe. Bin ja auch eigentlich kein Frontendler 😉
Das Problem mit HEAD Requests in PHP
Ich bin gerade auf ein interessantes Verhalten gestoßen das eventuell große Probleme bereiten kann. Wahrscheinlich nur sehr wenige von euch werden das hier wissen, trotzdem ist es sehr interessant und provoziert eventuell Probleme und Sicherheitslücken.
Das hier vorgestellte Verhalten ist wahrscheinlich kein Problem von PHP sondern eventuell vom Webserver, aber ich weiß es nicht genau. Vielleicht kann ja mal jemand mit Tomcat oder nginx dieses Problem nachstellen.
Wir nehmen folgendes Script als Beispiel:
<?php file_put_contents('/tmp/outp', '1'); echo 'start'; file_put_contents('/tmp/outp', '2', FILE_APPEND); echo 'ende';
Ich glaube ihr stimmt mir alle zu wenn ich behaupte: Das Script erstellt immer eine Datei mit dem Inhalt „12“. Es kann zum Beispiel nicht passieren dass nur „1“ in der Datei steht.