kein bilderupload mehr nach update auf pragmamx 0.1.4

Begonnen von MarcoA, 15 Juni 2005, 14:48:42

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

MarcoA

hallo leute!

mir ist gerade aufgefallen, dass nach einem update des pragmamx auf die version 0.1.4 plötzlich im adminbereich kein "bildupload" mehr funktioniert...

die fehlermeldung beim upload im debug modus:

Notice: Undefined offset: 0 in /html/admin/modules/images.php on line 101

vkpMX Debug-Mode, PHP Error-Reporting (E_ALL) enabled
POST: Array
(
    [MAX_FILE_SIZE] => 10000000
    [op] => ImagesAdd
)


da die datei "admin/modules/images.php" im updatepack nicht dabei war und im vollen paket des pragmamx 0.1.4 auch nur in der alten version dabei ist, kann es ja sicher nicht daran liegen...

in der pragmamx version 0.1.3 hat das noch alles wunderbar funktoniert und am server selbst sowie an den berechtigungen von dateien und verzeichnisen wurde nix verändert... (außer das einspielen des updates). auf dem gleichen server lief bis gestern abend noch ein test der alten version gleichzeitig - dort ging es noch!!!

ist dieser fehler auch schon jemand anderen aufgefallen???

leider hab ich im moment nicht wirklich viel zeit, um gleich selbst nach dem fehler zu suchen... ich denke einmal, dass das sicherlich nicht nur hier auf dem server so ist...
ach ja: ein upload mit coppermine funktioniert allerdings das (orgiginal) "mx team" modul mag auch nicht mehr uploaden :(
wenn es nur hier an meinem server so ist, dann werde ich da später da einmal ein wenig tiefer eintauchen! doch im moment klappt das leider wirklich nicht *schnüff*

bye
MarcoA




PS: @admin: der debug-modus müßte sicherlich noch von vkpMX Debug-Mode in PragmaMX Debug-Mode umbenannt werden... ;) *fg*
Kein Support über (ungefragter) PN, Mail oder ICQ, ausschließlich direkt im Forum!

Tschaet

Hiho..

Geht mir ähnlich..funktioniert auch nicht.
Allerdings bin ich mir nicht sicher ob es bei mir nicht auch vor dem Update schon so war.

Ich hatte auch dieses Problem mit der Nickpage,dort hat mir Rio allerdings geholfen,nun gehts. :)

Ich hab heute das Kleinanzeigenmodul installiert - auch dort hab ich Probleme mit dem Bildupload.

Bildupload wird bei mir zum Unwort des Jahres 20005 ernannt.

Tschaet

RiotheRat

Hmmm ...

bei Tschaet habe ich eben nachgesehen ... da konnte ich so auf die Schnelle nichts finden. Die Pfade und Rechte scheinen zu stimmen.

*am kopf kratz*

Der Bildupload will auch auf meiner Produktivseite nicht, seh ich gerade, ich hab das noch nie verwendet. Das Ding muss also schnellstmöglich auf den Prüfstand.

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

Tschaet

Irgendwie beruhigt mich die Antwort - liegts wohl nicht an mir  ;D

Ich hab auch schon zig graue Haare mehr.
Eigentlich müsste alles funktionieren.

Ich lass dir die Zugänge stehen - falls du mal was testen willst.

Gruss
Tschaet

Andi

Moin :)

habe den Fehler gerade gefunden...
Der Fehler selbst ist schon ewig drin, hatte sich nur nicht ausgewirkt, weil eine kleine Sicherheitsmassnahme noch nicht eingebaut war.

Lösung und mehr Info später...
Ist nix schlimmes, nur schwer zu erklären... ;)


Wobei das Bilduploadmodul wirklich ein uralter Kracher ist und generalüberholt gehört....
Andererseits lässt sich das sehr komfortabel durch di Coppermine ersetzen...
schön´s Grüssle, Andi

RiotheRat

Zitat von: Andi am 15 Juni 2005, 18:18:41Andererseits lässt sich das sehr komfortabel durch di Coppermine ersetzen...
Oder durch den Editor der mit der 0.2 kommt  ::) Ich bau den Uploader am WE auf jeden Fall mal um ... zumindest sollte er PHP5 - tauglich sein und mit $_FILES, etc. arbeiten ...

RtR
Unaufgeforderte PNs & Emails werden ignoriert

Erst wenn die letzte Zeile Code verhunzt, der letzte Server gehackt und der letzte Script-Kidde befriedigt ist, erst dann, werdet Ihr feststellen, dass Nuke nicht sicher ist...

MarcoA

Zitat von: Andi am 15 Juni 2005, 18:18:41
Andererseits lässt sich das sehr komfortabel durch di Coppermine ersetzen...
ja, das stimmt schon, jedoch erscheinen die dort hochgeladenen bilder auch in den blöcken bzw. in der voransicht im coppermine - sogar wenn sich die pics in einem für andere user gesperrten album befinden... das kann schon mal ganz schön das design zerreißen (besonders, wenn es zB. ein banner ist) :(

Zitat von: RiotheRat am 15 Juni 2005, 18:26:41
Oder durch den Editor der mit der 0.2 kommt  ::)
... geduldig wart und freu ;) - gibt es denn schon einen ungefähren termin???

