Ein wichtiges Puzzleteil beim Datenschutz auf deinem Blog ist die Sache mit den IP-Adressen: normalerweise speichert WordPress nämlich bei jedem Kommentar die IP-Adresse mit. Spätestens seit der im Mai 2018 in Kraft getretenen DSGVO ist das brenzlig und etwas, das du ändern solltest.
Du kannst das Speichern der IP-Adresse entweder komplett abstellen (so handhabe ich das und zeige dir hier, wie das geht) oder solltest sie zumindest nach einigen Tagen anonymisieren oder komplett löschen.
Keine IP-Adresse mehr speichern – so geht’s:
Mit wenigen Zeilen Code kannst du das Speichern von IP-Adressen in deinem selbstgehosteten WordPress abstellen. Das geht so leicht, dass du dafür kein Plugin benötigst. 🙂
Füge den folgenden Codeschnipsel einfach in die functions.php deines Themes ein:
// keine IP-Adressen von Kommentarschreibern speichern
function remove_comment_ip()
{
return "127.0.0.1";
}
add_filter( 'pre_comment_user_ip', 'remove_comment_ip', 50);
- Was passiert hier? – Wir erstellen eine Funktion namens
remove_comment_ip()
und sagen ihr, dass sie immer den Wert „127.0.0.1“ ausspucken soll. - Warum genau diese Zahl? Wir brauchen einfach irgendeine beliebige IP-Adresse, die die eigentliche IP überschreibt. 127.0.0.1 ist die IP-Adresse vom localhost – du kannst da auch einen anderen Wert reinschreiben.
- Und wann wird diese Funktion aufgerufen? Unmittelbar vor dem Speichern eines neues Kommentars.
Die 50 am Ende ist wichtig, falls du das Plugin Antispam Bee verwendest. Das greift nämlich selber auf die IP-Adresse zu (genauer gesagt, auf den Filter pre_comment_user_ip
). Wir müssen dafür sorgen, dass unsere Funktion zuerst ausgeführt wird, deswegen geben wir ihr eine höhere Priorität. Antispam Bee läuft mit der Prio 10, wir nehmen daher einfach eine höhere Zahl.
Der Code stammt vom Thomas Leister und war lange auf GitHub verfügbar (Update von Januar 2024: mittlerweile gibt es ihn dort leider nicht mehr). Ich habe ihn nur etwas modifiziert und aus dem Plugin einen einfachen Eintrag für die functions.php gemacht.
Alte IP-Adressen löschen
Jetzt bist du schon mal auf der sicheren Seite, was künftige Kommentare angeht. Allerdings müssen wir uns noch um die bestehenden Kommentare kümmern. Deren IP-Adressen müssen ja auch weg!
Am einfachsten kannst die IP-Adressen in der Datenbank ändern.
Mit dieser Zeile SQL überschreibst du die IP-Adresse aller Kommentare ebenfalls mit 127.0.0.1:
UPDATE wp_comments SET comment_author_IP = '127.0.0.1';
Wo sehe ich die IP-Adressen überhaupt?
Öffentlich sichtbar waren die IP-Adressen nie. Nur im Verwaltungsbereich tauchen sie auf.
Wenn du dort auf „Kommentare“ klickst, findest du bei jedem Kommentar den Namen des Verfassers, seine Emailadresse sowie die IP-Adresse. Hier steht jetzt überall nur noch 127.0.0.1:
Falls du die IP-Adressen hingegen für einen begrenzten Zeitraum speichern möchtest, findest du auf Blogmojo eine Anleitung dazu (danke für den Link, INA!).
Ich hoffe, ich konnte dir mit diesem kleinen Tutorial weiterhelfen! 🙂
Wenn dem so ist, würde ich mich über einen Kommentar freuen!
Hey,
sehr cool, dass du dieses kleine Tutorial gemacht hast.
Leider kann man das Theme ja nur dann bearbeiten, wenn man einen der teureren Tarife nimmt, was ich etwas schade bis sehr doof von WordPress finde. Oder irre ich mich gerade und finde das einfach nur nicht? Es gibt einen Bereich namens „CSS“, aber da baut man ja vermutlich nicht den Codeschnipsel von oben ein.
Liebe Grüße
Lara
Hallo Lara,
solche Anpassungen kannst du leider nur in der selbstgehosteten Version von WordPress vornehmen, wo du vollen Zugriff auf deine Dateien hast.
Liebe Grüße
Anne
Super, vielen Dank, klappt prima. Ich bin ja immer ein Riesenfan von solchen Snippets, dir mir Plugins einsparen helfen 🙂
Gerne! 🙂
Ähm. Der Artikel ist eigentlich gelogen. Denn als Blogger hat man auch Pflichten. Und zwar Nachweispflichten. Und wenn man sich an gesetzliche Nachweispflichten halten will, dann reicht nur Name und E-Mail nicht aus. (Siehe Gesetze zu Nachweispflichten) Und gerade, wenn man etwas (mit Auswahlfeld/Häckchen) bestätigt, z.B. dass man mit der Speicherung von Daten einverstanden ist oder das man eine E-Mail-Benachrichtigung möchte oder sich zu einem Newsletter anmelden möchte, dann muss man als Blogger auch theoretisch nachweisen können, dass es bei dem, der sich irgendwo eingetragen hat, nicht um irgendwenn handelt. Also ist es gar nicht so klug die IP gar nicht erst zu speichern, sondern erst nach einer gewissen Zeit. Und da muss man dann selbst entscheiden, wie hoch man das berechtigte Interesse sieht. Aber zu sagen, dass man wegen der DSGVO die IP nicht speichern sollte, ist nicht nur falsch (gelogen), sondern könnte auch (rechtlich) gefährlich sein. Vielleicht musst Du nochmal recherchieren. Es gibt einige Artikel die genauer erklären, warum die IP gar nicht böse ist und warum man sie durchaus speichern sollte…. für eine gewisse, verechtigte Zeit.
Guten Morgen,
hast du dazu Quellen? Würde mich interessieren.
So eine gesetzliche Nachweispflicht greift, soweit ich weiß, bei völlig anderen Themen (bspw. Krankmeldungen). Die Anmeldung zu Email-Benachrichtigungen oder Newslettern hingegen muss ohnehin über ein Double Opt-In laufen, d.h. es muss eine Email an die eingetragene Adresse geschickt werden und die Anmeldung über einen darin enthaltenen Link bestätigt werden. Das ist von der IP-Adresse unabhängig.
Wohingegen es Dutzende von (seriösen) Quellen gibt, die eindeutig darauf hinweisen, dass man die IP-Adresse tunlichst nicht speichern solle. Bspw. hier: https://www.datenschutz.org/wordpress-datenschutz/
Anne, ich halte mich da immer nur an RA Schwenke. Er hat dazu einen Passus in seinem Datenschutzgenerator (https://datenschutz-generator.de/):
Zitat: „Hinweis zur Speicherung von IP-Adressen bei Kommentaren: Die IP-Adressen müssen nicht gespeichert werden. Aber falls das der Fall ist, dann sollte die Speicherdauer der IP-Adressen sollte nicht länger als 7 Tage betragen. Danach sollten die IP-Adressen gelöscht oder durch Kürzung des letzten Oktetts anonymisiert werden.“
Ein Snippet dafür gibt es bei Blogmojo drüben (https://www.blogmojo.de/wordpress-kommentare-ip-adressen/).
Ah, danke – hab ich mal oben in den Artikel eingebaut. 🙂
Hi Anne,
herzlichen Dank für die einfache Erläuterung! Ich habe die IPs bislang immer über ein Plugin „Remove IP“ (oder so ähnlich) deaktiviert. Das kann ich mir ja mit deinem Snippet schenken 🙂
Mal noch eine andere Frage: wie genau integriert ihr immer das pinnbare Bild am Ende eurer Artikel? Macht ihr das manuell oder per Plugin? (so wie in diesem Artikel)
Danke und LG
Jasmina
Hallo Jasmina,
ja, viele Funktionalitäten kann man auch ohne Plugin basteln. 🙂
Das Pin-Bild ist tatsächlich auch so eine selbstgebaute Kiste – es ist ein Shortcode, bei dem ich im Artikle immer nur die URL des Bilds sowie den Text angeben muss, der unter dem Pin erscheinen soll. Da kann ich die Tage mal eine Anleitung drüber schreiben!
Liebe Grüße
Anne
Hi Anne,
oh ja, sehr gerne! Ich suche da noch nach einer themeunabhängigen und einfachen Lösung! Das wäre prima, wenn du dazu eine kleine Anleitung veröffentlichen könntest.
LG
Jasmian
oh ja, für die PIN-IT-Button manuelle Anleitung würde ich mich auch interessieren – zumal man ja IMHO alle Pin-It-Plugins vergessen kann wegen ihrer Verbindungsherstellung zu Pinterest (Stichwort DSGVO). Kann man das mit einer manuellen Lösung ich sag mal „DSGVO konform“ hinbekommen, Anne?
Danke für diesen Beitrag. Habe eine andere Frage. Vielleicht kannst Du mir helfen. Ich habe einen Blog mit WP gestartet. Wo finde ich den die Kontaktdaten in WP von den Lesern welche Kommentare etc hinterlassen? Wahrscheinlich sehe ich den Wald vor Bäumen nicht. Vielen Dank im voraus.
Hallo Marina,
herzlichen Glückwunsch zum Start deines Blogs! 🙂
Schau mal im Adminbereich von WordPress – da links in der Sidebar gibt es einen Punkt namens „Kommentare“. Hier siehst du alle Kommentare, neben dem Text stehen der Name, die Emailadresse, ggf. die Webseiten-Adresse sowie die IP-Adresse der Kommentarschreiber.
Ich hoffe, das hilft dir weiter!
Liebe Grüße
Anne
Pingback: Antispam Bee: mein Plugin-Tipp für WordPress | Bloghexe
Liebe Anne,
ich baue mir gerade eine Blog mit WordPress auf und bin derzeit bei der Datenschutzerklärung. Dein Tipp mit dem Codeschnipsel ist genial. Vielen Dank.
Liebe Grüße
Dini
Hallo,
danke für den Code. Mir ist aufgefallen, dass bei der Funktion „Passwort vergessen“ ebenfalls die volle IP Adresse per Mail zusammen mit dem Link zum Zurücksetzen des Passwortes geschickt wird. Weißt du, wie man das verhindern kann?
Viele Grüße
Robert
Hallo Robert,
mh, wo genau hast du das denn gefunden? Ich habe das gerade mal getestet und konnte keine IP-Adresse entdecken.
Viele Grüße
Anne
Hallo Anne,
danke für deine Antwort 🙂 Wenn ich auf der Login-Seite /wp-admin/ bzw. wp-login.php die Funktion „Passwort vergessen?“ nutze, bekomme ich eine E-Mail mit diesem Text:
Jemand hat das Zurücksetzen des Passworts für folgendes Benutzerkonto angefordert:
Name der Website: XXXX
Benutzername: XXXX
Falls das nicht beabsichtigt war, ignoriere diese E-Mail einfach. Es wird dann nichts passieren.
Um dein Passwort zurückzusetzen, besuche folgende Adresse:
XXXX
Diese Anforderung zum Zurücksetzen des Passworts stammt von der IP-Adresse 95.0.0.0.
(Ip von mir anonymisiert).
Ich hatte das auf zwei Seiten getestet, dort war dies bei beiden der Fall. Ob das von einem Plugin kommt, weiß ich nicht, aber es werden zumindest unterschiedliche Themes verwendet.
Viele Grüße
Hallo Robert,
ah, ich hatte nur probiert, als Admin aus dem Dashboard heraus jemandem ein neues Passwort zusenden zu lassen. Da steht die IP-Adresse dann nämlich nicht drin.
Ich habe mal geschaut – der entsprechende Code kommt aus der Datei wp-includes/user.php ab Zeile 2777, ist also eine Standardfunktion von WordPress. Da wird die IP-Adresse desjenigen, der für sich ein neues Passwort anfordert, über $_SERVER[‚REMOTE_ADDR‘] ermittelt.
Den Inhalt dieser Mail kann man über die functions.php modifizieren – ich habe da jetzt mal die Standardtexte reingepackt und nur den Abschnitt mit der IP-Adresse weggelassen:
Die einzelnen Texte kannst du natürlich bearbeiten, wichtig ist eigentlich nur der Part mit network_site_url, der den Reset-Link darstellt.
Ich hoffe, das hilft dir weiter!
Liebe Grüße
Anne
Vielen Dank für die Antwort, das hat mir sehr geholfen 🙂