PHP 8.4 RC1 zum Testen verfügbar

Auf unseren Webservern steht ab heute der erste Release Candidate der kommenden PHP Version 8.4 zum Testen zur Verfügung. Die Release Candidate-Versionen von PHP dienen den PHP-Entwicklern zum Aufspüren von letzten Fehlern und Problemen, bevor die finale Version von PHP 8.4 voraussichtlich gegen Ende November erscheinen wird.

Mit dem Release Candidate können Sie testen, ob die von Ihnen genutzten PHP-Anwendungen bereits mit PHP 8.4 kompatibel sind, für den Produktivbetrieb sollten die Release Candidates jedoch aufgrund eventuell sicherheitsrelevanter Fehler nicht genutzt werden. Bis zur geplanten Veröffentlichung von PHP 8.4 werden planmäßig noch 3 weitere Release Candidate-Versionen erscheinen, die wir dann zeitnah auf den Webservern installieren werden.

Neuerungen in PHP 8.4

Die für viele Endanwender wichtigste Verbesserung bei neuen PHP-Versionen ist eine höhere Ausführungsgeschwindigkeit, wir konnten in ersten Tests jedoch keine signifikanten Performance-Unterschiede zwischen PHP 8.4 und der Vorgängerversion 8.3 feststellen.

Eine nützliche Neuerung in PHP 8.4 sind Propery Hooks, dadurch lässt sich redundanter Boilerplate-Code für Get()- und Set()-Methoden reduzieren. Bei folgender Beispielklasse ohne Property Hooks müssen Get()- und Set()-Methoden definiert werden:

class User 
{
    private $name;
 
    public function __construct(string $name) {
        $this->name = $name;
    }
 
    public function getName(): string {
        return $this->name;
    }
 
    public function setName(string $name): void {
         if (strlen($value) === 0) {
                throw new ValueError("Name must be non-empty");
        }
        $this->name = $name;
    }
}

Mit Property Hooks lässt die Klasse wie folgt vereinfachen:

class User 
{
    public string $name {
        set {
            if (strlen($value) === 0) {
                throw new ValueError("Name must be non-empty");
            }
            $this->name = $value;
        }
    }
 
    public function __construct(private string $name) {
        $this->name = $name;
    }
}

Für Arrays gibt es nun 4 zusätzliche Callback-Funktionen array_find(), array_find_key(), array_any() und array_all(). Beachten Sie dazu folgende Beispiele:

$array = [
    'a' => 'dog',
    'b' => 'cat',
    'c' => 'cow',
    'd' => 'duck',
    'e' => 'goose',
    'f' => 'elephant'
];
 
// Find the first animal with a name longer than 4 characters.
var_dump(array_find($array, function (string $value) {
    return strlen($value) > 4;
})); // string(5) "goose"

// Find the first animal with a name longer than 4 characters.
var_dump(array_find_key($array, function (string $value) {
    return strlen($value) > 4;
})); // string(1) "e"

// Check, if any animal name is longer than 5 letters.
var_dump(array_any($array, function (string $value) {
    return strlen($value) > 5;
})); // bool(true)

// Check, if all animal names are shorter than 12 letters.
var_dump(array_all($array, function (string $value) {
    return strlen($value) < 12;
})); // bool(true)

Eine weitere Neuerung ist die Unterstützung von HTML5 in der DOM Extension, außerdem wurden in der XML Extension Probleme bei der Verarbeitung großer XML-Dateien behoben.

Entfernung veralteter Extensions

Die veralteten PHP-Extensions IMAP und Pspell wurden in PHP 8.4 entfernt, da die Extensions selbst sowie die zugrundeliegenden Softwarebibliotheken veraltet sind und seit Jahren nicht mehr aktualisiert wurden. Als Alternative zu Pspell kann die Extension Enchant genutzt werden.

Da es in PHP 8.4 kaum schwerwiegende nicht abwärtskompatible Änderungen zur Vorgängerversion 8.3 gibt, sollten viele Web-Anwendungen bereits mit PHP 8.4 kompatibel sein.

