WikiScanner

Das Tool WikiScanner ist fertig. Am 14.August wurde es auf Wikipedia veröffentlicht, um besonders Firmen aufzudecken, die Beiträge an den Produkten von Konkurrenten manipulieren.

So wurde beispielweise die Auto-Firma BMW überführt, das eigene Produkt gegenüber dem Konkurrenten positiv darzustellen (“Dennoch ist die Bedienung einfacher da intuitiver als beispielsweise die Bedienung des MMI von Audi.”). eBay wurde überführt den gesamten Artikel ebay – “Kritik” gelöscht zu haben. Scientology gab an, dass ihr “Führer Hubbard” vielen hilfsbedürftigen Menschen Geld gespendet hat, wobei dies nicht offiziell bestätigt werden konnte. Aber nicht nur deutsche Unternehmen wurden überführt: das FBI, die CIA und Microsoft wurden auch schon gesichtet.

Das Prinzip funktioniert ganz einfach. IP-Adressen werden in Datenbanken bestimmten Firmen zugeordnet. Erfolgt eine Änderung mit dieser IP-Adresse in dem Genre, in dem diese Firma arbeitet, sieht sich ein Administrator diese Änderung an und überführt so Manipulationen (das Tool arbeitet mit den öffentlichen Datenbank-Dumps).

WikiScanner

Funstuff

Dieses mal habe ich von 3 lustigen Sachen zu berichten.

  • Dieses Bild entstand, als ein Kunde 30 Minuten auf Bedienung warten musste. 😛
  • Mit diesem Marcophono kann man Bekannte anrufen. Man wählt eines Stimme aus und mit dieser kann man dann anworten. Leider liegt es nur im Bereich des Möglichen, dass man eine kleine Auswahl zwischen Standardtexten hat (zB “Hallo, ich bin der Peter!” “Ja, klar….”). Ein kleiner Spaßtool über VoiceIP. Ich habe darauf verzichtet es auszuprobieren! 😉
  • Das Spamradio ist ein Computer, der Spammails vorliest. Dabei kann man Texte hören, die nur witzig klingen, wenn sie von einem Computer vorgetragen werden. ^^

via Dirk, welt

Funstuff

TV-Browser

TV-BrowserEine neues Open-Source-Programm ist in der Version 2.5.3 final verfügbar. Es ist ein TV-Browser, der einem die lästige Fernsehzeitschrift erspart. Eine sehr leichte Konfiguration, viele Funktionen und Plugins haben mich von diesem (werbefreien) Programm überzeugt.

Gleich am Anfang hatte ich den Wunsch, die Spaltenbreite zu verringern. Also ging ich unter “Einstellungen” und schon war es da. Also ist es kein Microsoft-unübersichtliches-Menü-Programm, sondern originales OpenSource-Projekt für Windows, Linux, Mac und OS/2. Es sind mehr als 160 Sender verfügbar, die man komfortabel überblicken kann.

Ein kleiner Fehler tritt bei mir auf: “Durchsuchen” funktioniert bei mir nicht. Dies habe ich aber umgangen, indem ich alle meine Lieblingssendungen eingetragen habe und wenn diese gerade laufen, werde ich informiert. 🙂

TV-Browser

2 1/2 Wochen…

<?php
$time = mktime(8, 0, 0, 9, 10, 2007);
$diff = ($time - time());
echo date("j.n.Y H:i", ($diff-3600));
?>

Eigentlich sollte dieser Blog nicht zu einem Countdown verkommen, allerdings ist es momentan das, wonach ich meinen Alltag richte. Dieses Skript gibt gerade “18.1.1970 10:01” (-3600 weil UTC+0100 ist) aus. 18 Tage und 10 Stunden bis ich wieder in der Schule sitze. Ich poste es nocheinmal, weil ich letztes Mal vergessen habe, dass wir “dank” Fr. Gehrer schon am Montag Schule haben. 🙁

Also momentan geht es mir so ähnlich wie dem Steve. Zwar bin ich nicht am Computerspielen (das habe ich bereits hinter mir 😉 ) , aber ich würde mich als das Gegenteil von “produktiv” bezeichnen. Irgendwie habe ich gerade zu gar nichts Lust, dabei habe ich noch so viel vor Ferienende geplant.

