Archive for 2012
Script zur Entfernung von schliessenden PHP Tags
Nach wie vor gibt es viele Diskussionen ob das schliessende PHP-Tag am Ende einer PHP-Datei weggelassen werden sollte oder nicht. In vielen großen Projekten wird das Weglassen mittlerweile vorgeschrieben (Zend Framework, Symfony, Doctrine), in einigen muss es zwingend vorhanden sein (Lithium), aber in noch mehr Projekten ist es nicht festgelegt und wird mal weggelassen mal eingefügt, je nachdem welcher Entwickler die Datei erstellt bzw. als letztes geändert hat.
Besonders in Projekten mit gemischtem Vorgehen sollte eine einheitliche Lösung gefunden werden, und falls das die Löschung der End Tags bedeutet, dann nutze ich mein kleines Script hier um alle Dateien von schliessenden PHP Tags am Ende zu befreien:
Weiterlesen »Slides der Confoo 2012 Konferenz
Whao, Ende Februar fand die diesjährige Confoo statt, unglaubliche 167 Sessions an 5 Tagen. Da hätte ich auch mal Lust nach Kanada zu fliegen bei solch einem Programm. Wenn das Lesematerial mal nicht für 2 Wochenenden reicht… Viel Spass!
27. Februar 2012
Training: Advanced PHP Development
Sebastian Bergmann, Arne Blankerts, Stefan Priebsch
Training: HTML5
Benoit Piette
Training: Diving into Symfony2 Advanced Features
Hugo Hamon
Training: Sécurité web PHP
Jonathan Marcil
Training: PHP Web security
Jonathan Marcil
28. Februar 2012
The HTML5 Landscape
Andrew Lombardi
Mashing up JavaScript
Bastian Hofmann
How to Design a Mobile Friendly API
Fred Brunel
PHP-Programmierung gehört zu den Hauptskills auf den Projektplattformen
Gastartikel von Wojciech Dziedzic
Wojciech Dziedzic hat an der Humboldt Universität zu Berlin Germanistische Linguistik, Anglistik und Polonistik im Magisterstudiengang abgeschlossen. Jetzt arbeitet er im Online Marketing bei twago – einer Projektvermittlungsplattform für Freelancer und KMU’s.
Die Projektvermittlungsplattformen oder Online-Marktplätze wachsen jeden Monat, weil immer mehr Spezialisten und Auftraggeber von solcher Art der Zusammenarbeit überzeugt sind. Zielgruppe dieser Anbieter sind vor allem Freelancer und KMU’s. Programmierer, Webdesigner, Übersetzer, SEO- und IT-Experten, Grafikdesigner und viele mehr gehören zu tausenden registrierten Dienstleistern bei den Projektplattformen. Einer der Hauptskills, sprich die Anzahl der registrierten Nutzer mit dieser Fähigkeit, ist die PHP-Programmierung. Das spiegelt sich auch in der Anzahl der ausgeschriebenen Projekte, für die dieser Skill benötigt wird. Plattform, Projekt, Skills – das sind nur Begriffe, aber wie das ganze Verfahren funktioniert, das wird im Folgenden kurz beschrieben.
Push Notifications in Android Apps via C2DM
Seit Android 2.2 gibt es in Android Apps die Möglichkeit auf Push-Nachrichten zu reagieren. Dieser Dienst wird Cloud to Device Messaging oder kurz C2DM genannt.
Die App registriert sich dazu bei den C2DM Servern an und bekommt dafür eine DeviceRegistrationID. Ab dann wird die Verbindung zwischen dem Android Market (neuerdings Google Play genannt) und den Google-Servern genutzt um die Push-Nachrichten auf das Handy zu bekommen.
Die DeviceRegistrationID muss die App dann an unseren Server melden, und alle Nachrichten an diese DeviceRegistrationID kommen dann auf genau diesem Handy an. Sollte das Handy ausgeschaltet sein werden die Nachrichten zugestellt sobald das Handy (und die App) wieder gestartet sind. Falls alle Nachrichten den selben „Collapse Key“ haben wird nur die neueste zugestellt.
Der Server, der eine Nachricht senden möchte, sendet dazu einen POST Request an Googles C2DM Dienst. Der Text der Nachricht ist auf maximal 1024 Byte beschränkt, sollte also nur für kurze „Aufweckpings“ bzw. Nachrichten a la „Es gibt Neuigkeiten vom Typ X, frag beim Server nach“ geeignet sein.
Local File Inclusion: Einige Beispiele
Ich habe schon länger keine sicherheitsrelevanten Probleme mehr gepostet, heute schauen wir uns ein paar häufig gemachte und exisierende Fehler an. Schaut euch diesen Code-Schnipsel an:
<? $url = $_POST['imageUrl']; $content = file_get_contents($url); // Put the content of that URL into a database for later use/display
Der Benutzer der Webseite kann also in ein Formular eine URL eintippen, beispielsweise die URL eines Bildes, einer XML-Datei oder einer Webseite. Das Script ruft diese Resource (z.B. ein Avatar Bildchen) ab und speichert es auf der Festplatte oder in einer Datenbank.
Auf einer anderen Seite kann der Benutzer (und vielleicht alle anderen Besucher der Webseite) dieses Bild dann abrufen.
Gibt es hier ein Sicherheitsloch? Ja, gleich mehrere! Was passiert wenn der Benutzer zum Beispiel folgende URLs eingibt: