Einmal S-Bahn fahren…

So sieht es heute aus. Ich muss gerade einmal die Woche zur Arbeit, und eigentlich fahre ich nur noch mit dem Bus nach Großhadern. Es dauert länger, weil ich zur knappen vierzigminütigen Fahrt genau so viel zur Haltestelle und zur Arbeit laufen muss, aber der Bus fährt. Zuverlässig. Direkt.

Nachträgliche Beschriftung. Screenshot von meinem Handy, wo man auch wunderbar sieht, wie miserabel der Empfang selbst in München ist. Zu Hause ist es nicht besser und auf der Strecke gibt es teilweise gar keinen Empfang. Ja, Geisenbrunn, du bist gemeint.

Heute Abend ist eine Migräne im Anmarsch. Vielleicht weil ich es nicht mehr gewohnt bin, den ganzen Tag mit Leuten zu sein[1]. Oder weil ich Schlafmangel habe. Jedenfalls war es nach fünf vor halb sechs, als ich merkte, jetzt komme ich zu spät zur Haltestelle, um den Bus nach Hause zu kriegen. Eine Viertelstunde ist zu knapp, wenn bei jedem Schritt der Schädel pocht. Mein Bürokollege ging gerade am mir vorbei und schlug vor, mich mit dem Auto bis Neuaubing zu fahren. Ich sagte zu. Hätte ich vorher den S-Bahn-Verkehr geprüft. Die DB-App war ganz rot mit Zugausfällen und Verspätungen.

Um viertel vor sechs erreichte ich den Bahnsteig. Um 18:04 kam doch die S8 von 17:42 an. Rappelvoll. Und die, wie ich erst nach dem Einsteigen merkte, ausnahmsweise nur bis Germering fuhr. Das war also gemeint, mit „Halt entfällt“[2]. Ich stieg in Harthaus in den Regen aus, weil ich in Germering sonst den Bahnsteig hätte wechseln müssen. Die nächste S8 nach Herrsching kam um 18:20. In dem Zugteil war jede zweite Tür mit knallen orangefarbenen Zetteln als Defekt kennzeichnet.

Am Ende bin ich vielleicht noch schneller als mit dem Bus nach Hause gekommen, weil mein Kollege mich ein Stück gefahren hat, aber längst nicht so entspannt.

[1] Nachtrag vom nächsten Tag. Das ist kein Witz. Fast jedes Mal, als ich zur Arbeit fahren musste, habe ich abends eine Migräne gekriegt.

[2] Nachtrag vom nächsten Tag. Das ist auch ein weiterer Vorteil vom Bus. Der Fahrer kündigt nicht plötzlich mitten auf der Strecke an, „so Leute, wir fahren diesmal nur bis Gauting, ich fahre danach zurück, ihr könnt schauen wie ihr weiter kommt“.

Werbung

Das verschwundene Mädchen

Ich saß an einem kleinen Tisch draußen mit einer Frau und einem Mann. Der Tisch stand direkt neben einem Einfamilienhaus, links von uns war eine große Grünfläche.

Ich war nicht Teil der kleinen Gruppe. Den Mann, der einen Bart trug, und die Frau kannte ich nicht. Ich habe sie nur beobachtet und ich glaube nicht, dass sie mich wahrgenommen haben. Sie schienen sich gerade kennen gelernt zu haben. Das Gespräch verlief recht freundlich, ohne Spur von einem Flirt.

Ein kleines Mädchen mit Schulranzen betrat das Haus. Die Frau sagte, sie müsse jetzt rein gegen.

Ich stand im Wohnzimmer mit der Frau und dem Mädchen. Aus den großen Fenstertüren konnte man die Grünfläche gut sehen. Das Mädchen war blond und vielleicht fünf Jahre alt. Es sagte, es mochte den Mann nicht, der draußen mit der Frau diskutiert hatte. Es würde jetzt so lange schreien, bis der Mann draußen glauben würde, dass die Frau es mißbraucht. Und fing an zu schreien. Anfangs versuchte die Frau, mit dem Mädchen sanft zu reden und es zu beruhigen, aber es machte keinen Unterschied. Das Mädchen schrie und schrie und ich spürte, wie die Frau dachte, das Mädchen wäre einfach nur bösartig und sie würde ihm gerne eine Ohrfeige verpassen, wenn es dem Mädchen nicht so recht passen würde, weil es dann wirklich behaupten könnte, es wäre geschlagen worden. Ich konnte die Verzweiflung der Frau gut nachvollziehen.

Am Ende war das Mädchen verschwunden. Es hatte von sich aus das Haus verlassen. Ich spürte, wie die Frau erleichtert war. Wir standen vor dem Fenster in einem Zimmer auf der Etage und schauten nach draußen zur Grünfläche, die sich in ein olympisches Stadium verwandelt hatte. Es war nachts, das Licht um uns herum war warmgelb wie aus einer Glühbirne.

Unten stand plötzlich ein großer Mann in einem langen, dicken Mantel im Dunkel vor dem Haus. Er schaute hoch zu uns. Sein Gesicht blieb trotz Straßenbeleuchtung in seiner Kapuze verborgen. Die Frau fürchtete sich vor ihm. Oder vielleicht war ich das, die sich fürchtete. Ich riß jedoch das Fenster auf. Einige Jugendliche in Sportkleidung kamen zu ihm. Ich fragte, ob sie nicht ein kleines, blondes Mädchen um die fünf Jahre alt gesehen hätten. Sie schauten sich unter sich an, dann wieder hoch zu uns und verneinten mit einer Kopfbewegung. Der Frau neben mir war es egal, sie wollte das Mädchen nicht wieder zu Hause haben und wusste nicht, warum ich die Leute unten danach gefragt hatte. Es war ein Impuls gewesen. Mich packte eine große Traurigkeit und ich fing an zu heulen, als ich das Fenster wieder schließ.

Ich wachte kurz vor sechs auf, ohne erkennbaren Grund. Im Haus war alles still.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Ein privates Blog selbst betreiben

Am 22.11.2022 ergänzt.

0. Inhaltsverzeichnis

  • Warum
  • Hosting
  • Persönliche Daten
  • Domäne registrieren
  • WordPress installieren
  • Wie man sich auf der eigenen, neuen Webseite anmeldet
  • SSL und HTTPS wirklich benutzen
  • Privates Blog – Zugriff einschränken
    • Das Standardverzeichnis für hochgeladene Medien ändern
    • Weiterleitung auf Login-Webseite, auch für Medien
    • Mehr Sicherheitsplugins
    • Nutzerkonten erstellen
  • Avatare
  • Bildergalerien
  • SFTP
  • Fußnoten

1. Warum

Die Idee geistert schon länger in meinem Kopf, mein Blog umzuziehen. Bis jetzt habe ich keinen dringenden Grund. Vermutlich bis zum nächsten Schreck beim nächsten 1. April, wie dieses oder letztes Jahr.

Jetzt habe ich ein privates Familienblog eingerichtet. Der Neffe hat seit zwei Jahren von seiner Mama Leseunterricht bekommen und war letztes Jahr schon in der Lage, kurze Sätze zu lesen. Jetzt ist er in der ersten Klasse und lernt offiziell das Lesen. Und da er immer nach Fotos von unserer Gegend fragt, wo er noch nie war, habe ich los gelegt.

Ich wurde gebeten, wenn ich den Schritt zum eigenen Blog-Hosting wage, hier zu erklären, wie es geht. Es wird eine ausführliche Anleitung mit vielen technischen Details.

2. Hosting

Die Paket-Übersicht bei STRATO. Stand 02.11.2022.

