Illegal offset type in Suche

  • Affected Version
    WoltLab Suite 5.4
    Affected App
    WoltLab Suite Core

    Die Suche kann zu einer Fehlermeldung führen, wenn man /index.php?search/&types%5B%5D[]=com.woltlab.wbb.post angibt:

    Requested URL
    GET /core/search/?types%5B%5D[]=com.woltlab.wbb.post
    Referrer
    Error Message
    Illegal offset type
    Type
    wcf\system\exception\ErrorException
    File (Line)
    /customers/kittmedia/home/shop.kittmedia.com/core/lib/system/WCF.class.php (344)
    Stacktrace
    1. /customers/kittmedia/home/shop.kittmedia.com/core/lib/system/api/sentry/sentry/sentry/src/ErrorHandler.php (303): wcf\system\WCF::handleError(…)
    2. /customers/kittmedia/home/shop.kittmedia.com/core/lib/system/search/SearchEngine.class.php (72): Sentry\ErrorHandler->handleError(…)
    3. /customers/kittmedia/home/shop.kittmedia.com/core/lib/form/SearchForm.class.php (175): wcf\system\search\SearchEngine->getObjectType(…)
    4. /customers/kittmedia/home/shop.kittmedia.com/core/lib/page/AbstractPage.class.php (121): wcf\form\SearchForm->readParameters(…)
    5. /customers/kittmedia/home/shop.kittmedia.com/core/lib/system/request/Request.class.php (89): wcf\page\AbstractPage->__run(…)
    6. /customers/kittmedia/home/shop.kittmedia.com/core/lib/system/request/RequestHandler.class.php (119): wcf\system\request\Request->execute(…)
    7. /customers/kittmedia/home/shop.kittmedia.com/core/index.php (11): wcf\system\request\RequestHandler->handle(…)
  • Ist nicht nur die Suche, sondern so ziemlich alles, wo ein String als Parameter erwartet wird. Ist aber teilweise in 5.5 behoben.


    Use is_string to validate strings by BurntimeX · Pull Request #4704 · WoltLab/WCF
    Ensures that readString() always returns a string. Previously it was possible to pass in an array as a parameter, which resulted in error messages.
    github.com

  • Ich versteh das Label nicht. Okay, es wird eine bessere Überprüfung eingebaut, die aber wiederum ebenfalls zu einer Fehlermeldung führt, die protokolliert wird. Das ist dann nichts Halbes und nichts Ganzes.

    • Official Post

    Es gibt „drölfzig“ Stellen, auf die dies zutrifft und die Ursache ist eine grundsätzliche Design-Schwäche bei der Verarbeitung von Parametern. Es ist fairerweise im Kern aber auch „nur“ ein „nerviges“ Problem. Es macht einfach keinen Sinn, an einer spezifischen Stelle anzusetzen, da dies das Problem effektiv nur verlagern würde.


    Eine echte Lösung kann nur eine wohldefinierte Verarbeitung von Parametern sein, die konsequent zum Einsatz kommt und eine einheitliche Verarbeitung ermöglicht. Dies erfordert eine ordentliche Planung und Durchführung, um dies sorgfältig umzusetzen.

    Alexander Ebert
    Senior Developer WoltLab® GmbH

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!