[BUG 4.8.15] class.security.php isInteger falsches ergebnis?

Gesperrt
chris8408
Beiträge: 87
Registriert: So 2. Apr 2006, 19:07
Wohnort: Korschenbroich
Kontaktdaten:

[BUG 4.8.15] class.security.php isInteger falsches ergebnis?

Beitrag von chris8408 » Mo 27. Aug 2012, 21:18

Hallo zusammen,

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
--------------------------------------------
Christian John aus Korschenbroich bei Düsseldorf (https://www.john-softwareentwicklung.de)
Selbständiger Web-Entwickler
“There are 10 types of people in the world… those that understand binary and those that don’t.”

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: [BUG 4.8.15] class.security.php isInteger falsches ergeb

Beitrag von Oldperl » Di 28. Aug 2012, 07:34

Bug bestätigt und verschoben!

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: [BUG 4.8.15] class.security.php isInteger falsches ergeb

Beitrag von dominik.ziegler » Di 28. Aug 2012, 10:01

Dieser Fehler stört uns auch sehr, als Workaround kann man hierzu bis zum offiziellen Release der 4.8.16 von 4fb die Methode wie folgt ersetzen:

Code: Alles auswählen

public static function isInteger($sVar) {
        return (preg_match('/^[0-9]+$/', $sVar));
}
Viele Grüße
Dominik

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: [BUG 4.8.15] class.security.php isInteger falsches ergeb

Beitrag von Oldperl » Di 28. Aug 2012, 17:24

Oder man nutzt die ConLite aus meiner Signatur, da ist der Fehler auch gefixt. :)

Gruß aus Franken

Ortwin
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: [BUG 4.8.15] class.security.php isInteger falsches ergeb

Beitrag von dominik.ziegler » Di 28. Aug 2012, 21:07

Du und Spider IT (bzw. generell alle Interessenten) seid übrigens nach wie vor gerne dazu eingeladen, an dieser Version mitzuwirken. Wir haben bislang leider immer noch keine Rückmeldung von euch erhalten.
Viele Grüße
Dominik

Spider IT
Beiträge: 1416
Registriert: Fr 3. Dez 2004, 10:15

Re: [BUG 4.8.15] class.security.php isInteger falsches ergeb

Beitrag von Spider IT » Mi 29. Aug 2012, 09:07

Das mit der fehlenden Rückmeldung könnte gut daran liegen, dass ihr bereits mehrfach eine Telefonkonferenz mit uns machen wolltet, dann aber nichts passiert ist.
Auf Nachfrage hat es dann geheißen "ihr könnt uns gerne anschreiben".
Wenn du wirklich Interesse an unserer Mitarbeit gehabt hättest, dann hättest du dich schon lange mal selbst gemeldet.

Gruß
René

PS: Und wieder fängt ein Vorwürfe-Schlagabtausch in der Öffentlichkeit an... :(

PPS: Auch bei uns sind Entwickler willkommen! :)

dominik.ziegler
Beiträge: 437
Registriert: Do 19. Jun 2008, 09:09

Re: [BUG 4.8.15] class.security.php isInteger falsches ergeb

Beitrag von dominik.ziegler » Mi 29. Aug 2012, 09:39