Meine Wahl für das Hosting ist auf STRATO[1] gefallen. Rein subjektiv. Ich hatte schon Vergleichsartikel gelesen und STRATO war nicht unter den best bewerteten Anbietern, was den Support betrifft, aber die Firma kenne ich schon aus der Arbeit. Sie bietet den Vorteil, dass ihr Server-Standort in Deutschland liegt und somit die Anforderungen der DSGVO erfüllen muss. Was sollte ich groß riskieren? Die zwölf Euros fürs erste Jahr, die das Basic Paket[2] kostet. Zum Ausprobieren völlig in Ordnung. Danach kostet das Paket acht mal so viel, da wäre ich aufgerundet bei knapp hundert Euros im Jahr. Kein Beinbruch, wenn ich überzeugt bin, und ich könnte das Paket dann auch für dieses Blog benutzen, mit den fünf Domänen.

3. Persönliche Daten

Zum Registrieren und Bezahlen muss man sich mit echten persönlichen Daten anmelden. Diese Daten sind beim Hosting-Anbieter sicher und nicht von jedem heraus zu finden. Denke ich. Nachdem ich bei STRATO die Domäne fürs das neue, private Blog registriert habe, habe ich ihre bei WHOIS hinterlegten Daten anzeigen lassen. Da stand nichts von meinen persönlichen Daten. Nur die STRATO AG.

Ein Impressum im Blog selbst, also eine Angabe von persönlichen Daten, ist für rein private Webseiten ohne Erwirtschaftung nicht erforderlich. Daher setze ich hier bei jeder Marken-, Produkt-Erwähnung oder -Verlinkung ein Disclaimer[1], um klar zu machen, dass ich mit dem Blog kein Cent verdiene.

4. Domäne registrieren

Vor der Installation von WordPress muss man eine Domäne registriert haben, wie meinschoenesneuesblog.de. Das hatte ich bereits bei der Bestellung vom Basic Paket[2] bei STRATO gemacht. Es dauert ein bisschen, bis die Domäne registriert wird. Bis zu einem ganzen Tag, sagt STRATO. Ich habe nicht genau aufgepasst, aber ich denke, es hat bei mir keine zwei Stunden gedauert. Und es war an einem Sonntag.

Sobald die Domäne verfügbar ist, ist es wichtig, ihr ein SSL Zertifikat zu verpassen. Dies stellt sicher, dass man später verschlüsselt Daten mit der Seite austauscht. Das macht man im Menüpunkt „Sicherheit“ → „STRATO SSL“. Die Zuweisung geht recht schnell.

5. WordPress installieren

Man kann WordPress installieren, nachdem man im Menü links auf „WordPress & Co.“ klickt. Ich habe den Sicherheitsmodus gewählt, um Updates automatisch zu installieren. Danach wird man gefragt, für welche Domäne WordPress installiert werden soll. Wenn die Installation abgeschlossen ist, erscheint die Webseite in einer Tabelle:

Als heute Morgen eine neue Version von WordPress zur Verfügung stand, musste ich sie selber in wp-admin installieren. Was heißt selber installieren, groß war der Aufwand nicht, ich musste lediglich auf den Knopf klicken und der Rest hat sich von selbst erledigt. Aber automatisch ist es nicht gelaufen. Oder, ich verwechsle gerade Update und Upgrade.

6. Wie man sich auf der eigenen, neuen Webseite anmeldet

Login-Formular

Hinweise dazu hätte ich gerne von STRATO bekommen. So musste ich im Dunkel tappen. Was ist überhaupt mein Benutzername, um zum wp-admin zu kommen?

Nach zwei fehlgeschlagenen Versuchen, wo ich den Namen der Webseite und meine neu eingerichtete Email-Adresse probiert hatte, habe ich mir die WordPress Datenbank angeschaut. Mit Datenbanken kenne ich mich aus, das ist bei mir Butter und Brot.

Unter „Datenbanken und Webspace“ → „Datenbankverwaltung“ im Menü links findet man einen Link, um PhpMyAdmin zu starten. Wenn man sich drin den Inhalt der Tabelle xxxx_users anzeigen lässt (wo xxxx eine bei der Erstellung der Datenbank zufallsgenerierte Zeichenkette ist), gibt es zu dem Zeitpunkt nur einen Eintrag mit dem user_nicename „admin“. Meinen Nutzernamen habe ich aus der Spalte user_login erfahren können: Einfach meine STRATO-Kundennummer. Das Passwort war mein STRATO-Passwort, was ich jetzt nicht aus der Tabelle erfahren habe, sondern beim Ausprobieren festgestellt habe. Es ist nicht der Wert in der Spalte user_pass, das ist das gehashte Passwort und ist zum Einloggen nicht geeignet.

7. SSL und HTTPS wirklich benutzen

SSL erzwingen

Wir haben in Schritt 4. ein SSL Zertifikat für die neue Seite eingerichtet, aber direkt nach der Installation benutzt es WordPress nicht. Dafür muss man aber kein Plugin installieren: Geht man zu „Einstellungen“ → „Allgemein“, stehen Felder für „WordPress-Adresse (URL)“ und „Website-Adresse (URL)“. Einfach in beiden Feldern has http durch https ersetzen und nicht vergessen, ganz unten zu speichern. Man wird ausgeloggt und zurück zum STRATO-Login von wp-admin geleitet. Wenn man sich wieder einloggt wird dann SSL wirklich benutzt.

Was das bedeutet ist aber auch, dass man beim ersten Einloggen ins wp-admin über HTTP die Login-Daten im Klartext rum geschickt hat, die im Prinzip jeder ohne große technische Kenntnisse auslesen könnte. Ich empfehle daher dringend, direkt im Anschluß, sobald HTTPS verwendet wird, das Passwort zu ändern. Vermutlich ist das Problem vermeidbar, wenn man in den Installationsdateien von WordPress die richtigen Variablen findet und mit https editiert, bevor man versucht, sich auf wp-admin einzuloggen. Ich habe nicht nachträglich gesucht, wie es ginge.

8. Privates Blog – Zugriff einschränken

Dieser Abschnitt, der hier so viel Platz einnimmt, ist nicht relevant, wenn man seine Webseite allgemein verfügbar machen will.

Da mein neues Blog rein privat für einen engen ausgewählten Kreis meiner Familie gedacht ist, war es mir wichtig, dass wirklich niemand sonst Zugriff auf den Inhalt bekommt. Ein Plugin hilft dabei enorm: Force Login. Egal, ob man dann die Domäne-Adresse oder die Adresse von einem Artikel der Domäne angibt: Ist man bei meiner Webseite nicht eingeloggt, wird man zur Login-Seite weitergeleitet. In dem Zusammenhang habe ich mich sehr darüber gefreut, dass Limit Login Attempts Reloaded vorinstalliert ist, um zu verhindern, dass Programme automatisch alle möglichen Passwörtern ausprobieren (brute force attack) und die Seite knacken.

Perfekt, dachte ich. Bis mir auffiel, dass es für die hochgeladenen Medien nicht funktioniert. Da ich für den Neffen viele Fotos hochladen wollte, die auch Personen darstellen, war es mir ein großes Problem. Vor allem, weil Suchmaschinen sich nicht unbedingt daran halten, die Webseite nicht zu indizieren, wenn man das Häckchen gesetzt hat.

Die Lösung des Problems in zwei Schritten. Es fängt an, kompliziert zu werden.

a. Das Standardverzeichnis für hochgeladene Medien ändern