Vorerst muss ich schauen, dass mein Laptop wieder in Schwung kommt. *grml* läuft nicht, wobei ich unbedingt vollständig in die Linux-Welt einsteigen will. Dank der Bash-Programmierung weiß ich beispielweise jetzt, dass das HTML-Zeichen &lt; (<) so heißt, weil es die Abkürzung für less than ist. Bash-Programmierung will ich unbedingt praktizieren (kann ich auch am Standrechner, aber da arbeite ich lieber an meinen Projekten), allerdings werde ich die Syntax nie können (PHP und bash :wurg: ). Naja… also würde ich Linux gerne bald am Laptop verwenden, allerdings weigert sich das Laufwerk. 🙁

Die Kamera hat komische Streifen auf den Bildern. Deshalb habe ich sie zu Amazon geschickt. So wie ich Amazon kenne, wird es mir die Kamera “garantiert” ersetzen. Aber ich lasse Amazon entscheiden, ob eine Reparatur sinnvoller wäre.

Die Arbeiten an BRG3 schließe ich heute ab. Fertig sind sie noch nicht ganz, allerdings ist der Rest in 10 Minuten und mit ein bisschen mehr Know-How erledigt. End-Note ist ein 3er. Teilweise sehr geschickt, aber teilweise schlecht gemacht. Ich schließe das eigentlich nur ab, damit ich das Gefühl habe, dass ich an den anderen Projekten arbeiten muss. Psychologischer Trick also….

Am meisten hätte ich Lust jetzt an MyHP zu arbeiten, allerdings steht das auf der Liste fast ganz unten. Ich werde jetzt wohl lowk-spotting.at fertig bringen müssen und mich damit ein bisschen damit ärgern. Gästebuch nachbauen, keine Standardschriftart, Adminmenü … ich komme! :wurg:

Im Zeitplan bin ich sehr hinten nach. lowk-spotting.at dürft bis max. Sonntag dauern, damit ich wieder zeitgemäß dran bin. Das wird sich sicher nicht ausgehen, aber ich hoffe das Beste.

Wie man an den Absätzen unweigerlich erkennen kann, bin ich “hochmotiviert”. Bis in die Nacht Blogs lesen, um halb 10 aufstehen, Blumen gießen bei Prokops und dann den ganzen Tag auf eine 2D-Fläche starren. Naja.. wäre Schule jetzt besser? Nein… deshalb versuche ich es noch zu genießen. 😉

2 1/2 Wochen…

“Die eigene Homepage”

Buch 'Die eigene Homepage'
Dieses Buch aus dem Jahre 1998 bekam ich gestern von meinem Bruder geschenkt. Sehr interessant! Es erklärt die Schritte zur eigenen Homepage von Anfang an…

Browser: IE 4.0, Netscape 4.0, Firefox… was ist das? (2002 “gegründet”) Die Browser sind natürlich alt, aber es zeigt ungefähr zu welcher Zeit das Buch geschrieben worden ist. Was mir sehr auffällt: Der Lynx war damals (zumindest im Buch) ein weitaus beliebterer Browser als heute (DOS-Lynx; von Linux steht überhaupt nichts drinnen).

W3C & HTML: Also hier standen die ärgsten Sachen für mich. Ich konnte im ganzen Buch das Wort “World Wide Web Consortium” bzw. “W3C” (1994 gegründet) nicht finden. Auch von Tim Berners-Lee (Hypertext im Jahre 1989 vorgeschlagen) ist kein Sterbenswörtchen erwähnt. *brr* In solch einem Buch sollte doch zumindest etwas über die Geschichte des Hypertexts stehen?! Hypertext? Was das ist, wird auch nicht erklärt (nur HTML).
Wie schaut der erste Tag einer HTML-Homepage aus? <HTML> :wurg: Naja, altes HTML mit Großbuchstaben (laut SGML erlaubt) und von Doctypes keine Spur (konnte auch keine Versionsnummer von HTML finden).

Design: Damals war es ein leichtes Musik einzubinden, ein Video zu präsentieren. Schließlich gab es dafür nur 2 Browser (IE, Netscape) und wenn der eine einen Tag akzeptiert, der andere nicht, dann schreibt man es einmal für den Netscape & einmal für den IE. Was der Browser nicht interpretieren kann, wird eh ignoriert (praktisch!).
CSS ist nahezu gleich wie damals. Man muss sich einfach den selben Grundsatz denken (“Ein Element sprichst du mit dessen Tagnamen an”). Dann funktioniert es ganz gleich. Die Attribute heißen ganz gleich (font-weight, font-size, color, background-color,…) außer dass man es damals bevorzugt hat, in HTML irgendwie hineinzuschreiben.
VRML war mir nicht bekannt und Wikipedia besagt, dass sich diese Sprache nicht bewährt hat und nahezu verschwunden ist. Also ist eine kleine Wissenslücke wieder gefüllt (lernen möchte ich es aber nicht 😉 )…
<JAVASCRIPT LANGUAGE=”JavaScript”> *brr* In etwa im Jahre 2000 kam der große Bruch von JavaScript, woraufhin fast alle JavaScript bei ihrem Browser deaktiviert haben, weil der Internet Explorer ärgste Sicherheitsfehler hatte (hier ein bisschen zum Lesen). Über ein paar Befehle konnte man auf die Festplatte des Users zugreifen (für damalige Zeit eh nicht so schlimm, weil die Daten nur mit Erlaubnis des Benutzers übertragen werden konnten; heute mit AJAX sehr gefährlich!). Und dieses Buch schreibt 2 Jahre vorher so euphorisch über JavaScript. :wurg:

