in Bezug auf die Version Contenido 4.8.15 ist mir schon seit längerem ein merkwürdiges Verhalten bezüglich des Action-Loggins aufgefallen. Durch ein nicht mehr funktionierendes Modul nach einem Update musste ich mir das ganze genauer anschauen und kann ein Verhalten einer Classe nicht nachvollziehen.
Problem:
Im Actionlog wird nur noch das "Login" eines Users protokolliert.
Entsprechend finden sich auch in der Tabelle "con_actionlog" mit der ID 330 (ich hoffe ich habe das korrekt im Kopf).
Das Phänomen ist mir bereits bei meheren Installation mit Con 4.8.15 aufgefallen.
Bei der Ursachenforschung bin ich in der Datei "class.backend.php" in der Funktion "log" ungefähr Zeile 322 fündig geworden:
if (!Contenido_Security::isInteger($client)) { return; }
if (!Contenido_Security::isInteger($lang)) { return; }
Hier steigt das Loggin aus. Werden die Zeilen auskommentiert funktioniert das Loggin problemlos.
Nach weiterer Spurensuche habe ich mir die Datei "contenido/classes/class.security.php" mit der Funktion isInteger, angeschaut die in einer der letzten Releases geändert wurde.
Ich habe die Funktion so verstanden, dass der Eingabeparameter daraufhin überprüft werden soll, ob es ein gültiger Integer ist.
Beim Test der Funktion ist mir folgendes Aufgefallen:
> $sTempVar: 1 vom Typ: integer
> $sTemp2Var: 1 vom Typ: string
> Rueckgabe False
Die Werte aus $client und $lang sind korrekte vom Typ Integer.
Eingabeparameter stimmt auch, wird zu einem String in $sTemp2Var konvertiert und anschließend verglichen.
Das kann nicht stimmen!
Kann das bitte jemand bestätigen?
Mich wunder zudem, dass dieses Funktion bei manchen Seiten noch 2-3 mal aufgerufen wird mit jeweils einem String als Eingabewert...
Danke und beste Grüße,
Christian
Code: Alles auswählen
Server Betriebssystem: Apache/2.2.16 (Debian)
PHP Datenbankerweiterung: mysql
Datenbankserver-Version: 5.1.58-1~dotdeb.1
Installierte PHP-Version: 5.3.15-1~dotdeb.0
safe_mode: Aktiviert
magic_quotes_gpc: Aktiviert
magic_quotes_runtime: Deaktiviert
gpc_order:
memory_limit: 128M
max_execution_time: 30
Deaktivierte Funktionen: nichts deaktiviert
Gettext Erweiterung: geladen
sql.safe_mode: Deaktiviert