Eine Übersicht über alle Änderungen und Neuerungen in PHP 8.4 finden sie hier.

PHP 8.4 aktivieren

Sie können PHP 8.4 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktive auswählen:

AddHandler application/x-httpd-php84 .php

PHP 8.1 End of Life

Mit der gegen Ende November geplanten Veröffentlichung der finalen Version von PHP 8.4 stellen die PHP-Entwickler die Unterstützung der PHP-Version 8.1 vollständig ein, für die PHP Version 8.2 wird es ab dann nur noch Updates bei sicherheitskritischen Fehlern geben. Falls Sie noch eine ältere PHP-Version als 8.2 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.2 oder neuer umstellen.

Neue Funktionen in der E-Mail-Verwaltung

Nutzer:innen eines Postfachs können für dieses Postfach unter https://my.variomedia.de/mail auch ohne Kundenmenü-Zugang zahlreiche Einstellungen vornehmen:

  • Änderung des Passworts
  • Setzen von automatischen Antworten mit Start- und Enddatum
  • Hinzufügen und Entfernen von zusätzlichen Empfängern
  • Konfiguration des Spamschutzes

Neu hinzugekommen sind nun zwei weitere Funktionen:

  • Anzeige des verbrauchten Speicherplatzes im Postfach (stündlich aktualisiert)
  • Anlegen von Anwendungspasswörtern

Beide Funktionen waren bisher nur im Kundenmenü verfügbar, für das in der Regel nur wenige berechtigte Personen (z.B. die Geschäftsleitung) einen Zugang haben.

Die Nutzung von Anwendungspasswörtern (auch “App-Passwords” oder “Application Passwords” genannt) ist ein deutlicher Sicherheitsgewinn bei der E-Mail-Nutzung. Anstatt für jedes Gerät und jede Anwendung, in der ein Postfach eingerichtet ist, das gleiche Kennwort zu benutzen, können Sie individuelle Passwörter für jedes Gerät anlegen. Geht ein Gerät verloren, können Sie genau dieses Passwort löschen und damit den unberechtigten Zugriff auf Ihre E-Mails verhindern. Mehr Informationen dazu finden Sie in unserem FAQ-Artikel “Wie nutze ich Application Passwords?

Neue Domainpreise ab dem 01.01.2024

Aufgrund teilweise deutlich erhöhter Einkaufspreise durch die Registrierungsstellen müssen wir die Preise einiger Top-Level-Domains entsprechend anpassen. Betroffen davon sind nur 47 der über 750 Domainendungen, die wir anbieten. Für die übrigen konnten wir die Preise stabil halten.

Wir haben eine Seite erstellt, auf der alle Änderungen nachzuvollziehen sind: https://www.variomedia.de/domains/preise/2024-01/

Auszug aus der neuen Domainpreisliste, die ab dem 01.01.2024 gilt.

Die neuen Preise gelten für alle Neuregistrierungen, Domainübernahmen und Verlängerungen ab dem 01.01.2024. Es handelt sich um Preise pro Jahr inklusive 19% Mehrwertsteuer. Alle Kundinnen und Kunden, die von der Preiserhöhung betroffen sind, wurden per E-Mail über die Änderungen informiert.

Wir hoffen, dass Sie trotz der höheren Preise mit unserer Arbeit zufrieden sind und danken für Ihr Verständnis!

PHP 8.3 ist verfügbar

PHP 8.3 Logo

Das PHP-Entwicklerteam stellt jedes Jahr gegen Ende November eine neue Version der von vielen bekannten Web-Anwendungen genutzten Skriptsprache PHP bereit. Heute ist die PHP-Version 8.3 erschienen, die Sie ab sofort auf unseren Webservern nutzen können.

Neuerungen in PHP 8.3

Die meisten Neuerungen in PHP 8.3 betreffen Softwareentwickler, die neue Funktionen und Attribute verwenden können.

