seeseekey.net - Invictus Deus Ex Machina

Rund um das Spiel Minecraft hat sich mittlerweile eine riesige Community gebildet. Das schlägt sich auch in den Werkzeugen und Anwendungen nieder, welche in irgendeiner Art mit Minecraft verbandelt sind. Eines dieser Werkzeuge ist der „JavaScript Redstone Simulator“ von Mordritch.

Der Redstone Simulator in Aktion

Dabei handelt es sich um eine Webapplikation mit welcher komplexe Redstoneschaltkreise simuliert werden können. Redstone ist dabei in etwa das Pedant zur Elektronik in der realen Welt. Die verschiedenen Elemente können auf einem Raster gesteckt werden und dann einer Simulation unterzogen werden. Auch ein Export des Ganzen ist möglich. Zu finden ist der Simulator unter http://mordritch.com/mc_rss/.

Über das Wochenende hatte ich einige GPS getagte Bilder geschossen und wollte diese auf einer Karte darstellen. Eine kurze Suche im Netz ergab, das so etwas in dieser Form nicht existierte (wobei hier natürlich ein Irrtum vorliegen kann). Also wurde das ganze auf Basis von Leaflet implementiert.

Die Webapplikation in Aktion

Leaflet ist ein Framework mit welchem man schnell Kartenapplikationen im Web realisieren kann. Um den „Gps Tagged Image Viewer“ zu benutzen, müssen die Dateien auf einem Webserver kopiert werden. Die Bilder werden dabei in den Ordner „images“ kopiert. Anschließend wird das PHP Skript „parseimages.php“ aus dem „utils“ Ordner ausgeführt. Dieses ließt die EXIF Daten aus den Bildern aus und erzeugt die entsprechenden Marker in einer Javascript Datei. Danach kann das ganze genutzt werden.

Die Karte ist dabei mit drei Kartenebenen versehen, einmal Bing Luftbilder (für welche ein API-Key registriert werden muss), sowie OpenStreetMap in zwei unterschiedlichen Renderings. Der Quelltext ist unter GPLv3 verfügbar und kann auf GitHub bezogen werden.

Ständig sind Rechner im Internet, irgendwelchen Angriffen ausgesetzt. Da man sich eine solche Aussage nur schwer vorstellen kann, gibt es seit einiger Zeit vom HoneyNet Projekt eine entsprechende Visualisierung dazu.

Die HoneyMap in Aktion

Zu finden ist die HoneyMap dabei unter http://map.honeynet.org/ und zeigt die entsprechenden Angriffe auf die Honey Pots des Projektes. Die Auswertung erfolgt dabei in Echtzeit. In der FAQ wird auch die Frage geklärt warum Aachen so oft angegriffen wird:

What is going on in Aachen?!
Most of the time, you will see attacks targeted against Aachen. This is because our honeypot at RWTH Aachen University is very active and captures attacks against hundreds of target IP addresses. This does not mean that Aachen is attacked more often than the rest of the world!

Der Quelltext der Webanwendung steht dabei unter der LPGL und kann unter https://github.com/fw42/honeymap bezogen werden.

Weitere Informationen gibt es unter:
http://www.honeynet.org/

Wenn man die Farben seiner Webseite auf Konstraste und ähnliches prüfen möchte, so kann man dies natürlich per Hand bewerkstelligen. Aber wie so oft gibt es auch hier Dienste, welchen einem das Leben vereinfachen. In diesem Fall wäre das der Dienst „Check My Colours“ welcher unter http://www.checkmycolours.com/ zu finden ist.

Check My Colours beim testen von seeseeekey.net

Nachdem die URL eingegeben wurde, bekommt man eine Auswertung angezeigt und kann diese dann interpretieren. Interessant wird der Dienst im übrigen bei den Adressen „http://example.com“ und „http://example.org“. Dort scheint er sich zu verschlucken und befördert sein Layout in den Orkus.

OpenStreetMap goes art“ — so könnte man den Dienst „OpenStreetPosters“ bezeichnen. Die Benutzung ist dabei ganz einfach. Stadtnamen eingeben und schon wird das Poster als PNG und PDF generiert.

OpenStreetPosters in Aktion

Wie der Name schon andeutet, wird das ganze aus OpenStreetMap Daten erzeugt. Zu finden ist OpenStreetPosters unter http://labs.polzunov.com/openstreetposters/.

Schnell mal ein Diagramm in eine Mail zu packen geht dank Anhängen, relativ problemlos. Aber es geht auch eleganter. So könnte man zum Beispiel die Webapplikation „Asciiflow“ benutzen. Mit dieser Webapplikation ist es ohne Probleme möglich Flussdiagramme zu erstellen

Asciiflow in Aktion

Die einstehenden Diagramme können dabei sowohl importiert als auch exportiert werden. Daneben gibt es einige Werkzeug, sowie eine Unde und Redo Funktionalität. Zu finden ist Asciiflow dabei unter http://www.asciiflow.com/ zu finden.

Es scheint Webapplikationen für so ziemlich jedes denkbare wie undenkbare Problem zu geben. Eine der interessanteren Applikationen ist sicherlich „Field Papers“ welcher unter http://fieldpapers.org zu finden ist.

Ein Atlas wird erstellt

Der Dienst ist dafür gedacht, für bestimmte Gebiete Karten auszudrucken, welche wahlweise mit einem Notizbereich ausgestattet sind. Diesen kann man dann dazu nutzen um z.B. beim Mapping für OpenStreetMap neue Informationen anzutragen. Neben dem Open Street Map Material benutzt der Dienst auch die Bing Luft– und Satellitenbilder, welche in unterschiedlichster Weise für die zu entstehende Karte kombiniert werden können.