Statt [...]/wp-content/uploads etwas anderes benutzen, zum Beispiel [...]/wp-content/uploads/ganz_sicher. Das kann man aus dem wp-admin unter „Einstellungen“ → „Medien“ setzen. So wird es schwieriger, den richtigen Pfad zu finden, wenn man eine Webseite automatisch abgrasen will. Wobei ich denke, man müsste nicht unbedingt ein Unterverzeichnis von uploads benutzen, ich hätte [...]/wp-content/ganz_sicher benutzen können. Diese Einstellung wird übrigens nicht auf wordpress.com angeboten.

Das ist die Theorie. Bei mir hat es nicht ganz funktioniert. Wenn Dateien zum richtigen Verzeichnis hochgeladen wurden, konnte man sie in der Medienübersicht nicht mehr sehen. Der Platzhalter war da, das Vorschaubild nicht. Der Link, der zu den Medien angezeigt wurde, war noch der alte [...]/wp-content/uploads.

Um dieses Problem zu lösen, musste ich den Code meiner WordPress-Installation editieren. Dafür im Menü links, unter „Datenbanken und Webspace“ → „Webspace verwalten“ gehen:

In der Verzeichnisdarstellung, sich bis zu diesem Verzeichnis durchklicken: /STRATO-apps/wordpress_01/app/. Dort findet man die Datei wp-config.php. Um sie zu editieren, muss man sie sich zuerst anzeigen lassen, indem man auf dem Augensymbol klickt. Je nach dem, wie breit der Browser geöffnet ist, sieht man das Symbol sofort, oder man muss zuerst auf die drei Punkten klicken. Dann erscheint der Code, zuerst nur im Schreibgeschützten Modus. Um die Datei zu editieren, muss man den Knopf „Bearbeiten“ anklicken.

Ich habe nach der letzten Zeile vom Code, und vor dem schließenden ?> die Zeile

define( 'UPLOADS', 'wp-content/uploads/ganz_sicher' );

hinzugefügt, wie hier empfohlen, und die Datei gespeichert. Schwupps, die ins geänderte Verzeichnis hochgeladene Bilder konnten wieder in der Mediathek und in Artikeln angezeigt werden.

b. Weiterleitung auf Login-Webseite, auch für Medien

Die Änderung des Verzeichnisses reichte aber nicht, weil man immer noch Zugriff auf Medien bekommen konnte, wenn man den richtigen Pfad kennt. Da müsste auch zur Login-Seite umgeleitet werden.

Dies wurde dem Autor von Force Login mitgeteilt, der freundlicherweise einen Lösungsansatz gab. Dafür musste ich nochmal im Code von WordPress fummeln, um

  • eine neue Datei namens dl-file.php ins Verzeichnis /STRATO-apps/wordpress_01/app/ hochzuladen,
  • die Datei .htaccess im selben Verzeichnis zu editieren.

Hier der Inhalt von dl-file.php:

<?php
/*
 * dl-file.php
 *
 * Protect uploaded files with login.
 * 
 * @link http://wordpress.stackexchange.com/questions/37144/protect-wordpress-uploads-if-user-is-not-logged-in
 * 
 * @author hakre <http://hakre.wordpress.com/>
 * @license GPL-3.0+
 * @registry SPDX
 */

ob_start();
require_once('wp-load.php');
require_once ABSPATH . WPINC . '/formatting.php';
require_once ABSPATH . WPINC . '/capabilities.php';
require_once ABSPATH . WPINC . '/user.php';
require_once ABSPATH . WPINC . '/meta.php';
require_once ABSPATH . WPINC . '/post.php';
require_once ABSPATH . WPINC . '/pluggable.php';
wp_cookie_constants();
ob_end_clean();
ob_end_flush();

is_user_logged_in() ||  auth_redirect();

list($basedir) = array_values(array_intersect_key(wp_upload_dir(), array('basedir' => 1)))+array(NULL);

$file = rtrim($basedir,'/').'/'.str_replace('..', '', isset($_GET[ 'file' ])?$_GET[ 'file' ]:'');
if (!$basedir || !is_file($file)) {
	status_header(404);
	wp_redirect(home_url());
        exit();
}

$mime = wp_check_filetype($file);
if( false === $mime[ 'type' ] && function_exists( 'mime_content_type' ) )
	$mime[ 'type' ] = mime_content_type( $file );

if( $mime[ 'type' ] )
	$mimetype = $mime[ 'type' ];
else
	$mimetype = 'image/' . substr( $file, strrpos( $file, '.' ) + 1 );

header( 'Content-Type: ' . $mimetype ); // always send this
if ( false === strpos( $_SERVER['SERVER_SOFTWARE'], 'Microsoft-IIS' ) )
	header( 'Content-Length: ' . filesize( $file ) );

$last_modified = gmdate( 'D, d M Y H:i:s', filemtime( $file ) );
$etag = '"' . md5( $last_modified ) . '"';
header( "Last-Modified: $last_modified GMT" );
header( 'ETag: ' . $etag );
header( 'Expires: ' . gmdate( 'D, d M Y H:i:s', time() + 1800 ) . ' GMT' );

// Support for Conditional GET
$client_etag = isset( $_SERVER['HTTP_IF_NONE_MATCH'] ) ? stripslashes( $_SERVER['HTTP_IF_NONE_MATCH'] ) : false;

if( ! isset( $_SERVER['HTTP_IF_MODIFIED_SINCE'] ) )
	$_SERVER['HTTP_IF_MODIFIED_SINCE'] = false;

$client_last_modified = trim( $_SERVER['HTTP_IF_MODIFIED_SINCE'] );
// If string is empty, return 0. If not, attempt to parse into a timestamp
$client_modified_timestamp = $client_last_modified ? strtotime( $client_last_modified ) : 0;

// Make a timestamp for our most recent modification...
$modified_timestamp = strtotime($last_modified);

if ( ( $client_last_modified && $client_etag )
	? ( ( $client_modified_timestamp >= $modified_timestamp) && ( $client_etag == $etag ) )
	: ( ( $client_modified_timestamp >= $modified_timestamp) || ( $client_etag == $etag ) )
	) {
	status_header( 304 );
	exit;
}

// If we made it this far, just serve the file
readfile( $file );

Und der Inhalt meiner .htaccess Datei nach der Änderung:

# Block the include-only files.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+\.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+\.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

# BEGIN WordPress
# Les directives (lignes) entre « BEGIN WordPress » et « END WordPress » sont générées
# dynamiquement, et doivent être modifiées uniquement via les filtres WordPress.
# Toute modification des directives situées entre ces marqueurs sera surchargée.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]