Für JSON-Zeichenketten gibt es eine neue Funktion json_validate(), mit der diese auf syntaktische Gültigkeit geprüft werden kann. Bisher musste dazu die Funktion json_decode() genutzt werden, die jedoch deutlich langsamer ist und wesentlich mehr Speicher benötigt, was bei sehr langen JSON-Zeichenketten zu Problemen führen kann.

Eine weitere Neuerung ist das Attribut #[Override], mit dem eine Methode anzeigen kann, dass sie eine Methode einer übergeordneten Klasse überschreibt. Falls sich der Name oder die Signatur der Methode in der übergeordneten Klasse z.B. nach einem Update ändert, würde dies häufig unbemerkt bleiben und könnte zu unerwarteten Problemen führen. Durch das Override-Attribut würde es in diesem Fall eine eindeutige Fehlermeldung geben und die Anwendungsentwickler können das Problem sofort erkennen und beheben.

Beispiel

abstract class ParentClass {
    public function MethodImplementation(): int {
        return 1;
    }
}

final class ChildClass extends ParentClass {
    #[Override]
    public function MethodImplementation(): int {
        return 2;
    }
}

Angenommen, der Name der Methode MethodImplementation() ändert sich wie folgt:

abstract class ParentClass {
    public function NewMethodImplementation(): int {
        return 1;
    }
}

Dann gäbe es in der abgeleiteten Klasse eine Fehlermeldung und der Name der Methode müsste angepasst werden.

Ebenfalls neu ist die Möglichkeit Typen für Klassenkonstanten festzulegen. Dies verbessert die Typsicherheit bei abgeleiteten Klassen oder Interface-Implentierungen.

Beispiel

class ConstantTest {
    const string TEST_CONSTANT = 'test';
}

Die in PHP-Version 8.2 modernisierte Random-Extension wurde außerdem um einige neue Funktionen erweitert. Besonders interessant ist die Funktion getBytesFromString(), die eine Zeichenkette mit vorgegebener Länge aus vorgegebenen Zeichen erzeugt, damit lassen sich z.B. sehr einfach Passwörter generieren.

Eine Übersicht über alle Neuerungen und Änderungen sowie Hinweise zur Migration von älteren PHP-Versionen finden sie hier.

Da es in PHP 8.3 kaum schwerwiegende nicht abwärtskompatible Änderungen zur Vorgängerversion 8.2 gibt, sollten viele Web-Anwendungen bereits mit PHP 8.3 kompatibel sein.

PHP 8.3 aktivieren

Sie können PHP 8.3 wie gewohnt über das Kundenmenü für eine bestimmte Domain oder das gesamte Paket aktivieren.

Möchten Sie PHP 8.3 nur für ein bestimmtes Unterverzeichnis nutzen, können Sie folgende .htaccess-Direktive verwenden:

AddHandler application/x-httpd-php83 .php

PHP 8.0 End of Life

Etwa zeitgleich mit der Veröffentlichung von PHP 8.3 stellen die PHP-Entwickler die Unterstützung der PHP-Version 8.0 vollständig ein. Für die PHP Version 8.1 wird es ab Dezember nur noch Updates bei sicherheitskritischen Fehlern geben, nur die PHP-Versionen 8.2 und 8.3 werden dann noch vollständig unterstützt.

Falls Sie noch eine ältere PHP-Version als 8.1 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.1 oder neuer umstellen.

Wir werden für ältere nicht mehr unterstützte PHP-Versionen weiterhin regelmäßig zurückportiere Sicherheitsupdates bereitstellen, es gibt aber keine Garantie, dass alle eventuell bestehenden Sicherheitslücken zeitnah geschlossen werden.

Start von .ing-Domains für Ingenieur:innen am 05.12.2023

Am 05.12.2023 startet die freie Vergabe für .ing-Domains, die sich an alle Ingenieur:innen richtet. Sichern Sie sich jetzt Ihre .ing-Domain und zeigen Sie der Welt, dass Sie als Ingenieur:in die Zukunft gestalten!