Das waren keine Vorwürfe sondern einfach die Feststellung, dass ihr uns nicht bzgl. eines möglichen Gesprächtermins kontaktiert habt. Das war auch nicht böse gemeint, sondern lediglich noch mal eine Erinnerung gewesen, dass ihr euch melden wolltet (http://forum.contenido.org/viewtopic.ph ... 64#p154464).

Da das aber auch nichts mit diesem Bug hier direkt zu tun hat würde ich euch vorschlagen, dass ihr uns per Mail oder PN im Forum bezüglich eines Termins kontaktiert, sofern er denn von eurer Seite noch gewünscht ist. Wir werden dann alles Weitere klären.
Viele Grüße
Dominik

Oldperl
Beiträge: 4250
Registriert: Do 30. Jun 2005, 22:56
Wohnort: Eltmann, Unterfranken, Bayern
Kontaktdaten:

Re: [BUG 4.8.15] class.security.php isInteger falsches ergeb

Beitrag von Oldperl » Mi 29. Aug 2012, 09:49

dominik.ziegler_4fb hat geschrieben:Wir haben bislang leider immer noch keine Rückmeldung von euch erhalten.
Andersherum wird ein Schuh draus. Da kann ich René leider nur zustimmen. Auch ich habe auf die mehrfach versprochene Rückmeldung von Dir als auch von Timo gewartet. Und ich warte noch heute auf ein, ebenfalls versprochenes, Gespräch mit der Firmenleitung.
Wenn ihr den persönlichen Eindruck erweckt, das ihr gar kein Interesse an einer weiteren Zusammenarbeit habt, hier im Forum aber immerwährend versucht der anderen Seite die Schuld daran zuzuschieben, so ist das weder die feine englische Art noch hilft es das Vertrauen der Community bzw. des Einzelnen zu erhalten.
Da dies aber offensichtlich ein generelles Problem in der Kommunikation mit der Community ist, ich erinnere nur an das Thema "Beirat", muss man sich dann auch nicht wundern wenn die Motivation bei Helfern aus der Community sinkt, diese sich zurückziehen und/oder sie ihr eigenes "Ding" machen.

Ihr habt einfach eure angedachten und intern geplanten Ideen und Vorgehensweisen für die Zukunft von Contenido durchgezogen und habt oft Einwände und Idee von Community-Entwicklern, vorsichtig ausgedrückt, unter den Tisch fallen lassen. Ihr habt eigentlich nie ein gesamtes Konzept für und um Contenido kommunziert, sondern die "Häppchen"-Methode bevorzugt. Ihr habt Versprechungen gemacht (Beirat, regelmäßiges Communido, Roadmap etc.) und diese dann nicht eingehalten oder einhalten können.

Und mein größtes Problem, zumindest für die 4.8er Version, ist, das ich vorhandene größere Projekte nicht mehr mit Contenido hätte weiterführen können, da ein Upgrade auf eine 4.9er, so wie sie z.Z. als Alpha angeboten wird, für mich bzw. für meine Kunden aus Kostengründen nicht machbar ist. Dafür hat sich von der 4.8 auf die 4.9 zuiel im Core getan, so daß Module und Plugins, die für die 4.8er entwickelt wurden, zu große Anpassungen und damit Zeitaufwand und Kosten verursachen würden.
Da ich auch kein wirkliches Interesse an einer Weiterführung des 4.8er-Zweiges von Contenido gesehen habe und meine Vorschläge eines schrittweisen Umbaus der 4.8er zur 4.9er keinen Anklang gefunden haben, sah ich mich gezwungen, auch im Sinne meiner Kunden, selbst etwas auf die Beine zu stellen. Daraus ist dann die ConLite entstanden, die manche Idee hier aus dem Forum aufgreift, aber vor Allem zuerst einmal viele der vorhandenen Bugs der 4.8er fixed.

Momentan sehe ich nicht wirklich eine Basis zu einer weiteren Zusammenarbeit an einer 4.8.x, bin aber immer offen für Vorschläge. In der Zwischenzeit werde ich aber weiter an der ConLite 2.0 arbeiten, und wer möchte ist gerne zum Helfen eingeladen.

Gruß aus Franken

Ortwin

PS: Und es ist auch nicht die feine englische Art den Thread einfach zu schließen wenn einem die Argumente ausgehen. Man hätte ihn auch abkoppeln und ins Community-Forum verschieben können! :roll:
ConLite 2.1, alternatives und stabiles Update von Contenido 4.8.x unter PHP 7.x - Download und Repo auf Gitport.de
phpBO Search Advanced - das Suchwort-Plugin für CONTENIDO 4.9
Mein Entwickler-Blog

Gesperrt