NASA – Höhendaten visualisieren

Kleines Snippet zum visualisieren der NASA – Höhendaten. Die Daten gibt’s hier: https://dds.cr.usgs.gov/srtm/version2_1/SRTM3/ Das Skript muss auf den Server geladen werden, für die Meta – Datei muss der HTTP-Server schreibrechte haben. Im ersten Durchlauf wird zur besseren Visualisierung und zum Beschleunigen weiterer Renderings eine Metadatei erzeugt, in welcher die kleinste bzw. größte Höhe gespeichert wird. […]

Einfaches Imageresize + Caching

Ab und an kommt es vor, dass ein bereits existierendes Bild in einer anderen Größe benötigt wird. Dann kann man entweder mit Photoshop für jede Version des Bildes eine individuell zugeschnittene Version erstellen und diese in die Webseite einbinden (hier bietet sich eventuell Autopush – Einfach geänderte Dateien hochladen an), aber man kann das ganze […]

Simple Template Engine

Für ein etwas größeres Projekt habe ich eine einfache TemplateEngine gesucht. Ich wollte nicht sowohl für meine serverseitigen als auch meine clientseitigen Skripte immer wieder den selben Code schreiben, der dann auch an zwei verschiedenen Orten immer wieder umständlich geändert werden musste (Stichwort: Single Point Of Maintenance). Eine (Betonung!) einfache TemplateEngine scheint es so aber […]

SPAM protection methods N° 3: Timing ist wiedermal alles

Auch bei der Seitennavigation kann man den Geschwindigkeitsunterschied zwischen Bot und realem Nutzer relativ gut ausnutzen. Während ein Nutzer normalerweise ein paar Sekunden auf der Seite bleibt, bis er alle Informationen aufgenommen und verarbeitet hat (und möglicherweise sogar ein Formular ausgefüllt hat), macht ein Bot das ganze im Bruchteil einer Sekunde. Das können wir auf […]

SPAM protection methods N° 2: Timing ist alles

Im Rahmen der Reihe „SPAM protection methods“ geht es weiter mit Teil 2 und dem ominösen Titel „Timing ist alles“. Dem zu Grunde liegt die Überlegung, dass Nutzer, wenn Sie ein Webformular ausfüllen, nicht innerhalb von wenigen Sekunden sofort das gesamte Formular ausgefüllt haben. Geht man von der allwissenden Wikipedia aus, beträgt die Anzahl an […]

HTTP Range Request mit PHP verarbeiten

Manchmal wollen wir nicht die gesamte Datei vom Server laden, sondern nur einen gewissen Ausschnitt (Range) der Datei. Wir möchten also ein Startbyte und ein Endbyte definieren und alle Daten aus diesem Bereich zurückgeben. Das ist sinnvoll bei partial Downloads (= wenn wir als einen bereits begonnenen Downloadvorgang fortsetzen wollen oder ein Downloadmanagement via PHP […]

SPAM protection methods N° 1: Honeypot

Ein leidiges Thema seit Anbeginn des Internets ist SPAM (nein, nicht das Dosenfleisch, das gibt es länger als das Internet). An einem gelangweilten Wochenende hatte ich mir mal ein paar Gedanken darüber gemacht, wie wir SPAM (alternativ auch: Webcrawler) vermeiden können, und daraus entstand die Reihe „SPAM protection methods“. Teil 1 dieser Reihe handelt vom […]

PHP Snippets

Manchmal muss man schnell mehrere Variablen tauschen und ich hatte mich irgendwann gefragt, ob das nicht auch ohne temp – Variable möglich ist. Seit dem ist das meine best – practice: 1[$x, $y] = [$y, $x]