Warum sollten Sie eine .ing-Domain registrieren?

  1. Professionelle Präsenz: Mit einer .ing-Domain strahlen Sie Professionalität aus. Zeigen Sie potenziellen Arbeitgebern, Geschäftspartnern oder Kunden, dass Sie Expertin oder Experte in Ihrem Bereich sind.
  2. Einprägsame Identität: Eine .ing-Domain ist einzigartig und leicht zu merken. Ihre persönliche Marke wird sich von anderen abheben und in Erinnerung bleiben.
  3. Branchenbezug: Die .ing-Domain ist perfekt für Ingenieur:innen aller Fachrichtungen – sei es Bauingenieurwesen, Elektrotechnik, Maschinenbau oder Softwareentwicklung. Sie signalisiert sofort Ihre Spezialisierung.
  4. Globaler Einfluss: Als Ingenieur:in können Sie auf der ganzen Welt tätig sein. Eine .ing-Domain hebt Ihre globale Präsenz hervor und zeigt, dass Sie grenzüberschreitend denken.
  5. Exklusivität: Es gibt womöglich im deutschen Sprachraum hunderte Ingenieur:innen mit Ihrem Nachnamen. Nur jetzt besteht die Möglichkeit, auch Domains mit besonders verbreiteten Namen wie schulz.ing oder meier.ing zu registrieren.

Merken Sie jetzt Ihre .ing-Domain vor und setzen Sie ein starkes Zeichen für Ihre Expertise. Ihre Domain ist Ihre digitale Visitenkarte – machen Sie sie einprägsam und aussagekräftig. Der Preis für .ing-Domains beträgt nur 21,- Euro pro Jahr; ausgenommen sind einige von der Registrierungsstelle ausgewählte Premiumdomains.

Ab dem 10.10.2023 können auch verbindliche Vormerkungen durchgeführt werden. Wir informieren dann alle Kundinnen und Kunden mit einer unverbindlichen Vormerkung per E-Mail.

Inhaber:innen von Markenrechten können .ing-Domains schon vom 20.09.2023 bis zum 24.10.2023 in der Sunrise-Phase bevorzugt registrieren. Sollten Sie an einer Vorab-Registrierung mit Markenrechten Interesse haben, kontaktieren Sie uns bitte. Mehr Informationen zu .ing-Domains finden Sie unter https://ntlds.variomedia.de/domain/ing.

PHP 8.3 RC1 zum Testen verfügbar

Auf unseren Webservern steht ab heute der erste Release Candidate der kommenden PHP Version 8.3 zum Testen zur Verfügung. Die Release Candidate-Versionen von PHP dienen den PHP-Entwicklern zum Aufspüren von letzten Fehlern und Problemen, bevor die finale Version von PHP 8.3 voraussichtlich gegen Ende November erscheinen wird.

Mit dem Release Candidate können Sie testen, ob die von Ihnen genutzten PHP-Anwendungen bereits mit PHP 8.3 kompatibel sind, für den Produktivbetrieb sollten die Release Candidates jedoch aufgrund eventuell sicherheitsrelevanter Fehler nicht genutzt werden. Bis zur geplanten Veröffentlichung von PHP 8.3 werden noch 5 weitere Release Candidate-Versionen erscheinen, die wir dann zeitnah auf den Webservern installieren werden.

Neuerungen in PHP 8.3

Die für viele Endanwender wichtigste Verbesserung bei neuen PHP-Versionen ist eine höhere Ausführungsgeschwindigkeit, wir konnten in ersten Tests jedoch keine signifikanten Performance-Unterschiede zwischen PHP 8.3 und der Vorgängerversion 8.2 feststellen.

Für JSON-Zeichenketten gibt es nun eine Funktion json_validate(), mit der diese auf syntaktische Gültigkeit geprüft werden kann. Bisher musste dazu die Funktion json_decode() genutzt werden, die jedoch deutlich langsamer ist und wesentlich mehr Speicher benötigt, was bei sehr langen JSON-Zeichenketten zu Problemen führen kann.