# BEGIN THIS DL-FILE.PHP ADDITION
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^wp-content/uploads/ganz_sicher/(.*)$ dl-file.php?file=$1 [QSA,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

c. Mehr Sicherheitsplugins

Zwei weitere Plugins möchte ich empfehlen, siehe Beschreibung in den Links:

Außerdem habe ich dank des openHPI-Kurses „Tatort Internet: Edition 2022“ gelernt, wie man im Prinzip Code Injection in Webseiten durchführen kann, um Schadcode auszuführen. Ich habe es gleich in meinem neuen Blog ausprobiert und Schreck: Es funktioniert! Die WordPress-Installation von STRATO bietet keinerlei Schutz vor Code Injection an. Wie ich getestet habe: Einfach auf einer Seite einen Kommentar mit Code zwischen den script Tags hinterlassen, wie im folgenden harmlosen Beispiel:

Mein Kommentar<script>alert("Hallo!")</script>

Schickt man diesen Kommentar auf einer ungeschützten Webseite, erscheint für die Besucher der Seite nur der Kommentar „Mein Kommentar“, aber bei jedem Aufruf der Seite bekommt man durch den alert Befehl ein Popup-Fenster mit dem Text „Hallo!“. Dieses Beispiel ist harmlos. Man könnte statt "Hallo!" sensible Information anzeigen lassen, zum Beispiel über die laufende Nutzer-Session auf der Webseite, mit document.cookie, um sich als der sonst eingeloggte Nutzer zu authentifizieren. Natürlich würde man als Angreifer diese Information nicht in einem Popup anzeigen lassen, was Besucher sofort merken würden, auch wenn die wenigsten den Inhalt vom Popup verstehen dürften, sondern von den Besuchern unbemerkt sich selbst eine Email mit der Information schicken lassen.

Auf wordpress.com ist man von solchen Angriffen geschützt. Trotzdem empfehle ich, ob auf wordpress.com oder auf der eigenen Seite, Kommentare nur manuell zu genehmigen. So erkennt man vor der Veröffentlichung, ob ein Kommentar Schadcode enthält, und kann diesen löschen, ohne dass Schaden für die Webseite entsteht.

Als mir das Problem bewusst wurde war mein erster Impuls, nach Plugins gegen Code Injection zu suchen. Die ersten Ergebnisse waren nicht gerade überzeugend, der Anzahl von Nutzern aus nach zu beurteilen. Man kann aber einfach in der Datei .htaccess, die wir oben schon editiert haben, folgenden Code ganz am Ende nach der Zeile # END WordPress hinzufügen:

# BEGIN Protect Against Script Injections

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]
RewriteCond %{QUERY_STRING} GLOBALS(=|[|%[0-9A-Z]{0,2}) [OR]
RewriteCond %{QUERY_STRING} _REQUEST(=|[|%[0-9A-Z]{0,2})
RewriteRule ^(.*)$ index.php [F,L]

# END Protect Against Script Injections

So wird der Code im Kommentar als Text geschrieben und nicht mehr ausgeführt, wie ich gleich getestet habe, was genau das Verhalten auf wordpress.com ist. Nebenbei werden Abfragen nach den GLOBALS und _REQUEST Variablen blockiert. Danke den Autoren von diesem Video für diese Lösung.

d. Nutzerkonten erstellen

Da nach dem Weiterleiten durch Force Login keine Möglichkeit angezeigt wird, ein Konto zu erstellen, sollte die Webseite von ungewollten Registrierungen geschützt sein. Das liegt sicherlich daran, dass ich das Häckchen in wp-admin unter „Einstellungen“ → „Allgemein“ nicht gesetzt habe, dass jeder sich registrieren kann, also dass ich die Standardeinstellung nicht geändert habe. Das heißt aber auch, dass ich für jeden Nutzer ein Konto mit der richtigen Email-Adresse anlegen soll. Die Nutzer bekommen dann eine automatische Email, um das von mir ausgewählte Passwort zu ändern.

Ich empfehle, zwei Konten am Anfang zu erstellen. Ein Konto mit der Rolle „Administrator“ für die ganzen Plugin-Installationen und Einstellungen, das von STRATO automatisch erstellt wird, und ein Konto mit der Rolle „Redakteur“, um den Inhalt der Webseite zu gestalten. Ein bisschen wie, man sollte auf dem PC nicht als Admin für normale Tätigkeiten eingeloggt sein[1].

9. Avatare

Als ich die ersten Nutzer eingeladen hatte, stellte sich die Frage, wie funktioniert es denn mit den Avataren? Auf wordpress.com wird Gravatar[1] benutzt, aber dafür müsste ich mein privates Blog mit wordpress.com verbinden. Irgendwie unbefriedigend. Zum Glück gibt es eine Menge Plugins, die genau das anbieten, was ich mir wünschte: Nutzer können ein Bild auf der Webseite hochladen und in ihrem Profil dieses als Avatar definieren, ohne dafür einen Drittanbieter benutzen zu müssen. Ich habe mich für One User Avatar entschieden. In der Benutzung so einfach, dass keine Anleitung nötig ist.

Der Spaß fängt an, wenn man meint, es wäre schön, in jedem Beitrag den Avatar vom Autor anzuzeigen. Eine Lösung für Twenty Eleven habe ich hier gefunden, die ich jetzt hier nicht groß beschreiben will, da es eher Schnickschnack ist. Nur dazu gesagt, dafür muss man den Quellcode vom Theme editieren. Und die Überraschung von heute früh war für mich, wenn man ein Upgrade von WordPress installiert, wird der Code vom Theme gnadenlos überschrieben, und man darf wieder anfangen. Zum Glück gibt es die automatischen Backups von STRATO.

10. Bildergalerien

Das hat mir ganz viel Zeit und Nerv gekostet. Die Standardgalerie von WordPress ist scheußlich. Ganz rechts fehlt was, nämlich, welchen Typ die Galerie haben soll. Die Galerie, die ich in meiner frischen Installation von WordPress hatte, passt die Größe der Bilder nicht an, wenn sie nicht alle gleich hoch sind. Das Ergebnis sieht furchtbar aus.

Wenn man bei den Plugins nach Galerien sucht, wird man von Ergebnissen überflutet. Aber welche (kostenlose) Plugins sind wirklich gut und machen was ich will? Woher weiß ich das, wenn ich nicht mal weiß, wie das was ich machen will heißt? Im Grunde wollte ich etwas ähnliches wie die aktuelle Situation auf wordpress.com, ohne Jetpack installieren zu müssen, weil da hieß es wieder, verbinde dich mit deinem wordpress.com Konto. Nöö. Zu aufwendig, auch weil ich dafür ein neues Konto erstellen würde.

Ich habe vieles ausprobiert. Installiert, getestet, raus geschmissen, doch nochmal probiert, zwischendurch ein vermeintliches Bug gejagt, weil Avatare plötzlich nicht mehr angezeigt wurden, was aber daran lag, dass ein Galerie-Plugin mit dem geänderten Upload-Verzeichnis nicht kompatibel war.

Modula-Menu in wp-admin

Zum Schluß bin ich mit Modula relativ zufrieden geworden. Nervig ist, dass ich dadurch ganz viele nutzlose Links im linken Menü von wp-admin bekommen habe, weil ich die PRO-Version nicht kaufen wollte. Zum Testen will ich nicht so viel Geld durchs Fenster werfen, wenn ich am Ende doch nicht zufrieden bin. Im Grunde ist für mich nur der erste Eintrag Galleries (auf Englisch im sonst französischen Menü) von Modula benutzbar, und dafür brauche ich keinen langen aufklappbaren Eintrag im Menü. Aber Modula bietet in der kostenlosen Version genau das an, was ich suchte: Schöne Gittergalerien die sich wirklich an die festgelegte Anzahl von Spalten halten, und für die Leser beim Klicken auf einem Bild Navigationspfeile innerhalb der Galerie, damit man nicht ständig vorwärts und rückwärts klicken muss. Gewöhnen muss man sich daran, dass man nicht mehr spontan im Texteditor eine Galerie erstellen kann, sondern zuerst in Modula die Galerie kreiert, um sie dann in den Text einzufügen.

11. SFTP

Zum Schluß eine nicht unwichtige Möglichkeit von STRATO: Datentransfer über SFTP. Es macht Sinn, das hier zu erwähnen, weil wie oben geschrieben, STRATO automatische Backups von WordPress macht. Bei meiner kleinen, gerade angefangenen Webseite beträgt der Speicherplatz vom Backup schon 50 MB, und das ist ohne Dump der Datenbank. Wenn man neben der Datei den Knopf zum Herunterladen klickt, bekommt man eine Fehlermeldung: Die Datei ist zu groß, um so heruntergeladen zu werden. Man muss SFTP benutzen.

Vermutlich werden die meisten dafür ein SFTP-Programm wie Filezilla[1] benutzen, wie die Anleitung auf STRATO lautet. Ich bin old school und benutze den Terminal auf Linux. In beiden Fällen muss man zuerst den SFTP-Zugang verwalten: Im Menü links, „Datenbanken und Webspace“ → „SFTP-Zugänge verwalten“. Wenn ich mich recht entsinne war es nur notwendig, ein Masterpasswort dafür einzurichten.

Wie man sich dann verbindet geht vom Terminal aus so:

sftp meinschoenesneuesblog.de@ssh.strato.de -p

Dann wird man im Terminal nach dem Masterpasswort gefragt, und kann im Dateisystem auf STRATO navigieren. Der Link zum Backup:

/STRATO-apps/wordpress_01/backups/

Um dann die gewünschte Backup-Datei herunterzuladen:

get app_meinschoenesneuesblog-de_Name__vom__Blog_Datum_Uhrzeit.tar.gz

Was bei mir keine vier Sekunden dauerte. SFTP verlassen tut man mit dem Befehl exit.

11. Fußnoten

[1] Unbezahlte Werbung, da Namensnennung und/oder Verlinkung.

Speicherplatz. Wie es tatsächlich in meinem Konto aussieht. Stand 02.11.2022.

[2] Das Basic-Paket beinhaltet 100 GB Speicherplatz laut Werbung, 50 GB wie ich in meinem Konto gerade sehe, die Diskrepanz muss ich mal auf den Grund gehen. Fünf möglichen Domänen mit SSL Zertifikaten werden angeboten. Aber aufpassen, hat man eine Endung für die erste Domäne gewählt, zum Beispiel .de, kostet es zusätzlich 0,50€ pro Domäne, wenn die weiteren Domänen nicht die selbe Endung haben, wie ich beim rumprobieren festgestellt habe. Email-Adressen kann man auch einrichten, dafür stehen 40 GB zur Verfügung. Enthält auch Python und Ruby. Ich bin gespannt, was sich damit machen lässt.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Zu Gas, Krieg, Putin und Populismus

Heute früh in der Küche. Ich höre Radio, während der Kaffee auf dem Herd fertig wird. In den Nachrichten um acht lautet die erste Schlagzeile, private Haushalte sparen zu wenig Gas[1]. Ich weiß jetzt auch nicht weiter.

Meine selbst-gehäkelte Stulpen.

Schon als Russland die Ukraine im Februar angegriffen hat, habe ich alle Heizungen in der Wohnung runter gedreht. Hatten wir vorher gemütliche zweiundzwanzig Grad, die bei meiner seit zwei Jahren andauernden Heimarbeit[2] kein Luxus waren, habe ich die Heizung nach und nach bis maximal neunzehn Grad eingestellt. Der Ehemann hat sich beschwert. Damals war meine Begründung, jeder Grad mehr bedeutet mehr Geld, das direkt in Putins Tasche fließt. Je weniger wir heizen, desto besser für die Ukraine. Für die Umwelt sowieso. Wenn Vernunft uns nicht dazu bringen konnte, weniger Kohlendioxid wegen Heizung auszustoßen, schafft es wenigstens Putin. Wie gut, dass ich mir vor zwei Jahren diese tollen Stulpen gehäkelt hatte. Ich würde sie jetzt im Oktober schon nicht vermissen wollen. Bis jetzt mussten wir kaum heizen in diesem Herbst, da die Heizungsregelung behauptet, wir hätten momentan einundzwanzig Grad in der Wohnung.

Ich weiß nicht mal, womit wir eigentlich die Wohnung heizen. Das steht weder auf dem Mietvertrag noch auf der Nebenkostenabrechnung, die wir übrigens nur fürs erste Jahr in der Wohnung geschickt bekommen haben. Seit zwei Jahren warten wir trotz mehreren Anfragen vergeblich auf eine neue Abrechnung. Vermutlich wird Gas benutzt, und ich gehe davon aus, fürs warme Wasser auch. Die nächste Abrechnung wird kräftig gesalzen, wenn sie kommt. Wenn man das auf Deutsch so sagt. Kochen tun wir sonst ausschließlich elektrisch, und unser Stromanbieter[1], dem wir schon seit vielen Jahren treu sind, setzt nur auf nachhaltiger Energie. Das ist gut, weil ich den Verdacht habe, dass mein kein Jahr altes, neues Dienstlaptop nicht unerheblich an der Heizung vom Arbeitszimmer beteiligt ist. Vor allem während Telekonferenzen ist der Lüfter kräftig am Pusten.

Ich habe mich außerdem seit dem Sommer daran gewöhnt, ganz kalt zu duschen (außer bei Krankheit). Seitdem intensiv diskutiert wird, wie teuer Gas wird. Weil es voraussehbar war, dass es knapp wird, schon lange bevor die zwei Pipelines aus Russland sabotiert wurden. Der Ehemann duscht jetzt nicht so kalt aber nicht mal lauwarm. Was ich für mich feststellen kann: Durch das Kaltduschen ist mir morgens nicht so kalt, wenn ich die Wohnung verlasse. Das könnte auch daran liegen, dass wir in den letzten Tagen wieder sommerliche Temperaturen hatten. Das Kaltduschen ist, zugegeben, sehr hart, und noch härter als im Sommer, als die Kaltwassertemperatur höher lag. Jetzt ist es wirklich schmerzhaft, vor allem für die Füße und den Kopf, wenn ich mir die Haare wasche[3]. Die Schimpfwörter, die ich teilweise brüllen muss, verstehen zum Glück die Nachbarn nicht, weil es spontan auf Französisch raus kommt. Schimpfen lässt uns Schmerze besser aushalten[4]. Ich dusche viel schneller, lasse wenig Wasser auf mich in kürzesten Zeiten prasseln, reibe mich um nach Seifenresten zu prüfen, und benutze wieder kurz Wasser wenn es sein muss. Interessanterweise entwickelt sich auch Wasserdampf auf den Wänden der Dusche, wenn man kalt duscht. Ich vermute, weil der Körper so heftig gegen die Kälte reagiert und selber ganz viel Wärme produziert. Und ich dusche nicht täglich, was jetzt mit der geopolitischen Situation nichts zu tun hat.

Meine Motivation zum Kaltduschen war nicht primär, einfach egoistisch Geld für mich sparen zu wollen. Selbst wenn wir plötzlich tausend Euros mehr auf der Rechnung hätten, könnten wir es problemlos verkraften, und die dreihundert Euros, die ich im letzten Monat vom Arbeitgeber zusätzlich brutto bekommen habe, hätten von der Regierung viel sinnvoller investiert werden können. Für die, die es wirklich brauchen. Es geht mir eher darum, dass alles, was ich an Gas nicht verbrauche, für alle übrig bleibt. Um so der Preissteigerung entgegen zu wirken, und eine Knappheit zu verhindern. Das sehen meine Kollegen leider noch nicht alle so. Beispiel Christian, der noch stolz ist zu verkünden, gerne warm zu duschen, „so warm es geht und zum Schluss noch ein Tick heißer“. So gesehen, dusche ich kalt, damit er den ganzen Winter weiterhin extrem heiß duschen kann. Meine Einsparung alleine wird seinen Bedarf nicht decken.

Laut dem ganz oben verlinkten Artikel werden wir Mitte Februar plötzlich gar kein Gas mehr haben, wenn wir unser Verhalten nicht anpassen. Wenn es so weit kommt, haben wir viel mehr Probleme, als uns erst dann wenn es am kältesten ist daran gewöhnen zu müssen, kalt zu duschen. Zum Beispiel durch Einfrieren und Platzen von Wasserleitungen, die dann auch repariert werden wollen. Und dann, erst dann, werden wir massive Proteste auf der Straße sehen. Bis dahin lassen Leute die Scheuklappe an und machen so wie immer weiter, weil ja das Geld für die hohen Gaskosten vom Staat kommt. Nur, was nützt Geld, wenn es kein Gas mehr gibt[5]? Bin ich zu pessimistisch? Möge mir die Zukunft Unrecht geben.

Denn was wäre die Folge von sozialen Unruhe? Ein Rechtsruck der Gesellschaft? Das sehen wir gerade überall in Europa. Selbst wenn momentan in den Zeitungen viel zu lesen ist, es sähe für Putin schlecht aus, was den Krieg betrifft, würde er am Ende durch die von ihm verursachte Inflation doch sein Ziel erreichen, Europa zu sprengen, wenn alle Mitgliedstaaten zu europafeindlichen populistischen und rechtsextremen Parteien wechseln, die von Putin unterstützt wurden, und es vermutlich immer noch sind[6]. Weil die Leute für die steigenden Preise ihre eigene Regierung verantwortlich machen. Bangen dürften wir in Deutschland bei den nächsten Bundestagswahlen 2025 in drei Jahren. Ich wünsche mir, dass in der Zeit Putin dermaßen verliert, dass der Krieg vorbei ist, der Inflation ein Ende gesetzt wird und dadurch Populismus an Anziehungskraft verliert. Dafür müssen wir aber der Ukraine aktiv unterstützen, und schnell. Denn selbst wenn wir nicht zerbombt werden, im Krieg befinden wir uns trotzdem schon lange, nur, wir hatten es bis Februar nicht gemerkt. Nicht unbegründet hieß es dann, der Krieg in der Ukraine ist ein Krieg gegen die ganze westliche Welt. Seine Auswirkungen können unsere Gesellschaft zu Grunde gehen lassen.

[1] Unbezahlte Werbung, da Namensnennung und/oder Verlinkung.

[2] Die Chefin hat im Sommer beschlossen, ab September müssen wir mindestens einmal die Woche vor Ort arbeiten. Ich habe das Glück, noch einen eigenen Schreibtisch in meinem ursprünglichen Büro zu haben, aber mein Transponder kann meine Tür nicht mehr öffnen und mein Stuhl wurde geklaut. Der erste Punkt ist nicht so schlimm, weil immer Bürokollegen da sind, die mir im Notfall die Tür öffnen können, und sowieso die Tür abends nie verriegelt wird. Ein neuer Stuhl wurde bestellt. In der Zwischenzeit kann ich mich auf Ute verlassen, weil sich ihre Arbeitszeiten inzwischen so stark nach hinten verschoben haben, dass sie immer noch nicht da ist, wenn ich abends um halb sechs das Büro verlasse. Ich benutze ihren Stuhl. Der ist aber so unbequem, dass ich nach zwei Stunden Ischias-Schmerze bekomme, wo ich sonst die Anwesenheit vom Nerven völlig vergessen hatte.

[3] Dabei bin ich so weit gekommen, während meines letzten Urlaubs bei der Friseurin meines Vertrauens in Südfrankreich die Haare kurz schneiden lassen zu haben, damit ich es unter der Dusche besser aushalten kann. Kürzere Haare bedeutet kürzer duschen. Es sieht auch nicht so übel aus, da ich jetzt die Haare nicht mehr zusammen binden kann: Die Locken sind frei und die grauen Ansätze an den Schläfen nicht mehr sichtbar, weil die Haare um das Gesicht anders fallen.

[4] Das verlinkte Video von Arte[1] ist auf Französisch und in einigen Monaten vermutlich nicht mehr verfügbar, da Arte gerne dazu neigt, Videos nach einer Weile zu löschen und wieder hochzuladen. Ob es eine deutsche Version vom Video gibt, weiß ich nicht.

[5] Woher kommt bloss dieses Déjà-vu-Gefühl? Ach ja, Klimawandel.

[6] Was Putin nicht daran gehindert hat, den Angriff auf die Ukraine mit dem Ziel der „Entnazifizierung“ des Landes zu begründen.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Workshop – Der Braunbär – Flucht aus dem Gefängnis

Eine bewegte Nacht.

Ich war in einem breiten, nicht sehr hellen Vorlesungsraum mit weißen Wänden. Tische waren dicht aneinander gereiht. Drauf waren Laptops. Viele Leute saßen an den Tischen. Ich stand beim Pult und mein Bildschirm war an der Leinwand projiziert. Ich erklärte, wie man etwas macht – keine Ahnung was. Dann ging ich durch die Reihen um zu prüfen, dass die Teilnehmer vom Workshop mit meinen Anweisungen arbeiten konnten. Ich stand hinter der ersten Reihe, als mein Blick auf die Leinwand fiel. Dort war mein Web-Browser mit allen seinen Reitern zu sehen. Prominent war meine Dashboard-Seite von WordPress. Mit der Adressleiste gut sichtbar. Adieu Anonymität. Mist. Wie konnte mir das passieren? Bis jetzt schien niemand darauf aufmerksam geworden zu sein. Ich könnte versuchen, unauffällig den Reiter zu schließen. Würden sie es aber dann nicht mitbekommen?

Ich war noch am Überlegen, wie ich mich anstellen sollte, als ich kurzfristig aufwachte. Dieses Szenario ist völlig unwahrscheinlich. Abgesehen davon, dass ich in meinem aktuellen Job an keine Lehrveranstaltung mehr lehre. Wenn, dann würde ich mein dienstliches Laptop benutzen, und drauf ist für mich private Internetnutzung absolut Tabu. Geht gar nicht. Ich schlief wieder ein.

Ich war bei einer Freundin zu Besuch. Sie wohnte in einem kleinen Haus mit großem Garten. Als ich ankam, noch bevor sie mich begrüßen konnte, kam etwas Riesengroßes auf mich zu, viel größer als ich. Es setzte eine riesige schwarze Tatze auf meine Schulter. Ein Braunbär. Wie es mir sehr schnell klar wurde, ein außergewöhnlich freundlicher Braunbär. Ich habe ihn gekrault. Ab und zu habe ich schon einige Schreckmomente gehabt, aber dann war das Kraulen immer die Lösung, um mich aus der ängstlichen Situation zu befreien. Ich habe den Bär hinter den Ohren gekrault. Das fand er besonders gut und er fing an, vor lauter Freude zu grunzen. Dann kam ein weißer Hund auf uns zu. „Bonnie!“ sagte ich dem Hund.

Ich wachte wieder auf. Das Grunzen vom Bär in meinem Traum war eindeutig das Schnarchen vom Ehemann. Wer die Freundin im Traum war, hatte ich am Anfang keine Ahnung. Aber wenn sich Bonnie zu uns gesellt hat, die Hundin von Sonia, dann war ich vielleicht bei ihrer Mutter, die letzte Woche ihren achtzigsten Geburtstag gefeiert hat, und die einen großen schwarzen Hund hat. Vor großen Hunden habe ich Respekt.

Wieder konnte ich einschlafen.

Ich war ein Mann und befand mich in einem Gefängnis. Aber nicht mehr lange. Ich war dabei zu fliehen. Ich rannte einfach zum breit geöffneten Tor und niemand schien meine Flucht zu merken. Am Tor waren doch zwei bewaffneten Männer. Ich warf mich in meinem schwarzen Anzug zum Boden, ein hellbrauner, mit Staub und Kies bedeckter Boden. So rutschte ich mich am Boden weg vom Gefängnis. Ich dachte, das ist so doof, so kriege ich weiße Staubflecke auf dem Anzug. Aber Hauptsache, ich konnte fliehen.

Einige Straßen weiter kam ich an eine Polizei-Wache vorbei. Die Polizisten, drei Männer, waren dabei, alle Leute durchzusuchen, die an ihr Wagen vorbei liefen. Weil jemand aus dem Gefängnis geflohen war. Sie sagten mir barsch, ich sollte da stehen bleiben und sie würden mich auch durchsuchen. Wir standen vor einem administrativen Gebäude, aus dem eine Frau raus kam. Ich sagte, ich müsste dringend zur Toilette und betrat das Gebäude mit einem anderen Mann, der auch warten musste, um durchsucht zu werden. Er sagte, sie würden auch unsere Schlüssel testen wollen, weil der Geflohene eine Tür aufgemacht haben musste. Wir gingen zur Toilette gemeinsam, und ich war wieder eine Frau. Der Mann ging zuerst rein. In der Zeit löste ich einen Schlüssel aus meinem Bund und überlegte, wo ich ihn verstecken könnte. In meinem Rucksack? Drin war es sehr unordentlich. Es gab viele kleinen Taschen. In einer fand ich eine geöffnete Packung Schokokekse, mit einigen Keksen am Boden zerbröselt. Ich dachte, ich müsste den Rucksack gründlich reinigen. Ich schaute aus dem Fenster, das gegenüber der Eingangstür vom Gebäude war. Ein schöner grüner Park mit Bäumen war zu sehen. Ich könnte das Gebäude durch das Fenster verlassen und so der Polizeikontrolle entgehen.

Ich wachte endgültig auf, es war kurz vor acht.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Linguine al limone mit Bottarga

Ein für mich ungewöhnliches Rezept. Bottarga kannte ich bis vor einem Monaten gar nicht.

Als wir in Genua waren, sind wir am späten Nachmittag vom Hafen aus zurück zum Hotel gelaufen. Da wir seit dem Vormittag im Aquarium gewesen waren, hat sich der Magen gemeldet. Wir haben eine späte Mittagspause auf dem Weg zum Hotel in einem fantastischen,  gehobenen Restaurant gemacht, wo die Leute uns nicht nur nicht weg geschickt haben, weil wir recht lässig angezogen waren, was ich fast erwartet hatte, sondern uns auch noch sehr herzlich empfangen haben und nicht zuletzt Gaumengedichte gezaubert haben. Trotz der späten Stunde, während die anderen Restaurants im Viertel vor dem Abend Pause machten. Vom lauwarmen Tartare di Gambero rosso mit Limette und Joghurt werde ich noch lange schwärmen. Solltet ihr euch jemals in Genua befinden, stattet Zeffirino[1] einen Besuch ab.

Der Tartar war meine Vorspeise. Als Hauptgang haben wir beide Tagliolini mit Venusmuscheln bestellt. Weil ich unbedingt irgendwas vongole in Italien essen wollte. Dazu hat uns die Kellnerin zur Überraschung vom Ehemann keinen Parmesan angeboten (was ich eh nicht hätte haben wollen, irgendwie passen für mich Käse und Fisch oder Meeresfrüchte nicht wirklich zusammen… gut, abgesehen von den leckeren Muscheln in Roquefort-Sauce die ich im Pub in Doolin hatte, und stimmt, gratinierte Muscheln mag ich auch, aber ich schweife ab), sondern Bottarga. Ich habe nicht verstanden, was sie uns gebracht hat aber ich habe zugesagt und sie hat mir von einer Art Wurst ganz fein auf dem Teller etwas abgerieben. Sehr wenig. Das war so gut.

Beim Verlassen vom Restaurant habe ich den Mann am Empfang gefragt, was ich auf dem Teller bekommen hatte. Bottarga, sagte er, und er schrieb es mir auf der Visitenkarte vom Restaurant auf. Das würden sie selber in der Küche herstellen, wenn sie Fisch mit einer vollen Eiertasche zerlegen, nehmen sie die Tasche raus und lassen sie gepresst trocknen. Ob wir Bottarga im Markt finden könnten, wollte ich wissen. Vielleicht. Am nächsten Morgen sind wir zum mercato orientale gegangen und sind bei einem Fischhändler fündig geworden. Ich war glücklich, ein Stück italienischer Spezialität nach Hause gebracht zu haben, bis ich die Rückseite der Packung gelesen habe. Spanische Firma. Für Italien hergestellt.

Die Bottarga haben wir in Stifte geschnitten und im Tiefkühlfach eingefroren. So lässt sie sich gut reiben.

Auf dem Markt hatte ich auch Linguine mit Zitrone und Pfeffer gekauft. Daraus habe ich dieses Rezept zubereitet.

Die Zutaten (für 2 Portionen)

  • 250 g Linguine al limone e pepe, na ja, ob es wirklich Linguine sind bin ich nicht sicher, sie sehen ein Tick nicht breit genug aus
  • Saft einer Zitrone
  • Eine Knoblauchzehe
  • Zwei Esslöffel Olivenöl
  • Bottarga

Die Zubereitung

  • Die Linguine zwei Minuten weniger als auf der Packung angegeben in gesalzenem kochendem Wasser kochen.
  • In der Zeit, das Olivenöl in einer hohen Pfanne erhitzen. Die geschälte und klein geschnittene Knoblauchzehe drin anschwitzen, dann mit dem Zitronensaft ablöschen und bei schwacher Hitze reduzieren lassen.
  • Am Ende der Kochzeit der Pasta, eine oder zwei Kehlen vom Kochwasser zur Zitronensauce geben, dann abgießen und die Pasta zur Zitronensauce in die Pfanne geben. Gut umrühren, dann den Herd ausschalten.
  • Die Pasta auf zwei Teller verteilen. Bottarga drauf reiben, aber Vorsicht, nur sehr wenig. Wenn man zu viel drauf tut, kann es schnell eklig wirken.

Nährwertangaben

pro Portion fürs Rezept
Energie (kcal) 545 1090
Eiweiß (g) 15,4 30,7
Kohlenhydrate (g) 90,5 180,9
davon Zucker (g) 4,6 9,2
Fett (g) 10,7 21,3
Ballaststoffe (g) 4,9 9,8

[1] Unbezahlte Werbung, da Namensnennung und/oder Verlinkung.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Endlich neue Zähne

Es hat lange gedauert. Zwei Wochen nach der Freilegung Anfang August haben wir bei der Zahnärztin eine Abformung meiner Zahnlücken gemacht. Das war sehr unangenehm und keine Erfahrung, die ich wiederholen möchte. Da wurde eine zähe, pinke Paste auf einem Löffel verteilt, der die grobe Form von einem Gaumen hatte. Der Löffel mit der Paste wurde dann fest an meinem Gaumen gedrückt, um so etwa fünf Minuten lang auszutrocknen, während ich auf dem Zahnarztstuhl mit dem Kopf extrem nach hinten gekippt lag. Es war der Horror. Ich hatte die Anweisung bekommen, die ganze Zeit keinen Würge- oder Schluck-Reflex zu bekommen, was in sich schon völlig absurd ist, weil man einen Reflex bekanntlich nicht unterdrücken kann. Also, wenn mir auf der richtigen Stelle am Knie mit dem Hammer gekloppt wird, dann geht mein Bein hoch, egal wie sehr ich versuchen mag, es zu vermeiden. Die Zahnarzthelferin hatte leider zu viel Paste auf dem Löffel getan, die mir direkt den Gaumen runter in Richtung Kehle gelaufen ist, was dadurch begünstigt wurde, dass mein Kopf viel zu sehr nach hinten gekippt war, und da fing das Keuchen an. Die Paste musste ganz schnell von meinem Gaumen entfernt werden, bevor sie austrocknen konnte. Danach ging der Würgereflex weg, aber ich hatte ständig Speichel, der mir runter gelaufen ist. Und auch aus dem Mund ausgetreten ist. Das war eklig. Nach einer gefühlten Ewigkeit musste der Löffel weg, und die Paste hatte so sehr ausgetrocknet, dass sie am Gaumen und an den Zähnen fest hielt. Es war ein Kraftakt, den Löffel abzubekommen. Ich wage die Behauptung, hätte ich an dem Tag andere lockere Zähne gehabt, wären sie mit dem Löffel weg gerissen worden.

Zwei weiteren Wochen später, die Woche bevor wir in den Urlaub gefahren sind, war dann der Termin für die Kronsetzung. Die Kronen wurden von einem Zahntechniker erstellt, und ein Stift wurde mir in jedem Loch in die Schraube geschoben, auf dem dann der Ersatzzahn sitzen sollte. Leider fehlte an jeder Krone einen Bruchteil von einem Millimeter, und es entstand eine kleine Lücke zwischen Zahnfleisch und Krone, in der sich ständig Essensreste sammeln könnten. Es ginge gar nicht, meinte die Zahnärztin. Die Stifte wurden entfernt und die Gingivaformer zurück geschraubt. Am folgenden Freitag, am Tag vor unserer Abreise, sollte ich nochmal kommen, der Zahntechniker würde die Kronen korrigieren. Aber es passte immer noch nicht. Nach unserer Rückkehr aus dem Urlaub wurde ich dann krank, und wir haben nochmal zwei Wochen warten müssen. Heute war es endlich soweit. Beide Kronen passen. Sie wurden mit einer Art Zement auf dem Stift fest geklebt. Jetzt habe ich einen komischen Gefühl mit der Zunge, wo woher fast drei Jahre lang eine Lücke war. Ich muss mich daran gewönnen. Der Zahnfleisch ist auch leicht irritiert, heute Abend, obwohl ich mir nach dem Mittagessen die Kronen gründlich geputzt habe. Ich werde ab jetzt noch intensiver um die Kronen aufpassen müssen, wenn ich mir die Zähne putze. Ich verbrachte vorher schon viel mehr Zeit damit, mit die Zähne zu putzen als zu duschen – zugegeben, weil ich seit dem Sommer ganz kalt dusche, und es wird langsam schmerzhaft. Ich glaube nicht, dass ich es den ganzen Winter durchziehen kann.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Am Bahnhof Yorckstrasse

Wir sind fürs Wochenende in Berlin. Heute ganz früh mit dem Zug los gefahren, um halb zwölf am Hauptbahnhof angekommen. Mittagspause beim Habibi[1] am Winterfeldtplatz, ich hab’s vermisst und mir war nach Falafeln[2]. Dann Richtung Hotel nach Steglitz gefahren. Der Ehemann liegt jetzt neben mir und holt seinen Schlaf nach, bevor wir zu einer Geburtstagsfeier fahren.

Ich würde gerne auch schlafen, aber so leicht geht’s bei mir nicht. Und ich kann irgendwie das Bild von heute am Bahnhof Yorckstrasse nicht aus dem Kopf kriegen.

Warnung, der Rest vom Text eignet sich nicht zur Lektüre vor dem Essen.

Wir liefen auf dem Bahnsteig, als uns ein älterer Herr mit Rollator und Tüten entgegen kam. Schon ein paar Meter vor uns, habe ich den Ehemann zur anderen Seite gezogen. Es stank auf einmal stark nach Exkrementen. Woher das kam, habe ich erst danach verstanden, als wir fast am Ende vom Bahnsteig waren und ich mich umdrehte. Der ältere Herr war vor den Mülleimern gebeugt. Ob er nach Flaschen sucht, habe ich mich gefragt. Er stand lange da gebeugt und ich habe mich kurz gefragt, ob er Hilfe braucht. Vielleicht ging’s ihm nicht gut. Aber bevor ich zu dem Entschluss kam, zurück zu ihm zu gehen, habe ich gesehen, wie sich eine Beule in seiner Hose am Hinten geformt hat, um dann die breite Hosenbeine runter zu rutschen. Gefolgt von einer zweiten. Er war einfach dabei, sich in der Hose zu kacken.

Damals in Germering war’s noch harmlos, im Vergleich.

[1] Unbezahlte Werbung, da Namensnennung.

[2] Die Falafeln waren leider nicht mehr so gut wie in meiner Erinnerung. Ich habe den Koriander-Geschmack vermisst, und sie waren mir ein Tick zu trocken.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.

Magere Ausbeute

Ich habe Ende März Karotten gesät. Die Maruschka-Sorte[1].

Lästige Pilze im Blumentopf.

Aus den einundzwanzig Keimen haben nur dreizehn Blätter entwickelt. Ich habe sie in drei größere Töpfe umgepflanzt, als es noch neun waren. Zwischendurch musste ich häufig Pilze mit einer kleinen Handschaufel entfernen. Sie kamen bestimmt aus der Erde, in anderen Blumenkasten auf dem Balkon habe ich sie nicht entdeckt.

Ende Juli sahen die ersten Karotten gut und schön breit aus, wenigstens der Teil, der aus der Erde raus guckte. Ich habe sie gezogen und war massiv enttäuscht zu sehen, wie kurz sie doch waren. Ich habe beschlossen, die anderen Karotten bis nach dem September-Urlaub wachsen zu lassen.

Gestern war es so weit. Unten die Ausbeute, nach einer gesamten Wartezeit von über sechs Monaten. Wie soll ich sagen, irgendwie enttäuschend. Viel größer sind sie nicht geworden. Davon wird man nicht satt. Aber lustig sehen die aus, teilweise. Ganz rechts, eine Karotte mit zwei Beinen beim Sitzen und einem Knubbel, der wie ein kleiner Po aussieht. Die Dritte von rechts sieht irgendwie wie eine Zahnwurzel aus. Wenn man sie in die richtige Orientierung betrachtet.

Daraus wollte ich Erbsen mit Karotten zubereiten. Ich habe mich mittags dazu entschieden und weil es recht spät war, um die Erbsen einweichen zu lassen, habe ich dem Wasser Natron zugefügt. Beim Kochen ist dann ein Brei entstanden, die Erbsen sind zerfallen. Katastrophe! Ich habe also Ebly[1,2] hinzugefügt und es wurde Ebly mit Karotten in Erbsensauce. Dazu Kürbis-Kartoffel-Püree und gegarte Bockwürste.

[1] Unbezahlte Werbung, da Namensnennung und/oder Verlinkung.

[2] Weizen, aus Frankreich mitgenommen. Bei jedem Urlaub nehmen wir Lebensmittel mit, die wir sonst in Deutschland nur sehr schwer finden. Die Packung  Ebly hat mich im Supermarkt angelacht. Im Studium hatte ich Weizen aus genau dieser Marke häufig gekocht, als Abwechslung zu Nudeln und Reis.


Dieser Beitrag ist ursprünglich auf Meckereien & Co. erschienen.