refs #67974 Error message in log regarding invalid language ISO code if invalid parameters were passed via URL
Fehlermeldung im Log bezüglich nicht gültiger Sprach ISO-Code wenn ungültige Parameter über die URL übergeben wurden
Kann wie folgt reproduziert werden:
- Shop installieren, oder aufrufen
- meinshop.de/?cPath=20_73_171&cat=c171_Spider-Man---LE---Vault-Edition-Spider-Man.html&language=de%27%5B0%5D aufrufen
- im Log wird nachfolgende Fehlermeldung geschrieben
Erwartetes Ergebnis: Der GProtector filtert den Paramater "language=de%27%5B0%5D" auf "de" und der Shop ist normal aufrufbar es wird kein Fehler im Error-Log erzeugt.
Tatsächliches Ergebnis: Es wird ein Fehler im Error-Log erzeugt weil der GProtector den Parameter "language" nicht auf zweistellige ISO Codes gefiltert hat und eine Exception geworfen wird.
Error message in log regarding invalid language ISO code if invalid parameters were passed via URL
Can be reproduced as follows:
- install or access the store
- meinshop.de/?cPath=20_73_171&cat=c171_Spider-Man---LE---Vault-Edition-Spider-Man.html&language=en%27%5B0%5D access
- the following error message is written in the log
Expected result: The GProtector filters the parameter "language=de%27%5B0%5D" to "de" and the shop can be accessed normally.
Actual result: An error is generated in the error log because the GProtector did not filter the parameter "language" to two-digit ISO codes and an exception is thrown.
Uncaught InvalidArgumentException: Language code must be a two character ISO code. in /vendor/webmozart/assert/src/Assert.php:2220 Stack trace: #0 /vendor/webmozart/assert/src/Assert.php(1327): Webmozart\Assert\Assert::reportInvalidArgument('Language code m...') #1 /GambioCore/Language/Model/LanguageCode.php(49): Webmozart\Assert\Assert::regex('de'[0]', '/^[a-zA-Z]{2}$/', 'Language code m...') #2 /GambioCore/Language/Services/LanguageService.php(91): Gambio\Core\Language\Model\LanguageCode::create('de'[0]') #3 /GambioCore/Application/Kernel/Bootstrapper/LoadUserPreferencesFromSession.php(47): Gambio\Core\Language\Services\LanguageService->getLanguageByCode('de'[0]') #4 /GXMainComponents/Shared/LegacyDependencyContainer.php(198): Gambio\Core\Application\Kernel\Bootstrapper\LoadUserPreferencesFromSe