Plaintext Passwords for the shame!
vom 23. June 2010Vor Kurzem habe ich all meine Passwörter in eine neue Passwortverwaltung umgezogen. Dabei habe ich mir den Spaß gemacht, die "Passwort vergessen"-Funktion vieler Websites und anderer Systeme auszuprobieren, um danach das Passwort auf ein neues Zufallspasswort zu setzen. Was mir allerdings da widerfahren ist hat mich schon geschockt!
Folgende bekannte Seiten speichern die Passwörter sämtlicher Nutzer im Klartext:
- backpackit.com
- sipgate.de
- selfhtml.de
- symlink.ch
- musicbrainz.org
- ... und mehrere kleinere Webseiten
Das hat mich schon ziemlich erschreckt. Ich dachte eigentlich, dass Größen wie musicbrainz, Sipgate oder 37signals ein kleines bisschen auf Datenschutz wert legen. Da Hilft dann nur abmelden oder regelmäßig das Passwort ändern.
Apropos ändern: Einige Seiten baten nicht mal die Möglichkeit an, sein Passwort zu ändern. Die Löschung eines Accounts ist auch selten vorgesehen. Schon mal versucht in einem Wordpress oder einem PHPBB einen Benutzer zu löschen? Diese Funktion ist einfach nicht vorgesehen.
Und wenn man dann den Betreiber anschreibt, er solle doch bitte den Account incl. Daten löschen, bekommt man in den meisten Fällen die Antwort: "Das geht leider nicht, melde dich doch einfach nicht mehr an, die Daten sind hier sicher" .... alles Klar.
Geocaching mit 1und1
vom 28. May 2010Meine Freundin schickte mir heute einen Link zu einem Artikel auf geocaching-blog.de. Anscheinend plant also 1und1 - der große Webhoster - auch einen auf Social-Media-Flickr-Twittr-Facebook-Freund zu machen. Was genau soll noch nicht verraten werden, zumindest ist die Facebook-Gruppe komplett leer und mit ziemlich viel null-Inhalt gefüllt.
Da wir bei solchen Sachen gerne mitmachen, habe ich natürlich angenommen, dass dies teil des Spieles ist. Also schnell google angeworfen und die beiden Treffer angeklickt. Das eine ist ein etwas eigenartiger Twitter Account, in dem das selbe wie in der Facebook-Gruppe steht. Mit der Ausnahme, dass hier jeder zweite Satz in einer neuen Twitter-Nachricht steht (wie soll denn auch der ganze Vorgabe-Text in 140 Zeilen passen, das geht doch gar nicht!).
Der zweite Link führt zu einer Seite die eigentlich genau dem entspricht, nach dem ich gesucht hatte. Nur die URL ist etwas eigenartig. Die URL auf geocaching.1und1.de zu ändern führt ins leere, also schnell dort anmelden. Das Formular sagt "Erfolgreich abgesendet" und leert sich danach. Komisches Verhalten, aber das soll mir ja egal sein. Als nach ~10 Minuten immer noch keine E-Mail mit den Koordinaten angekommen war, klickte ich einfach mal ohne Daten einzugeben auf den Absenden-Knopf des Formulars. "Das Formular wurde erfolgreich verwendet" ... okay, scheint wohl entweder ziemlich beschissen programmiert zu sein oder irgend was anderes ist defekt. Weil das Formular nicht tut, hatte ich an die unten angegebene Adresse eine E-Mail geschickt, mit der Bitte das Formular zu fixen oder mich so anzumelden. 5 Sekunden später sagt mir ein schlund.de Mailserver, das die Adresse "permanent fatal errors" hat. Super klasse.
Schon ziemlich angepisst geh ich auf na-media.de, die diesen viralen Versuch, hip zu sein, verbockt haben. Und schon beim Klick auf "Leistungen" (Cache) springen einem graue Schrift auf grauem Hintergrund und Powerpoint-Bilder mit eingeschalteter Rechtschreibkorrektur entgegen. Die Shift-Taste scheint auch zu hängen.
Wie schlecht ist dass denn bitte? Unprofessioneller kann man es doch gar nicht mehr machen. Werde mich jetzt mal an Marcell D'Avis wenden, vielleicht hat der ja ne Ahnung was das soll.
Edit (28.05.2010): Marcell D`Avis hab ich noch nicht erreicht aber ein Mitarbeiter von der SocialSoftwareSolutions GmbH (vermutlich die Frau Rentzsch) hat mich aufgeklärt: Die Aktion sollte erst nächsten Dienstag starten und die Webseite war wohl ausversehen schon online. Alle Spuren wurden beseitigt und auch der Webmaster hat seinen Fuß von der Shift-Taste genommen. Sehr agil, das muss man ihnen lassen!
Edit (30.05.2010): Also entweder will sich 1und1 von dieser verpatzten Aktion distanzieren oder sie wussten echt nicht was da vor sich geht. Jens Stelmaszyk hat ein Statement vom Social Media Team von 1und1 auf seinem Twitter-Account gefunden. Näheres vermutlich erst Montag.
Edit (02.06.2010): Die Aktion scheint wohl doch geplatzt zu sein. Schade eigentlich, fand die Idee an sich nicht schlecht.
Edit (16.06.2010): Die Webseite ist ja tatsächlich wieder online. Also wer noch mitmachen will, viel Spaß.
Mit GIT und Ramaze zum Ziel
vom 11. June 2009Wer mich kennt, weiß dass Ruby seit ein paar Jahren meine Lieblingsprogrammiersprache ist. Da ich zur Zeit durch das Praxissemester bei IBM täglich mit PHP und dem Zend-Framework arbeiten muss, tut es richtig gut, privat mit Ruby zu programmieren. Im Webbereich ist RubyOnRails ja mittlerweile zu einem quasi-Industriestandard geworden. Mir ist das Framework aber zu groß, zu aufgebläht, zu schwerfällig und komplex. Deshalb hab ich mich - mal wieder - auf die Suche nach einem für mich besseren Web-Framework gemacht und bin auf Ramaze gestoßen. Ideal für mein aktuelles Projekt (von dem ich bald berichten werde).
Ramaze ist wirklich nur ein Framework zur Entwicklung, nichts anderes. Es steht jedem Entwickler frei, welchen Server, welche DB-Schnittstelle und welche Template Engine man verwenden möchte. Der SourceCode ist super dokumentiert und durchgetestet. Aber das Beste an diesem Framework ist die Community und die Entwickler selbst. Ich hatte zu Beginn ein paar Anlaufschwierigkeiten, die ich im IRC innerhalb von ein paar Minuten gelöst bekam.
Beim Programmieren habe ich einen kleinen Bug gefunden, der eigentlich schnell behoben war. Auf der Seite fand ich leider kein Bug-Tracker o.ä., also beschloss ich mit der Anleitung ein Patchfile zu generieren. Nachdem ich den Patch an manveru im IRC geschickt hatte, war er 10 Minuten später im trunk eingeflochten. So macht das Spaß!
Bisher bin ich mit Subversion als Versionsverwaltung immer gut gefahren, auch wenn viele nicht damit zurechtkommen oder darüber fluchen. Doch GIT wird mir von Tag zu Tag sympathischer.
Kommentar schreiben,
del.icio.us,
Legacy-Systeme mit mod_rewrite fixen
vom 18. March 2008Altanwendungen zu betreuen ist oft nicht einfach, bei Webanwendungen wird es meist noch umständlicher und niemand macht es gerne. Wenn man beispielsweise die Blogsoftware wechselt, auf ein CMS-System wechselt oder gar die neue Version selbst programmiert hat, stimmen die alten URLs nicht mehr. Das ist besonders ärgerlich, wenn die alte Seite viele Backlinks hatte, die nach dem Umzug nicht mehr funktionieren.
Ein Beispiel: In der alten Anwendung sahen die URLs so aus: http://example.com/blog/index.php?id=123. In der neuen Software sieht die URL, die zum gleichen Content führt, anders aus: http://example.com/123-meine-neue-webseite.
Was also tun? Es hinnehmen? Das alte System parallel weiterlaufen lassen, nur damit die Links noch stimmen? Zu umständlich. Aktuelle Webserver bieten die Möglichkeit an, URLs mit Hife von mod_rewrite intern umzuschreiben. Dieses Feature wird meistens dafür verwendet um die URLs einfacher, verständlicher und "sicherer" zu machen.
Diese Funktionalität kann man auch dafür verwenden um das Altsystem zu "faken". Hier eine Lösung in Lighttpd für das obige Beispiel (Voraussetzung hierfür ist natürlich, das die neue Blogsoftware die Seite nur anhand der ID auswählt und nicht zusätzlich am Seitennamen):
url.rewrite-once(
"/blog/index\.php\?id=([0-9]+)." => "/$1-old-url")
Alles was in der Form /blog/index.php?id=xxx am Webserver eintrifft wird auf das neue URL-Schema umgeformt. So erhält man seine alten URLs weiter am Leben, ohne das sie weiter existieren müssen.
Was aber tun wenn man keine Verknüpfung zwischen alter und neuer URL herstellen kann? Dies passiert beispielsweise dann, wenn man im neuen System die Seite nicht anhand der ID sondern anhand des Seitennamens auswählt (/blog/meine-neue-webseite z.B.). Hier führt kein Weg an einem kleinen Hilfsscript vorbei das die fehlende Verbindung wieder herstellt. Im obrigen Beispiel müssten wir eine Beziehung zwischen der ID und des Seitennamens herstellen. Ein einfaches PHP-Script könnt so aussehen:
$row = $sql->query(
"SELECT url_name FROM entries WHERE id=?",
$_GET['id']);
header("LOCATION: /blog/".$row->url_name);
Das kleine Script sucht den Seitennamen anhand der ID raus und leitet dann an diese weiter. Die Regel für mod_rewrite würde dann so aussehen:
url.rewrite-once(
"/blog/index\.php\?id=([0-9]+)." => "/legacy.php?id=$1")
Hat die neue Seite den Content der alten Seite nicht mehr, kann man diese Technik auch dazu nutzen um die alten URLs auf eine Übersichtsseite oder eine spezielle "existiert nicht mehr"-Seite umzuleiten.
Kommentar schreiben,
del.icio.us,
Mehr HASS!
vom 2. March 2008Der (jetzt nicht mehr ganz) King of the Internet Zed Shaw fordert mehr Hass für das Internet. Schluss mit den braven Protokollen die jeden Schrott zulassen und Servern die alles akzeptieren müssen. Weg mit den Mailservern die jede Spammail mit einem höflichen HELO entgegennehmen. Jeder der in irgend einer Weise Müll von sich gibt wird gnadenlos in die Fresse geschlagen und für alle Ewigkeit gebrandmarkt.
Auf savingtheinternetwithhate.com beschreibt er sein neues Vorhaben Utu mit recht eindeutigen Worten.
The Internet needs more hate. Much more. We’re overrun by morons, assholes, griefers, spammers, porn peddlers, Nazi dictators, little Napoleons, and arbitrary censors who only behave in their socially deficient manner because they know you can’t do anything about it. [...]
In den Griff kriegen will er das durch ein neues Protokoll das einer sicheren Benutzeridentifizierung, einem Bewertungsschema und einem Bestrafungsmechanismus zugrunde liegt. ("[...] The Internet needs identity, reputation, and retribution. [...]").
Nun frage ich euch: Was haltet ihr davon? Soll das Internet mehr einem digitalen Abbild der realen Welt gleichen ("[...] In the real world you would tell them to screw off personally. You’d call the police. You’d move to the other side of the room and tell all your friends to ignore them. You’d punch them in the face for the things they said about you and your family. [...]") oder kann das Internet nur dann weiter bestehen, wenn jeder gleichberechtigt behandelt wird egal was er anstellt und jeder tun und lassen kann was er will?
Sinnloses Stöckchen, Level 16
vom 7. February 2008Über eine lange, verworrene Bloggerkette bin ich über Markus auch ein Teil des sinnlosen Stöckchen geworden. Die Aufgabe:
- Nimm das nächste Buch in deiner Nähe mit mindestens 123 Seiten.
- Schlage Seite 123 auf.
- Suche den fünften Satz auf der Seite.
- Poste die nächste drei Sätze.
Das "näheste" Buch ist bei mir gerade "Generative Programming" von Czarnecki und Eisenecker:
It also states that important issues should be represented in programs intentionally (i.e., explicitly, declaratively, and with little or no "extra noise") and should be well localized. This facilitates unserstandability, adaptability, reusability, and the many other good qualities of a program because intentionality and localisation allow us to easily verify how a program implements out requirements. Unfortunately, the relevant issues are usually mutually dependent and overlapping because they all concern one common model (i.e., out program being constructed). Thus, if we try to represent all these issues explicitly and locally, we will introduce a lot of redundancies.
An meinem Nachttisch liegt grade "Getting Things Done" vom Großmeister David Allen. Auf Seite 123 steht:
You may find you have a tendency, while processing your inbasket, to pick something up, not know exactly what you want zo do about it, and then let your eyes wander into another item fatther down the stack and get engaged with it. That item may be more attractive to your psyche because you know right away what to do with it - and you don't feel like thinking about what's in you hand. This is dangerous terretory.
Und ganz im Sinne von "Dont Break the chain" reiche ich das Stöcklein weiter an Andreas, Florian, Rubn und kb.
Kommentar schreiben,
del.icio.us,
Sammelkiste
vom 21. December 2007Dinge, über die ich bloggen wollte, aber nicht dazugekommen bin:
UnitTests mit Mocks: Anhand eines IRC-Clients wird demonstriert wie man mit einem Mock-Objekt den Gegenpart (den IRC-Server) simulieren kann. Klick
NetBSD 4.0 ist drausen. Auch sowas das ich mir schon lange mal näher anschauen wollte, bisher hat es allerdings nur zu einer kurzen Testinstallation gereicht. Klick
Linus Torvalds verteidigt Linux und gibt Solaris den Abschuss. Hey, that's not a bug, that's a FEATURE!. Klick
Bash bunter machen. Wem es gefällt: Klick
Anzeichen dafür, dass man ein schlechter Programmierer ist: Klick
Die Gesichter hinter der großen Software-Gurus. Ziemlich lustige Zusammenstellung. Klick
Raumschiffe basteln für Anfänger und Freaks. Es gibt sogar einen (sehr teuren) Bausatz für die Serenity. Klick
Gedicht-Generator der Spitzenklasse. Was haben wir gelacht :) Klick
Phing 2.3 heute?
vom 2. November 2007Gerade habe ich über die Phing-dev Mailingliste erfahren, das das 2.3er Release kurz bevorsteht. Offene Bugs gibt es keine mehr. Der Branch ist im SVN schon erstellt, es fehlt also nur noch das Zusammenschnüren der Pakete.
Die wichtigsten Änderungen sind:
- PHPUnit3 support
- Der Task "phpdoc" unterstützt jetzt neben <
- Es werden nun Streams für die komplette Ausgabe und das Logging verwendet.
- ... und viele weitere kleinere Features wie der überarbeitete move-task, und eine Menge BugFixes.
Die nächsten (schon heiß diskutierten) Schritte werden vermutlich die Unterstützung bzw. den Umstieg auf PHP6 sein, zudem wollen die Entwickler den kompletten Code mit den in PHP6 kommenden Namespaces ausstatten.
Kommentar schreiben,
del.icio.us,
Sonntägliches Link-Mashup
vom 28. October 2007The Future of Software Development Warum das Wasserfallmodell gescheitert ist und warum ein paar einzelne Webseiten programmieren, die Millionen nutzen, alles gewürzt mit einer Hand voll BuzzWords.
Understanding Ruby blocks, Procs and methods Blocks, yield, lambda und high-order-function einmal richtig erklärt. Die Kommentare sind auch sehr aufschlussreich.
Execution in the Kingdom of Nouns Java-Bashing at its best. Warum im Javaland die Verben von den Hauptwörtern beherrscht werden.
Design by Metaphor Warum kunden bei der Projektplanung gerne Vergleiche oder "Referenzen" zur Beschreibung von Features nutzen und wo die Gefahren liegen. "Just like eBay" is not enough!
Kommentar schreiben,
del.icio.us,
Radiohead "In Rainbows"
vom 10. October 2007Heute wurde mir das neue Album "In Rainbows" von Radiohead kostenfrei per E-Mail ausgeliefert. (Wer es nicht mitbekommen hat: Das Album konnte für einen Betrag den man selbst wählen konnte, online bestellen) Leider ist kein Cover dabei, aber das Album an sich ist nach dem ersten Durchhören wirklich verdammt gut! An die anderen Bands und Plattenlabels: Nachmachen!
1 2