2014-01-19 // Aktuelle URL per Bookmarklet in DokuWiki speichern
Ich habe zwei Skripte erstellt, mit denen man die aktuell im Browser aufgerufene Seite und deren HTML-Titel per Bookmarklet in einer Wiki-Seite speichern kann.
Folgendes PHP-Skript muss angepasst auf dem Webserver hinterlegt werden:
- bookmark.php
<?php # path to dokuwiki page $file = "/path/to/wiki/data/pages/bookmarks.txt"; # ensure utf-8 $url = iconv("UTF-8", "UTF-8//IGNORE", $_GET["url"]); $title = iconv("UTF-8", "UTF-8//IGNORE", $_GET["title"]); # dont break wiki syntax $search = array('|', '[', ']'); $replace = "-"; $url = str_replace($search, $replace, $url); $title = str_replace($search, $replace, $title); # write to dokuwiki page if (file_put_contents($file, "\n * [[" . $url . "|" . $title . "]]", FILE_APPEND | LOCK_EX) === false) { die("Error: Failed to add bookmark."); } # redirect back to source header("HTTP/1.1 302 Found"); header("Location: " . $_GET["url"]);
Dieses Bookmarklet sendet die aktuelle URL und den HTML-Seitentitel an das auf dem Server hinterlegte PHP-Skript:
- bookmarklet.js
javascript:(function(){location.href='http://example.com/bookmark.php?url='+encodeURIComponent(window.location.href)+'&title='+encodeURIComponent(document.title)})()
http://example.com
muss natürlich an die eigenen Bedürfnisse angepasst werden.
2013-05-20 // Login absichern mit Hashing und Zwei-Faktor-Authentifizierung
Ein normaler Login besteht in der Regel aus einer HTML-Form und einem Server-Skript zur Validierung. Ist die Verbindung nicht zusätzlich über HTTPS abgesichert, kann ein Angreifer durch das Abhören des Netzwerkverkehrs die Zugangsdaten erlangen. Selbst wenn die Verbindung gesichert ist, gibt es andere (nicht technische) Möglichkeiten für einen Angreifer, z.B. die Eingabe der Zugangsdaten zu beobachten.
Einen HTTP Login absichern:
- Sichere Übertragung des Kennworts (per „Salted-Hash“)
- Zusätzliche Authentifizierung über ein Token (Smartphone App)
Grundgerüst
Um einen einfachen Login zu realisieren benötigt man eine HTML-Form mit Text- und Kennwortfeldern, sowie ein Server-Skript (in diesem Beispiel PHP) für die Validierung der Benutzerdaten:
- login.html
<html> <head> <title>Login</title> </head> <body> <form action="login.php" method="POST"> Benutzername: <input type="TEXT" name="username"><br> Kennwort: <input type="PASSWORD"name="password"><br> <input type="SUBMIT" name="Login" value="Login"> </form> </body> </html>
- login.php
<?php if ($_POST["username"] == "foo" && $_POST["password"] == "bar") { echo "Login ok"; else { echo "Login fehlgeschlagen"; }
2012-10-16 // Dienstag
Cesar Harada: A novel idea for cleaning up oil spills
Likkle But Tallawah - Olympic Tribute
foo/bar
- Lottozahlen aus Deutschland als RSS Feed ⇒ http://www.heiko-barth.de/stuff/lotto/rss
2012-09-23 // Sonntag
Xiki: Can your shell console do this?
NASA: Magnificent Eruption in Full HD