Eine weitere Neuerung ist das Attribut #[Override], mit dem eine Methode anzeigen kann, dass sie eine Methode einer übergeordneten Klasse überschreibt. Falls sich der Name oder die Signatur der Methode in der übergeordneten Klasse ändert, würde dies normalerweise unbemerkt bleiben, und könnte zu unerwarteten Problemen führen. Durch das Override-Attribut würde es in diesem Fall eine eindeutige Fehlermeldung geben, und die Anwendungsentwickler können das Problem sofort erkennen und beheben.

Die in PHP-Version 8.2 modernisierte Random-Extension wurde außerdem um einige neue Funktionen erweitert. Besonders interessant ist die Funktion getBytesFromString(), die eine Zeichenkette mit vorgegebener Länge aus vorgegebeben Zeichen erzeugt, damit lassen sich z.B. sehr einfach Passwörter generieren.

Da es in PHP 8.3 kaum schwerwiegende nicht abwärtskompatible Änderungen zur Vorgängerversion 8.2 gibt, sollten viele Web-Anwendungen bereits mit PHP 8.3 kompatibel sein.

PHP 8.3 aktivieren

Sie können PHP 8.3 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktive auswählen:

AddHandler application/x-httpd-php83 .php

PHP 8.0 End of Life

Mit der gegen Ende November geplanten Veröffentlichung der finalen Version von PHP 8.3 stellen die PHP-Entwickler die Unterstützung der PHP-Version 8.0 vollständig ein, für die PHP Version 8.1 wird es ab dann nur noch Updates bei sicherheitskritischen Fehlern geben. Falls Sie noch eine ältere PHP-Version als 8.1 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.1 oder neuer umstellen.

Probleme mit Leerzeichen in Apache Rewrite Regeln

Wir haben heute früh ein Update der Webserver-Software Apache auf die aktuelle Version 2.4.56 eingespielt. Seit diesem Update gibt es nun vereinzelt Probleme beim Aufruf von URLs mit Leerzeichen.

Fehlermeldung

Falls Sie eine URL mit einem Leerzeichen aufrufen, erhalten Sie unter Umständen seit heute früh die folgende Fehlermeldung:

Forbidden

You don’t have permission to access this resource.

In den Error Logs findet sich dann folgender Fehler:

Rewritten query string contains control characters or spaces

Besonders häufig betroffen sind die Content Management Systeme Drupal und MODX, die problematische Rewrite-Regeln in der automatisch generierten .htaccess-Konfigurationsdatei verwenden.

Fehlerursache

Die Ursache für den Fehler ist ein fehlendes Escaping von Sonderzeichen in den Rewrite Regeln einer .htaccess-Konfigurationsdatei. Das Escaping von Sonderzeichen in Rewrite Strings war bis Apache Version 2.4.55 optional, seit Version 2.4.56 ist es aus Sicherheitsgründen (CVE-2023-25690) verpflichtend.

Sie können das Escaping über die Flags B (bei Umleitung auf Query Strings) bzw. BNP (bei Umleitung auf Pfade) aktivieren. Weitere Informationen finden Sie in der Apache-Dokumentation.

Beispiel

Die folgende Rewrite Regel des MODX Content Management Systems erzeugt bei Leerzeichen in der URL eine Fehlermeldung:

RewriteRule ^(.*)$ index.php?q=$1 [L,QSA]

Um die Fehlermeldung zu beheben, muss die Regel wie folgt geändert werden:

RewriteRule ^(.*)$ index.php?q=$1 [B,L,QSA]

PHP 8.2 ist verfügbar

Das Entwicklerteam der für Web-Anwendungen häufig genutzten Programmiersprache PHP stellt traditionell gegen Ende des Jahres eine neue Version der Programmiersprache bereit. Heute ist die neue Version 8.2 veröffentlicht worden, die wir gerade auf allen Webservern installiert haben.

Da es sich um ein sogenanntes Minor-Release handelt, halten sich die nicht abwärtskompatiblen Änderungen zur Vorgängerversion in Grenzen, viele bekannte PHP-Anwendungen wie WordPress sind daher bereits mit der neuen PHP-Version nutzbar.

Neuerungen und Änderungen in PHP 8.2