Zitat von: RiotheRat am 15 Juni 2005, 18:26:41
Ich bau den Uploader am WE auf jeden Fall mal um ... zumindest sollte er PHP5 - tauglich sein und mit $_FILES, etc. arbeiten ...
dann wünsche ich dir mal nicht all zu viel arbeit damit, denn am we soll es doch (hoffentlich) endlich mal wieder ein bissel besseres wetter werden ;)
aber ein lösungsweg wäre schon interessant, da das ganze mit den uploads in anderen modulen (siehe mx_team) ja auch teilweise nicht mehr funktioniert...

besten dank schon einmal!  :thumbup:

bye
MarcoA
Kein Support über (ungefragter) PN, Mail oder ICQ, ausschließlich direkt im Forum!

Andi

Sodale, jetzt....

Als kleine Sicherheitsvorsorge werden seit dem Update am Beginn der mainfile.php sämtliche globalen Variablen, die über Request kommen radikal gelöscht. Die werden im pragmaMx nicht benötigt, egal ob register_globals an, oder ausgeschaltet ist. Die Variablen werden später wieder aus den Superglobals ($_GET etc.) generiert und dabei einem gründlichen Check unterworfen.
Das alles verhindert, dass bei irgendwelchen Änderungen an den Systemfiles, bestimmte Variablen per Übergabeparameter nicht aus Versehen überschrieben werden können.

Das alles ist etwas komplizierter bei Dateiuploads, wenn das Modul, nicht die Superglobals, sondern die normalen globalen Variablen verwendet. Durch den o.g. Fix wird hier unter bestimmten Umständen auch der übergebene Dateiname geändert, bzw. gelöscht. Dadurch funzt der Upload bei diesen Modulen nicht mehr...
Zudem war der Import der superglobalen $_FILES die ganze Zeit schon fehlerhaft, bzw. hat garnicht funktioniert. Dies ist aber nicht aufgefallen, wenn register_globals=on ist (was meist der Fall ist)
Sorry, aber das ist mir beim Testen auch nicht aufgefallen...

Oki, hier der Fix für alle vkpMx und pragmaMx Versionen:

in der mainfile.php findet ihr folgende Zeilen:
if (count($_FILES)) {
foreach ($_FILES as $upfile => $value) {
$$upfile = $value;
foreach ($_FILES[$upfile] as $key => $value) {
${$upfile.'_'.$key} = $value;
}
}
unset($upfile);
}
unset($key); unset($value);


Diese Zeilen einfach durch die folgenden Zeilen ersetzen:
if (count($_FILES)) {
foreach ($_FILES as $upfile => $upfile_data) {
if (is_array($upfile_data['name'])) {
foreach ($upfile_data['name'] as $key => $upfile_name) {
$upfile_name = mxSecureValue($upfile_name); // (das gleiche wie $upfile_data['name'][$key])
${$upfile}[$key]         = $upfile_data['tmp_name'][$key];
${$upfile.'_name'}[$key] = $upfile_name;
${$upfile.'_type'}[$key] = $upfile_data['type'][$key];
${$upfile.'_size'}[$key] = $upfile_data['size'][$key];
$_FILES[$upfile]['name'][$key] = $upfile_name;
}
}
else {
$upfile_name = mxSecureValue($upfile_data['name']);
$$upfile           = $upfile_data['tmp_name'];
${$upfile.'_name'} = $upfile_name;
${$upfile.'_type'} = $upfile_data['type'];
${$upfile.'_size'} = $upfile_data['size'];
$_FILES[$upfile]['name'] = $upfile_name;
}
}
unset($upfile); unset($upfile_name); unset($upfile_data);
}
unset($key);


Der ganze Fix hat nix mit irgendwelchen Sicherheitsproblemen zu tun. Die alten Zeilen sind/waren einfach nur falsch.....

Danach müssten wieder alle Module mit Uploadfunktion laufen, wobei Module, die durch den Fehler nicht gelaufen sind, überarbeitungsbedürftig sind. Es sollten auch im Modul immer die Superglobals verwendet werden...


Die geänderten mainfiles für die einzelnen Versionen werden wir bei Gelegenheit zum Download bereitstellen. Wer sich das pragmaMx direkt vom CVS holt, bekommt gleich die geänderte Version ;)
schön´s Grüssle, Andi

Tschaet

Hi :)


Ich sage nur ..Super!

Es klappt,der Bildupload im Admin wie auch das Kleinanzeigenmodel funktionieren nun perfekt!

Grüsse
Tschaet

MarcoA

hi andi!

:thumbup: TOP!!! - so schnell, wie du das gelöst hast ;)

jetzt scheint auch alles wieder zu gehen!!!

DANKE!

bye
MarcoA
Kein Support über (ungefragter) PN, Mail oder ICQ, ausschließlich direkt im Forum!

MarcoA

hallo leute!!!

mir ist gerade aufgefallen, dass dieses problem beim updaten des vpkMX auf die version 2.1b auch auftritt... :(

allerdings läßt sich das problem dort auch mit den von andi oben geschilderten änderungen in der mainfile.php beheben!!! also einfach nur ein paar zeilen code austauschen ;)

bye
MarcoA
Kein Support über (ungefragter) PN, Mail oder ICQ, ausschließlich direkt im Forum!