WebsiteBaker Support (2.12.x) > Modules

E_Notice in dlc.php der download-gallery 2.86

(1/5) > >>

bbs2:
Hallo,

vereinzelt tritt lt. php-error-log folgener Fehler auf

Thu, 21 Feb 2019 21:52:48 +0000 [E_NOTICE] /modules/download_gallery/dlc.php:[60]  from /modules/download_gallery/dlc.php:[60] bin\Exceptions\ErrorHandler::handler "Undefined variable: iFileId"

Hier der code:


--- Code: ---if (!$iProve || !$iFileId) {
        $sErrMsg = 'invalid arguments';
        goto REQUEST_ERR;
    }
--- End code ---

Ich habe alle download-Positionen getestet, ohne Fehler. Lediglich die php-error-log zeigt diese e_notice.

Hat jemand eine Idee.

Viele Grüße

Heinz

dbs:
Hallo Heinz, bitte benutze für Code den # - Button.
Es wäre für die Helfer immer gut zu wissen welche WB-, PHP- und Modul-Version du einsetzt.

jacobi22:
Diese Notice seh ich des Öfteren bei Kunden oder Usern. Im Normalfall schaut solch Link so aus

https://mydomain/modules/download_gallery/dlc.php?file=70&id=1547383785

Im Normalfall kommt der Code garnicht bis zu dieser Stelle, wenn Parameter fehlen würden. Er würde vorher aussteigen und zur Startseite leiten

bis Vers 2.86 an dieser Stelle

--- Code: ---    $iProve  = intval(isset($_GET['id']) ? $_GET['id'] : 0);

    if(!isset($_GET['file']) || !is_numeric($_GET['file'])) {
        header('Location: ../index.php');
    } else {
        $iFileId = $_GET['file'];
    }
    if (!$iProve || !$iFileId) {
        $sErrMsg = 'invalid arguments';
        goto REQUEST_ERR;
    }
--- End code ---

Mal davon abgesehen, das hier der Pfad zur Rückleitungs-Adresse mit Ziel = Startseite falsch ist, kann der Code hier nur zur zitierten Zeile kommen, wenn dieses header('Location:...); nicht erfolgt, z.b. weil es von mod_secure unterbunden wird. Auf "deutsch": es hat jemand versucht, die Datei dlc.php ohne den Parameter file aufzurufen. Das ist, nebenbei gesagt, ein durchaus üblicher Versuch, alle Downloads mit einem Schwung herunter zu laden. Ursache kann aber auch ein defekter Link irgendwo sein, z.b. in einer Suchmaschine, in einem Forum oer Chat, wo man ihn mal gepostet hat usw. In den Projekten, wo ich Zugang habe, kann ich zumindest bestätigen, das solch Aufruf nicht durch einen internen Link geschehen ist, es muß also wer von außen probiert haben. Die access-log sollte hier Aufschluß geben können.

Ab den 3er Versionen ist dieser Code geändert. Die aktuellste Version bekommst du hier

bbs2:
Danke,

ich installiere die 3er-Version und melde mich nach einigen Tagen der
Beobachtung der error-log.

Heinz

bbs2:
Danke für den Hinweis zur Versionsangabe.
Sorry, ich hatte dies versäumt.

Ich benutze WB 12.2 und PHP 7.2

Gruß

Heinz

Navigation

[0] Message Index

[#] Next page

Go to full version