PHPGangsta - Der praktische PHP Blog

PHP Blog von PHPGangsta


Archive for 2012

Script zur Entfernung von schliessenden PHP Tags

with 29 comments

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 »

Written by Michael Kliewe

März 28th, 2012 at 10:12 am

Slides der Confoo 2012 Konferenz

without comments

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

Weiterlesen »

Written by Michael Kliewe

März 24th, 2012 at 11:29 am

PHP-Programmierung gehört zu den Hauptskills auf den Projektplattformen

with 14 comments

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.

Weiterlesen »

Written by Michael Kliewe

März 22nd, 2012 at 10:16 am

Push Notifications in Android Apps via C2DM

with 6 comments

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.

Weiterlesen »

Written by Michael Kliewe

März 20th, 2012 at 9:56 am

Local File Inclusion: Einige Beispiele

with 10 comments

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:

Weiterlesen »

Written by Michael Kliewe

März 16th, 2012 at 10:05 am