Die für die meisten Nutzer:innen wichtigste Verbesserung bei neuen PHP-Versionen ist eine höhere Ausführungsgeschwindigkeit, wodurch sich die Seitenladezeit von Web-Anwendungen wie WordPress reduziert. Wir konnten in ersten Tests Verbesserungen von bis zu 5% feststellen.

Eine für viele PHP-Entwickler nützliche neue Funktion ist mysqli_execute_query(), die mysqli_prepare(), mysqli_execute() und mysqli_stmt_get_result() in einem einzigen Aufruf verbindet. Diese Funktion kann ähnlich einfach wie mysqli_query() genutzt werden, ist aber nicht für sogenannte SQL Injection Angriffe anfällig. Parameterwerte werden wie bei Prepared Statements mit den Platzhalter ? übergeben, z.B.:

foreach ($db->execute_query('SELECT * FROM user WHERE name LIKE ? AND type_id IN (?, ?)', [$name, $type1, $type2]) as $row) {
    print_r($row);
}

Eine weitere sinnvolle Verbesserung betrifft den Schutz von vertraulichen Daten. Bei unerwarteten Fehlern während der Ausführung eines PHP-Scripts werden häufig sogenannte Stack Traces ausgegeben, um die Fehleranalyse zu erleichtern. Dabei können unter Umständen jedoch auch vertrauliche Parameter wie Datenbankpasswörter ausgegeben werden, z.B:

PDOException: SQLSTATE[HY000] [2002] No such file or directory in /homepages/u123456/test.php:3
Stack trace:
#0 /homepages/u123456/test.php(3): PDO->__construct('mysql:host=db1', 'u123456', 'Geheimes Passwort')
#1 {main}

Um dies zu verhindern, können solche vertraulichen Parameter nun durch das Attribut \SensitiveParameter geschützt werden, z .B.:

<?php
 
function test(
    $foo,
    #[\SensitiveParameter] $bar,
) {
    throw new \Exception('Error');
}
 
test('foo', 'bar');
 
/*
Fatal error: Uncaught Exception: Error in test.php:8
Stack trace:
#0 test.php(11): test('foo', Object(SensitiveParameterValue))
#1 {main}
  thrown in test.php on line 8
*/

Eine für die Zukunft wichtige Änderung ist die Abkündigung der Unterstützung von sogenannten dynamischen Properties. Bisher konnten in PHP beliebige Properties zu Objekten hinzugefügt werden, auch wenn diese gar nicht in der Klasse definiert waren, z.B.:

class User{
  public string $name;
}

$user = new User();
$user->email = 'dynamic@property.com';

Diese dynamischen Properties gelten nun als veraltet und werden in einem späteren PHP Major Release gestrichen.

Eine Übersicht über alle Änderungen und Neuerungen in PHP 8.2 sowie Hinweise zum Wechsel von älteren PHP-Versionen finden Sie hier.

PHP 8.2 aktivieren

Sie können PHP 8.2 wie gewohnt über das Kundenmenü oder auf den Webservern per .htaccess-Konfigurationsdatei mittels folgender Direktiven auswählen:

AddHandler application/x-httpd-php82 .php

PHP 7.4 End of Life

Mit der Veröffentlichung von PHP 8.2 stellen die PHP-Entwickler die Unterstützung der PHP-Version 7.4 vollständig ein, für die PHP Version 8.0 wird es ab dann nur noch Updates bei sicherheitskritischen Fehlern geben.

Sie können PHP 7.4 weiterhin auf unseren Webservern nutzen, wir werden für PHP 7.4 und für alle anderen veralteten PHP-Versionen regelmäßig zurückportierte Sicherheitsupdates von neueren PHP-Versionen bereitstellen. Diese Updates werden jedoch nur bei schwerwiegenden Sicherheitsproblemen bereitgestellt, kleinere Fehler werden nicht mehr behoben.

Falls Sie noch eine ältere PHP-Version als 8.0 für Ihre Web-Anwendungen nutzen, sollten Sie diese möglichst bald auf PHP 8.0 oder neuer umstellen.

Start der neuen Domainendung .kids am 29.11.2022

