Coppermine mit Lightbox -> Kritischer Fehler Coppermine mit Lightbox -> Kritischer Fehler
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Coppermine mit Lightbox -> Kritischer Fehler

Started by Aranel, February 05, 2009, 12:04:16 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Aranel

Hallo,

da ich nicht direkt im BUG-Forum posten kann, poste ich es hier, evtl. kann ja jemand das ins BUG-Forum übertragen.

Folgendes:

ich habe nach der Anleitung () das Skript implementiert, es funktioniert auch alles, bis auf die Funktion Zufalls-Bilder. Wenn man auf der Startseite ist und eines der Zufalls-Bilder anklickt, dann bekommt man immer einen Kritischen Fehler (Fehler beim Datenbak-Zugriff). Das Skript ruft die Funktion get_pic_data mit den Werten -1 bei den beiden Limits auf. In dieser Funktion wird auch schön oben folgendes zusammen gebaut:

$limit = ($limit1 != -1) ? ' LIMIT '. $limit1 : '';
$limit .= ($limit2 != -1) ? ' ,'. $limit2 : '';


weiter unten in der Funktion, wo der Case 'random' steht allerdings folgendes:

$query = "SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' $META_ALBUM_SET ORDER BY RAND() LIMIT $limit2";

das ist falsch. Weil daraus ergibt sich folgendes SQL-Statement:

SELECT * FROM cpg14x_pictures WHERE approved = 'YES'  ORDER BY RAND() LIMIT -1

Richtig müsste es ja heißen:

$query = "SELECT $select_columns FROM {$CONFIG['TABLE_PICTURES']} WHERE approved = 'YES' $META_ALBUM_SET ORDER BY RAND() $limit";

Falls ich auf dem falschen Dampfer bin, dann bitte ich hier um einen entsprechenden Hinweis. Ich habe dies bei mir in der Datei functions.inc.php schon so umgesetzt, nur wenn ich halt ein Update mache, dann verschwindet meine Änderung ja wieder, und es führt wieder zu einem Fehler. Falls ich richtig liege, und dies ein BUG ist, dann bitte ich um korrektur im Quelltext.

Mit freundlichem Gruß

Aranel

Aranel

Sorry, vergessen die Anleitung des Skiptes zu posten und eine Edit-Funktion habe ich nicht gefunden...

Anleitung: http://www.tihass.de/74-coppermine-fullsize-slideshow.html

Αndré

Quote from: http://www.tihass.de/74-coppermine-fullsize-slideshow.html5.) Öffne die theme.php mit einem Editor und füge folgenden Code vor ?> ein

Such in dem dort veröffentlichten Code nach
$pic_data = get_pic_data($aid, $pic_count, $album_name, -1, -1, false);
und ersetz es durch
$pic_data = get_pic_data($aid, $pic_count, $album_name, -1, 1, false);
dann funktioniert es auch mit den Zufallsbildern, ohne dass man etwas in den Core-Dateien ändern muss.


Über die Änderung in der Datei functions.inc.php kann ggf. später nachgedacht werden.

Aranel

Hallo,

das ist mir schon bewusst, das dies geht. Nur wenn man diese Funktion nutzen möchte, um einfach alle Bilder per Random aus der DB zu holen, dann wird dies halt immer fehlschlagen. Daher mein Hinweis.

Grüße

Aranel

Αndré

Die Zufallsbilderfunktion funktioniert in einem unmodifizierten CPG. Das Problem tritt erst durch den "falschen" Funktionsaufruf des Lightbox-Mods auf.

Trotzdem Danke für deinen Bug-Report. Ich weiss nicht, wieso die Auswahl bei Zufallsbildern mittels LIMIT $limit2 und nicht per $limit beschränkt wird. Vielleicht gibt es dafür einen guten Grund. Wenn nicht, könnte die Änderung im nächsten Release von Coppermine enthalten sein.

Joachim Müller

Quote from: Aranel on February 05, 2009, 12:04:16 PM
da ich nicht direkt im BUG-Forum posten kann, poste ich es hier, evtl. kann ja jemand das ins BUG-Forum übertragen.
Sicherlich nicht, da dort nur Englisch-sprachige Postings zugelassen sind. Die Entwickler sprechen mehrheitlich kein Deutsch.

Die Lightbox ist kein Bestandteil von Coppermine, daher sind Fehler, die in Verbindung mit diesem Mod auftreten auch keine Coppermine-Bugs. Daher gehört Dein Report definitiv nicht in das Bugs-Board.