Wie Heise berichtet, ist die aktuelle Version von Piwik (1.9.2) mit einer Backdoor versehen. Augenscheinlich fand die Infektion gestern, nach 15:18 Uhr statt, Updates welche vorher eingespielt wurden, sollten nicht betroffen sein.

Erkennen kann man eine infizierte Version an der Zeichenkette:

eval(gzuncompress(base64_decode

Sollte diese Zeile in der Piwik Installation auftauchen so sollte man folgende Schritte durchführen:

  • die Datei „piwik/core/DataTable/Filter/Megre.php“ löschen
  • aus der Datei „piwik/core/Loader.php“ die letzten sechs Zeilen löschen (beginnend mit „<?php Error_Reporting(0)“)
  • die Piwik Installation nach Dateien durchsuchen, welche nicht zu Piwik gehören und diese entfernen

Alternativ kann man das ganze neu installieren, mit der entsprechenden Github Version welche unter https://github.com/piwik/piwik/archive/1.9.2.zip zu finden ist.

Update:
Mittlerweile gibt es bei Piwik einen Sicherheitsbericht in welchem unter anderem steht das die Versionen von 16:43 Uhr bis Mitternacht kompromittiert sind.

Update (2):
Die im Sicherheitsbericht empfohlene Säuberung sieht so aus:

  • piwik/config/config.ini.php“ sichern
  • piwik/“ Verzeichnis löschen
  • neuste Piwikversion herunterladen
  • auf den Server hochladen
  • config.ini.php“ wieder in den Ordner „piwik/config/“ packen

Danach ist die Piwik Installation wieder sauber.

Weitere Informationen gibt es unter:
http://forum.piwik.org/read.php?2,97666
http://www.golem.de/news/webanalyse-backdoor-in-piwik-1211–95956.html

Bei einer multilingualen Webapplikation welche in PHP geschrieben ist, kann man natürlich zur Übersetzung mit assoziativen Arrays arbeiten und dann je nach Sprache die richtige PHP Datei einbinden.

$lang['welcome'] = 'Willkommen auf dieser Webseite.';
$lang['maintenance'] = 'Die Webseite befindet sich in der Wartung.';

Das Problem an dieser Variante ist, das sie nicht wirklich gut zu pflegen ist. Schöner ist es das ganze mit gettext zu übersetzen, da man hier nur die po Dateien übersetzen muss, und man das nicht im Quelltext tun muss.

Das Problem an dieser Variante ist allerdings, das nicht auf jeden Webserver gettext vorhanden ist. Hier hilft das Paket php-gettext welches unter https://launchpad.net/php-gettext/ zu finden ist. Mit Hilfe dieses Paketes, kann man gettext nutzen ohne sich darum kümmern zu müssen ob es installiert ist. php-gettext wrappt das ganze und emuliert nicht vorhandene Funktionen.

Das ganze zu benutzen ist auch relativ einfach:

 //gettext initialisieren
 $locale = "de_DE"; //Sprache definieren
 $domain = 'default'; //Domäne definieren
 $encoding = 'UTF-8'; //Zeichenkodierung definieren

 //include gettext
 require_once('./ext/php-gettext/gettext.inc');

 //Sprache setzen
 T_setlocale(LC_MESSAGES, $locale);

 //Pfad zu den Übersetzungen definieren
 T_bindtextdomain($domain, './locale/');

 //Zeichenkodierung setzen
 T_bind_textdomain_codeset($domain, $encoding);

 //Domäne setzen
 T_textdomain($domain);

Nachdem dies getan ist, kann damit begonnen werden die Texte in der Anwendung zu übersetzen. Dabei wird aus einem:

echo 'Willkommen auf dieser Webseite.';

ein:

echo T_('Willkommen auf dieser Webseite.');

T_ ist dabei der Name der Übersetzungsfunktion welche von php-gettext bereitgestellt würden. Unter reinem gettext würde diese Funktion nur _ heißen. Nachdem man seinen Quelltext mit den entsprechenden Funktionen bestückt hat muss man diese Strings aus den PHP Dateien extrahieren. Da man das nicht von Hand machen möchte nutzen wir dazu folgendes kleines Skript:

 #!/bin/sh

 #Schreibe alle PHP Dateien in eine Textdatei
(find ./data -name "*.php" && find ./system -name "*.php") > update-translations.txt

 #Rufe xgettext auf um die pot Datei zu erzeugen
 xgettext -f update-translations.txt -kT_ngettext:1,2 -kT_ --language=PHP -o update-translations.pot

Mit dieser pot Datei kann mittels PoEdit (http://www.poedit.net/) eine po Datei erzeugt werden. Diese po Dateien können auch wieder mittels der pot Datei aktualisiert werden, falls später neue Strings dazu kommen oder verschwinden. Beim speichern generiert PoEdit aus der po Datei eine mo Datei, bei welcher es sich um die binäre Representation der po Datei handelt. Diese mo Datei wird von gettext letztendlich zur Übersetzung genutzt.

Weitere Informationen gibt es unter:
http://phpmagazin.de/itr/online_artikel/psecom,id,874,nodeid,62,_language,de.html
http://blog.medianetix.de/2008/12/ubersetzung-von-quelltexten-mit-gettext-und-poedit/