Am 29.11.2022 startet die neue Top-Level-Domain .kids in die freie Registrierungsphase. Die neue Domainendung richtet sich an alle Privatpersonen, Organisationen und Firmen, die Unterhaltungs- oder Bildungsangebote für Kinder und Jugendliche publizieren möchten.

Eine .kids-Domain kostet 39,- Euro pro Jahr. Einige besonders prägnante oder kurze Domains werden von der Registrierungsstelle als teurere Premiumdomains angeboten.

Es gibt keine besonderen Bestimmungen zur Auswahl des Domainnamens oder der Inhaberschaft der Domains. Die Registrierungsstelle behält sich jedoch das Recht vor, eine Domain zu sperren, wenn darauf Inhalte publiziert werden, die nicht kindgerecht sind.

Wir freuen uns auf Ihre Vormerkung zur Registrierung von .kids-Domains! Für Fragen steht Ihnen unsere Kundenbetreuung jederzeit zur Verfügung.

Abmahnungen bei Verwendung von Google Fonts

Seit einigen Wochen berichten Betreiber:innen von Webseiten, dass sie Abmahnungen erhalten, die sich auf die Einbindung von Schriftarten von Google auf Webseiten beziehen. Einen zusammenfassenden Bericht über die Grundlage dieser Abmahnungen finden Sie unter anderem in einem Artikel in der Zeitschrift c’t: Angeblicher DSGVO-Verstoß: Abmahnwelle wegen Google Fonts.

Viele Webseiten verwenden z.B. ein WordPress-Theme mit Schriftarten, die von Google kostenfrei angeboten werden. Das Problem besteht nicht in der Verwendung dieser Schriften selbst, sondern darin, dass der Abruf von Servern von Google erfolgt und damit personenbezogene Daten (insb. die IP-Adresse der Besucher:innen) an Google in die USA übertragen werden. Dies ist – ohne explizite Zustimmung der Datenübertragung – rechtswidrig.

Google bietet die Schriften auch zum Download an und erlaubt es, sie lokal (z.B. auf unserem Webserver) zu installieren und so auf der Webseite einzubinden. Die Verwendung der Google-Schriftarten wird damit wieder rechtskonform.

Verschiedene Webseiten bieten Tools an, mit denen man die Verwendung von Google-Fonts auf der eigenen Webseite überprüfen kann; beispielhaft sei hier der Dienst von e-recht24.de genannt: Achtung Abmahnung: Prüfen Sie jetzt die Einbindung von Google Fonts.

Für WordPress gibt es inzwischen zahlreiche Plugins, die dazu dienen, direkte Verknüpfungen zu den Google-Schriftarten zu entfernen und diese stattdessen lokal einzubinden: https://wordpress.org/plugins/search/google+fonts/. Auch für andere Content-Management-Systeme gibt es fertige Lösungen. Bitte zögern Sie nicht, diese einzusetzen, um eine Abmahnung zu vermeiden.

Umgang mit einer Abmahnung

Sollten Sie bereits eine Abmahnung erhalten haben, enthält diese in der Regel eine oder mehrere dieser Forderungen:

  • Abgabe einer strafbewehrten Unterlassungs- und Verpflichtungserklärung
  • Auskunftserteilung über Datenverarbeitung
  • Zahlung von Schadensersatz
  • Zahlung von Rechtsverfolgungskosten

Wir können und möchten hier keine Rechtsberatung leisten, zumal eine Vielzahl verschiedener Abmahnungen im Umlauf ist. In einigen Fällen konnten Webseiten-Betreiber:innen anhand von Logdateien auch nachweisen, dass die Abrufe automatisiert erfolgten. Es macht auch einen Unterschied, ob die Abmahnung von einer Privatperson, einer Körperschaft oder einem Anwalt kommt.

Wir empfehlen jedoch in jedem Fall, die externe Einbindung von Google Fonts umgehend zu beenden und ggf. zum Beispiel mit einem Musterschreiben oder einem generierten Antwortschreiben (kostenlos) auf die Abmahnung zu reagieren.