Also ich bin ein bisschen schockiert von dem Buch. Der Autor konnte nicht im Geringsten abschätzen wohin sich der Hypertext entwickeln wird und wichtige Kapitel fehlen einfach. Die Beispiele sind lückenhaft bzw. gar nicht erklärt und das ganze Buch beschäftigt sich nur mit IE (Screenshots, Bugs, …). Browserweichen wurden schon damals benutzt, sind aber nicht so effizient wie heute. Es werden alle Technologien von damals besprochen, aber oft nur angeschnitten und nicht besprochen. Von einem 300-Seiten-Buch kann man eigentlich mehr erwarten und ich muss sagen, dass die Free-Tutorials von heute um ein Vielfaches besser sind (Ich schätze das sehr! 😉 ).

Web 2.0: Im Nachhinein muss ich noch die Screenshots von den Seiten damals ansprechen (Letztes Kapitel ist “Wichtige Seiten”). Es hilft mir der Definiton von Web 2.0 näher zu kommen. An den Screenshots erkennt man noch wirklich den Hypertext. Oft werden die Schriftarten nicht eingestellt (*brr* Times New Roman) und eine Seite nicht auf die volle Länge auszuweiten, kam damals niemanden in den Gedanken. Frames waren damals teilweise sehr beliebt (grundsätzlich beim Autor ^^ ) und Bilder waren eine Neuheit. Niemand wäre damals auf die Idee von Blogs, RSS und Foren gekommen. In diesem Bereich hat sich viel getan und das Buch hat mir näher gezeigt, was unter Web 2.0 zu verstehen ist.

“Die eigene Homepage”

3 Wochen…

25 Tage, 23 Stunden, 28 Minuten sagt mir mein PHP-Skript… dann sitze ich mit dem Laptop in der Schule und schreibe den Stundenplan für das nächste Schuljahr auf. Deshalb ist es Zeit für einen Zwischenstand. (“vollendet”, etc. bezieht sich auf die Zeit in den Sommerferien)

