Modify

Opened 4 years ago

Closed 4 years ago

#2112 closed Bug/Fehler (invalid)

includes/tracking.php, MODOilTrack wird nicht korrekt umgewandelt

Reported by: info@… Owned by: somebody
Priority: normal Milestone:
Component: Shop Version: 2.0.6.0
Keywords: Cc:
Blocked By: Blocking:

Description

Guten Morgen,

in der Tracking.php wird das MODOilTrack-Cookie in PHP eingelesen.
Inhalt des Cookies: {"1":true,"2":true,"4":false,"5":true}
Die verwendete Funktion

$_SESSION['tracking']['allow'] = json_decode(stripslashes($_COOKIE['MODOilTrack']), true);

liefert dieses Ergebnis:

array(4) {
  [0]=>
  string(1) "1"
  [1]=>
  string(1) "2"
  [2]=>
  string(1) "4"
  [3]=>
  string(1) "5"
}

Damit kann leider nicht erkannt werden, ob den einzelnen Cookie-Klassen zugestimmt wurde oder nicht.

Diese Änderung würde das korrekte Ergebnis liefern:

$_SESSION['tracking']['allow'] = (array)json_decode(stripslashes($_COOKIE['MODOilTrack']), false);

Ergebnis:

array(4) {
  [1]=>
  bool(true)
  [2]=>
  bool(true)
  [4]=>
  bool(false)
  [5]=>
  bool(true)
}

Nun weiß ich nicht, ob das ursprüngliche Verhalten auf die PHP-Version zurückzuführen ist. Auf dem Server läuft PHP Version 7.4.3

Viele Grüße

Attachments (0)

Change History (7)

comment:1 by Gerhard Waldemair, 4 years ago

habe das gerade getestet und kann das nicht nachvollziehen.

Version 0, edited 4 years ago by Gerhard Waldemair (next)

in reply to:  1 ; comment:2 by anonymous, 4 years ago

Replying to GTB:

habe das gerade getestet und kann das nicht nachvollziehen. PHP Version 8.0.11

Ich versuche es auch noch einmal in anderen PHP-Versionen.
Wichtig: die Einstellung lesbares Cookie setzen muss im Systemmodul aktiviert sein

in reply to:  2 ; comment:3 by anonymous, 4 years ago

Replying to anonymous:

Replying to GTB:

habe das gerade getestet und kann das nicht nachvollziehen. PHP Version 8.0.11

Ich versuche es auch noch einmal in anderen PHP-Versionen.
Wichtig: die Einstellung lesbares Cookie setzen muss im Systemmodul aktiviert sein

Merkwürdig, jetzt funktioniert es hier auch.

diese Abfrage in der gtag.php wäre dann aber immer "false" wenn json_decode das richtige Ergebnis liefert:

in_array(3, $_SESSION['tracking']['allowed'])

in reply to:  3 comment:4 by info@…, 4 years ago

Eine Erklärung für das zuerst gesehene Verhalten wäre, dass das Cookie zu unterschiedlichen Zeiten unterschiedliche Daten enthält.
Ich werde das nochmal genauer prüfen.

Viele Grüße
AGI

comment:5 by Gerhard Waldemair, 4 years ago

Das ist aber eine andere Variable !

$_SESSION['tracking']['allowed'] !== $_SESSION['tracking']['allow']
Last edited 4 years ago by Gerhard Waldemair (previous) (diff)

in reply to:  5 comment:6 by info@…, 4 years ago

Replying to GTB:

Das ist aber eine andere Variable !

$_SESSION['tracking']['allowed'] !== $_SESSION['tracking']['allow']

Ach +++schimpfwort hier+++. Danke und Sorry

comment:7 by Gerhard Waldemair, 4 years ago

Milestone: modified-shop-2.0.6.1
Resolution: invalid
Status: newclosed

Modify Ticket

Action
as closed The owner will remain somebody.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.