Dienstag, Februar 24, 2015

Salted Password Hashing - Doing it Right

Der Artikel crackstation.net/hashing-security.htm fasst aus meiner Sicht schön zusammen, wie man Passwort-Hashing richtig machen sollte. Es wird auch genauer beschrieben, warum einzelne Details wichtig sind, und was typische Fehler. Code-Beispiele für verschiedene Programmiersprachen gibt's auch

Mittwoch, Februar 18, 2015

Heise: Use cases 2.0 und Agile Projekte

Bei heise ist in lesenswerter Artikel, wie man die 'klassischen' Use Cases mit einem agilen Projekt-Vorgehen vereinen kann. Use Cases bieten (gerade in größeren Projekten) viele Vorteile gegenüber den z.B. im SCRUM-Umfeld eingesetzte 'User Stories'.

Use Cases decken deutlich bessser das Gesamt-Bild aller Anforderungen ab, bei einem agilen Vorgehen kann man leicht den Gesamt-Überblick verlieren.

Das bei heise beschriebene Konzept von 'Use Cases 2.0' bringt beide Welten zusammen. Über die klassischen Use Cases können alle Anfordeurngen für das Gesamt-System erfasst und bewertet werden. Eine Aufteilung der einzelnen Use Cases in 'Slices' ermöglicht es, Teile der Use Cases in einzelnen Sprints umzusetzen.

Dienstag, Februar 03, 2015

Firefox und PDF-Viewer

Seit einiger Zeit nutzt der Firefox seinen eigenen Viewer, um PDF-Dokumente anzuzeigen. Meistens ist das OK, aber ab und zu stößt das auf Probleme, vor allem bei komplexeren PDF-Dokumenten, die z.B. die Formular-Funktionen nutzen.

Wir müssen gerade in einem Projekt programmatisch auf dem Server regeln können, ob PDF-Dokumente inline im Firefox-Viewer angezeigt werden, oder als PDF-Download angeboten werden (und dann im Adobe Reader geöffnet werden). Mit ein bisschen Googlen und Ausprobieren habe ich eine Lösung über spezielle HTTP-Header-Felder "Content-Disposition" im Response gefunden.


Um PDF-Dowmloads im internen Viewer anzuzeigen, muss als Wert 'inline' übergeben werden;

Content-Disposition: inline; filename="name.pdf"

Um den internen Viewer zu umgehen, kann man stattdessen 'attachement' verwwnden
Content-Disposition: attachment; filename="name.pdf"