Projekt vollendet Aktion Stress
BRG_HP 5% Weiterskripten – sobald wie möglich! :*-(
lowk-spotting.at 70% auf Laptop warten (Michi) – unter Linux arbeiten :*-(
MyHP 5% fertig designen, unterm Schuljahr Stoff sammeln, Serverwechsel :-/
MyBlog 90% kamot, ein paar Kleinigkeiten 🙂
BRG3 90% Zitatsys editiert, sehr zufrieden 🙂

Edit: Icons-Set installiert! Nicht das perfekteste, aber es funktioniert! Große Kritik: “Smilies hinzufügen” sehr schlecht dokumentiert = gar nicht. Ich lasse das Argument “WP ist noch jung” gelten.

Small-Doku (Wp 2.1): Smilies liegen im Verzeichnis “wp-includesimagessmilies”. Der Smiley-Interpreter ist in der Datei “wp-includes/vars.php” (ich habe ihn ganz leicht mit PHPs glob() geändert). Ich habe noch einen Link auf das Smiley-Verzeichnis im “Write-Post”-Menü hinzugefügt (bzw. so wie “Options” im Header). Dazu kommt in die Zeile 28 der “wp-admin/menu.php” ein $menu[45] = array(__('<a href="../wp-includes/images/smilies/">Smilies</a>'), 'smilies', 'options-general.php');. Nutzt eine kleine Sicherheitslücke aus 😉

3 Wochen…

PHP-Injektion

Über SQL-Injektion spreche ich oft und gerne, weil es eine bedeutende Sicherheitslücke in vielen PHP-Quelltexten ist. Direkt dadurch kam mir auch in den Sinn, dass man auch PHP irgendwie “initieren” kann. Heute habe ich mir deshalb eine einfache Aufgabe gestellt:

Aufgabe: Entführe die GET-Daten und gebe die Variable $passwd_db aus:

<?php
$passwd_db = "MySQL-Passwort-das-ganz-lang-ist";
echo $_GET['hack'];
?>

1.Schritt: Verhalten dokumentieren. Ich habe eine Ergebnistabelle erstellt, um die Lösung schneller zu finden:

Aufruf: Ergebnis:
?hack="; echo $passwd_db; echo " "; echo $passwd_db; echo "
?hack=echo $passwd_db; echo $passwd_db;
?hack=<?php echo $passwd_db; ?>
?hack=$passwd_db $passwd_db
?hack=<?php echo "true"; ?>

2.Schritt: Parser. Um jetzt nicht einfach darauf los zu testen, habe ich mich gefragt, durch welche das Skript läuft:

HTML: sinnlos
CSS: sinnlos
PHP: unbekannt; erst starten? schon aktiv?

Wird der Text einfach ersetzt? Also ?hack=<?php echo "true"; ?> ergibt im Quelltext echo <?php echo "true"; ?>. Das bezweifle ich, weil das sehr unsicher klingt. Also müsste ich bereits innerhalb der Conditional Comments sein.

3.Schritt: Aus Verhalten schlußfolgern.

" wird escaped: “
<?php ?> alles zwischen den CC wird ausgelassen.

Ich komme zu dem Schluß, dass alles zwischen <?php ?> ignoriert wird, da es eine erhebliche Sicherheitslücke wäre. Deshalb hat diese Aufgabe keine Lösung… zum Glück.

PS:
Sehr leicht wäre es mit eval (und sehr kriminell!).

<?php echo eval($_GET['hack']); // Sicherheitslücke eval() ?>
<?php echo htmlspecialchars($_GET['hack']); // Die einfachste Sicherheitsvorkehrung für das obrige Bsp. ?>

PHP-Injektion

XHTML, XML, XSLT, DTD

Heut habe ich mich zum ersten Mal in die XML-Welt begeben. Wem die Begriffe des Titels nicht gängig sind, dem habe ich hier eine Liste gemacht:

  • XML: Extensible Markup Language
  • XHTML: Extensible Hypertext Markup Language
  • XSL(T): Extensible Stylesheet Language (Transformation)
  • DTD: Document Type Declaration

Der Grund wieso ich mit XML begonnen habe ist klar, wenn man einmal mit (X)HTML arbeitet. Deshalb habe ich mir zum 16. Geburstag ein XML-Buch (Amazon) gewünscht. Und bevor ich in Richtung LaTex und Perl/Python gehe, wollte ich unbedingt eigene DTDs schreiben und lesen können. Sehr informativ war diese graphische Darstellung, die die Bedeutung von XML aufzeigt und die Verbindungen zu (zB) XHTML sichtbar macht:

XML

Natürlich gibt es noch viel mehr “Sprachen”, aber hier sind die wichtigsten aufgelistet und das macht mir klar, was beispielweise RSS ist. Ganz allgemein muss ich sagen, bin ich nicht überwältigt von XML, trotzdem möchte ich des Öfteren mit XML arbeiten und die ersten Arbeiten sindwaren unter /xml/ erreichbar. Mein Ziel wäre es natürlich die XHTML-DTD von Tim Berners-Lee auswendig runterschreiben zu können. Das wäre dann so ziemlich das freakigste, was ich gemacht habe, würde mir aber beweisen, dass ich XHTML vollständig beherrsche. 🙂

Buchbewertung:
Autor: Tobias Hauser
Titel: “XML Standards”
Verlag: entwickler.press
Preis: 7.9€
Seiten: 116
Bewertung: Für jemanden der XML bereits kann / kennt ist dieses Buch sicher ein gutes Notizbuch, denn der Umfang von XML ist groß, sodass solch ein Buch unverzichtbar ist. Sehr interessant ist die Bedeutung des Hypertexts seit Berners-Lee dokumentiert und schön für Anfänger zuammengefasst. Bezüglich Syntax muss ich dem Buch ein großes Minus geben. Viele Fragen sind nicht ausreichend beantwortet (Was ist der Unterschied zwischen #PCDATA und #CDATA?) und das Buch ist schlecht strukturiert (Oft sind Werte für Elemente, Attribute und Inhalte in einen Topf geworfen). Für Anfänger ist es nicht zu empfehlen (außer Kapitel 1 “Die Idee”), aber für Fortgeschrittene ist es preiswert und empfehlenswert. 🙂

XHTML, XML, XSLT, DTD