Mir ist diese Funktion nicht bekannt, Cookies generell zu verbieten, wäre dann auch für das Session-Cookie nicht hilfreich.
Mal unabhängig davon dass man diese Cookies braucht, geht man davon aus das voll zu unterbinden:
Cookies können ja aus 2 Quellen stammen:
PHP
Im Ablauf von PHP wird ein Cookie gesetzt. Das ist kein Speichervorgang wie man sich das z.B. bei einer Datenbank vorstellen kann.
Via PHP wird vom Plugin gesagt "ich will das Cookie testcookie erstellen". All diese Cookies werden dann in den "Header" (nicht HTML head, sondern die mitgesendete Kopfzeile einer Webseite) gespeichert der vor der ersten Zeile Ausgabe gesendet wird.
Hier könnte man in der Tat noch vor der Ausgabe sagen "so aus den 4 zu setzenden Cookies entferne mir 3 Stück". Dann kommt nur 1 Cookie beim Besucher wirklich an und auch nur dieser wird gesetzt.
Als Plugin gäbe es 2 Ansätze: Alle zu entfernenden Cookies angeben, oder eben alle zu speichernden Cookies angeben. Problem: Der eigentliche Shopbetreiber kann damit nichts anfangen, da es zu technisch ist. Der PLuginhersteller hingegen kann nicht alle Cookies kennen, auch nicht die "notwendigen" den ein Plugin selbst kann ja auch wirklich notwendige Cookies erstellen für seine Pluginfunktion. *
Aber auch das ist nicht ganz sicher, beispiel im Ablauf:
- Plugin A setzt ein Cookie
- Plugin B hat keine Cookies ist aber im
Shop aktiv
- Plugin Z löscht alle Cookies (bis auf notwendige).
- Header wird gesendet & Shopseite wird ausgegeben
Wenn nun in Plugin B eine Ausgabe erfolgt (durch einen Bug, oder auch bewusst), dann wäre es:
- Plugin A setzt ein Cookie
- Plugin B hat keine Cookies ist aber im Shop aktiv
- Plugin B hat für eine minimale Ausgabe gesorgt, damit wird der Header gesendet und das Cookie beim Besucher gespeichert!
- Plugzin Z löscht alle Cookies (bis auf notwendige)
- Shopseite wird ausgegeben
Hier kann man nichts machen, zudem hat der JTL Shop auch mehrere Weiterleitungen drin. Da kann das gleiche Problem auftreten:
- Plugin A setzt ein Cookie
- Shop leider auf den Warenkorb weiter, da ein Artikel in den Warenkorb gelegt wurde und eingestellt wurde dass er dann auf den Warenkorb weiterleitet
- Plugin B,... Z kommen nicht zum Einsatz, da vorher abgebrochen wurde
Diese Weiterleitung wird ebenfalls nicht "sofort" gemacht sondern an den Besucher geschickt "hey du willst Seite x Aufrufen, die sagt aber ich soll dich weiterleiten: hier ist die URL auf die du dich nun bitte begibst"
Und genau das passiert wieder im Header des Dokuments, in dem auch der Cookie aus Plugin A drin steht. => Hier kann ebenfalls kein Setzen verhindert werden.
JavaScript
Diese werden gesetzt während die Seite geladen wurde (oder im Ladevorgang selbst). Und diesen Vorgang kann man nicht unterbinden, wenn hier der Befehl kommt "ich will ein Cookie xy" dann wird es sofort gesetzt, ohne Eingriff oder ähnliches. Ggf. kann man die Standardfunktionen von JavaScript überschreiben welche Cookies setzen wollen, das könnte man noch prüfen - sicher bin ich mir aber nicht und man kommt wieder zu den gleichen Problem wie oben.
Kurzum: Ich bin insgesamt nicht der Meinung dass es Lösungen gibt das zu unterbinden. Ansätze ggf. ja, aber nicht ausreichend. Sicher ist nur die Lösung es wieder zu löschen wenn es gesetzt wurde.
* P.S.: Ich kann leider nicht genau definieren wo notwendige Cookies anfangen und wo diese aufhören. Wie ist es z.B. mit der Auflösung? Mobil ja/nein haben ja mehrere drin (als Cookie) - gehört der zu den "notwendigen Cookies"? Gleiches zählt z.B. für Cookies die technisch gesetzt werden (wir setzen z.b. ein http2push cookie ein).