1. On the web frontend, when entering \ in the request parameters, the response is 200, which then causes a 500 response when rendering the template. See Figure 1.

2. Checked the corresponding logs in Alibaba Cloud Log Service (SLS), and found the error: Invalid json Syntax error when parsing the JSON format. See Figure 2.

detail:Invalid json: {
"sections": {
"3collection_s7mzoitr": {
"type": "main-collections",
"settings": {
"heading": "\GráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트"
},
"blocks": {
"collection-0": {
"type": "collection",
"settings": {
"id": 119
}
}
}
}
}
}
: Syntax error (View: /var/www/object/resources/views/theme/pages/index.blade.php) {"exception":"[object] (Illuminate\\View\\ViewException(code: 0): Invalid json: {
\"sections\": {
\"3collection_s7mzoitr\": {
\"type\": \"main-collections\",
\"settings\": {
\"heading\": \"\\GráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트\"
},
}
}
: Syntax error (View: /var/www/object/resources/views/theme/pages/index.blade.php) at /var/www/object/Modules/ThemeSetting/Util/JsonDecoder.php:18)
[stacktrace]
#0 /./vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(45): Illuminate\\View\\Engines\\CompilerEngine->handleViewException(Object(RuntimeException), 0)
#1 /./vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/var/www/object/...', Array)
#2 /./vendor/laravel/framework/src/Illuminate/View/View.php(143): Illuminate\\View\\Engines\\CompilerEngine->get('/var/www/object/...', Array)
#3 /./vendor/laravel/framework/src/Illuminate/View/View.php(126): Illuminate\\View\\View->getContents()
#4 /./vendor/laravel/framework/src/Illuminate/View/View.php(91): Illuminate\\View\\View->renderContents()
#5 /./vendor/laravel/framework/src/Illuminate/Http/Response.php(42): Illuminate\\View\\View->render()
#6 /./vendor/symfony/http-foundation/Response.php(205): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#7 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(749): Symfony\\Component\\HttpFoundation\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#8 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#9 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#10 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#11 /./vendor/silber/page-cache/src/Middleware/CacheResponse.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#12 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Silber\\PageCache\\Middleware\\CacheResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#13 /var/www/object/app/Http/Middleware/FacebookSwitch.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#14 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\FacebookSwitch->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#15 /var/www/object/app/Http/Middleware/CheckStoreStatus.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#16 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\CheckStoreStatus->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#17 /var/www/object/app/Http/Middleware/Statistics.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#18 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\Statistics->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#19 /var/www/object/app/Http/Middleware/PasswordProtected.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#20 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\PasswordProtected->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#21 /var/www/object/app/Http/Middleware/DetectLanguage.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#22 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\DetectLanguage->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#23 /var/www/object/app/Http/Middleware/ConfigTheme.php(101): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#24 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\ConfigTheme->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#25 /./vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#26 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#27 /var/www/object/app/Http/Middleware/SwitchDomain.php(34): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#28 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\SwitchDomain->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#29 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#30 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#31 /./vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#32 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#33 /./vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#34 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#35 /./vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#36 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#37 /./vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#38 /var/www/object/app/Http/Middleware/EncryptCookies.php(29): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#39 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#42 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#43 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#44 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#45 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#46 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#47 /./vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(60): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#48 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#49 /var/www/object/app/Http/Middleware/ChangeAppUrlMiddleware.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#50 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\ChangeAppUrlMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#51 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#52 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#53 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#54 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#55 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#56 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#57 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#58 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#59 /./vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#60 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#61 /./vendor/dingo/api/src/Http/Middleware/Request.php(111): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#62 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#63 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#64 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#65 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#66 /var/www/object/public/index.php(57): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#67 {main}
[previous exception] [object] (RuntimeException(code: 0): Invalid json: {
\"sections\": {
\"3collection_s7mzoitr\": {
\"type\": \"main-collections\",
\"settings\": {
\"heading\": \"\\GráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트\"
},
},
}
}
: Syntax error at /var/www/object/Modules/ThemeSetting/Util/JsonDecoder.php:18)
[stacktrace]
#0 /var/www/object/Modules/ThemeSetting/View/ManagesTemplate.php(43): Modules\\ThemeSetting\\Util\\JsonDecoder::jsonToArray('{\
\"sections\":...')
#1 /./vendor/laravel/framework/src/Illuminate/Support/Traits/Macroable.php(114): Illuminate\\View\\Factory->Modules\\ThemeSetting\\View\\{closure}()
#2 /var/www/object/storage/framework/views/8770ac3ae62f52f71ff8e3e1b63e49e7e9ce5ac3.php(222): Illuminate\\View\\Factory->__call('renderObjectSect...', Array)
#3 /./vendor/laravel/framework/src/Illuminate/View/Engines/PhpEngine.php(43): include('/var/www/object/...')
#4 /./vendor/laravel/framework/src/Illuminate/View/Engines/CompilerEngine.php(59): Illuminate\\View\\Engines\\PhpEngine->evaluatePath('/var/www/object/...', Array)
#5 /./vendor/laravel/framework/src/Illuminate/View/View.php(143): Illuminate\\View\\Engines\\CompilerEngine->get('/var/www/object/...', Array)
#6 /./vendor/laravel/framework/src/Illuminate/View/View.php(126): Illuminate\\View\\View->getContents()
#7 /./vendor/laravel/framework/src/Illuminate/View/View.php(91): Illuminate\\View\\View->renderContents()
#8 /./vendor/laravel/framework/src/Illuminate/Http/Response.php(42): Illuminate\\View\\View->render()
#9 /./vendor/symfony/http-foundation/Response.php(205): Illuminate\\Http\\Response->setContent(Object(Illuminate\\View\\View))
#10 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(749): Symfony\\Component\\HttpFoundation\\Response->__construct(Object(Illuminate\\View\\View), 200, Array)
#11 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(721): Illuminate\\Routing\\Router::toResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#12 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(681): Illuminate\\Routing\\Router->prepareResponse(Object(Illuminate\\Http\\Request), Object(Illuminate\\View\\View))
#13 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request))
#14 /./vendor/silber/page-cache/src/Middleware/CacheResponse.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#15 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Silber\\PageCache\\Middleware\\CacheResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#16 /var/www/object/app/Http/Middleware/FacebookSwitch.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#17 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\FacebookSwitch->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#18 /var/www/object/app/Http/Middleware/CheckStoreStatus.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#19 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\CheckStoreStatus->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#20 /var/www/object/app/Http/Middleware/Statistics.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#21 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\Statistics->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#22 /var/www/object/app/Http/Middleware/PasswordProtected.php(66): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#23 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\PasswordProtected->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#24 /var/www/object/app/Http/Middleware/DetectLanguage.php(25): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#25 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\DetectLanguage->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#26 /var/www/object/app/Http/Middleware/ConfigTheme.php(101): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#27 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\ConfigTheme->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#28 /./vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(41): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#29 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#30 /var/www/object/app/Http/Middleware/SwitchDomain.php(34): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#31 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\SwitchDomain->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#32 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/VerifyCsrfToken.php(78): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#33 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\VerifyCsrfToken->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#34 /./vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#35 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#36 /./vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(56): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#37 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#38 /./vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#39 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#40 /./vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#41 /var/www/object/app/Http/Middleware/EncryptCookies.php(29): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#42 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#43 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#44 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(683): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#45 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(658): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request))
#46 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(624): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route))
#47 /./vendor/laravel/framework/src/Illuminate/Routing/Router.php(613): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request))
#48 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(170): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request))
#49 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(130): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request))
#50 /./vendor/barryvdh/laravel-debugbar/src/Middleware/InjectDebugbar.php(60): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#51 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Barryvdh\\Debugbar\\Middleware\\InjectDebugbar->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#52 /var/www/object/app/Http/Middleware/ChangeAppUrlMiddleware.php(23): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#53 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): App\\Http\\Middleware\\ChangeAppUrlMiddleware->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#54 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#55 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#56 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#57 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#58 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#59 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#60 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(63): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#61 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Illuminate\\Foundation\\Http\\Middleware\\CheckForMaintenanceMode->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#62 /./vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#63 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#64 /./vendor/dingo/api/src/Http/Middleware/Request.php(111): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#65 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(171): Dingo\\Api\\Http\\Middleware\\Request->handle(Object(Illuminate\\Http\\Request), Object(Closure))
#66 /./vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(105): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request))
#67 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(145): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))
#68 /./vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(110): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request))
#69 /var/www/object/public/index.php(57): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request))
#70 {main}
"}
3. Initially suspected it was related to \. After removing the input \ from the request parameters, the template rendering responded with 200. See Figure 3.

4. Decided to print the JSON string to be parsed in the test environment. Found that although the input was \, the request parameter had already changed to \\, and when parsing, it was already \, which caused the parsing error. See Figure 4.

{
"sections": {
"3collection_s7mzoitr": {
"type": "main-collections",
"settings": {
"heading": "\GráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트Top CategoriesTamañoTableauTaillesGrößentabelleGráサイズチャートТаблица РазмеровMaattabel사이즈 차트TamañoGrößentabelleGráa toサТаблица 차트"
},
"blocks": {
"collection-0": {
"type": "collection",
"settings": {
"id": 119
}
}
}
}
}
}
5. The \\ should still be preserved before calling the JSON parsing. However, the current business logic is that after receiving the JSON, it is first stored in the cache (at this point it has already changed to \), and then the JSON is retrieved from the cache and placed into the template file, where the JSON parsing is then executed. Viewing the template file that reported the error. See Figure 5.

<?php if($section['type'] === 'collection'): ?>
"<?php echo e($id); ?>": {
"type": "main-collections",
"settings": {
"heading": "<?php echo e($section['title']); ?>"
},
"blocks": {
<?php $__currentLoopData = $section['ids']; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $key => $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
"collection-<?php echo e($key); ?>": {
"type": "collection",
"settings": {
"id": <?php echo e($item); ?>
}
}<?php if(!$loop->last): ?>,<?php endif; ?>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
}
},
<?php endif; ?>6. Edited the original template file to automatically escape based on the string function addslashes(). Rendering the template no longer reported an error. This matched expectations. See Figure 6.

@if($section['type'] === 'collection')
"{{ $id }}": {
"type": "main-collections",
"settings": {
"heading": "{{ addslashes($section['title']) }}"
},
"blocks": {
@foreach ($section['ids'] as $key => $item)
"collection-{{ $key }}": {
"type": "collection",
"settings": {
"id": {{ $item }}
}
}@if (!$loop->last),@endif
@endforeach
}
},
@endif
7. However, when entering the ‘ and “” characters, the response was 500. Parsing failed. See Figure 7.

8. Viewed the rendered PHP template code, e(addslashes($section[‘title’]))
<?php if($section['type'] === 'collection'): ?>
"<?php echo e($id); ?>": {
"type": "main-collections",
"settings": {
"heading": "<?php echo e(addslashes($section['title'])); ?>"
},
"blocks": {
<?php $__currentLoopData = $section['ids']; $__env->addLoop($__currentLoopData); foreach($__currentLoopData as $key => $item): $__env->incrementLoopIndices(); $loop = $__env->getLastLoop(); ?>
"collection-<?php echo e($key); ?>": {
"type": "collection",
"settings": {
"id": <?php echo e($item); ?>
}
}<?php if(!$loop->last): ?>,<?php endif; ?>
<?php endforeach; $__env->popLoop(); $loop = $__env->getLastLoop(); ?>
}
},
<?php endif; ?>9. The expected \’ was converted to: \"
10. Decided to modify the Blade template source code, using {!! !!} to prevent the issue in step 9.
{!! addslashes($section['title']) !!}
11. When entering the ‘ character, although the format had already changed to: \’, the response was 500. Parsing failed. See Figure 8.

12. Finally decided to only escape \, based on addcslashes — Quote string with slashes in a C style
{!! addcslashes($section['title'], '\\') !!}
13. Request parameter: ‘, ‘ parsed successfully. See Figure 9.

14. When entering the ” character, request parameter: \”, ” failed to parse. See Figure 10.

15. At this point, the JSON escaping should be consistent with the frontend, escaping \ and “
{!! addcslashes($section['title'], '\\"') !!}
16. When entering the ” character, request parameter: \”, \” parsed successfully. See Figure 11.

17. Tested the input of js code; the js script was not executed, because the JSON format is only used for parsing, and when rendering the template, it still passes through PHP’s htmlspecialchars function to prevent XSS attacks. See Figure 12.

alert("Hello! I am an alert box!");
18. The following characters are reserved characters that cannot be used directly in JSON and must be properly escaped to be used in strings. Any character except ” or \ or control characters. Reference URL: https://www.json.org/json-zh.html . If receiving data input from the frontend in rich text, all the following characters need to be escaped. See Figure 13.

Backspace to be replaced with \b
Form feed to be replaced with \f
Newline to be replaced with \n
Carriage return to be replaced with \r
Tab to be replaced with \t
quotation mark \"
Backslash to be replaced with \\
19. When entering a newline character, request parameter: \n, \n failed to parse. See Figure 14.

{
"heading": "\\\"'
IMAGE WITH TEXT1"
}
{!! addcslashes($section['horizontal']['title'], '\n\\"') !!}
20. Adjusted the charlist parameter of addcslashes, enclosing it with “”. Parsed successfully. See Figure 15.

{!! addcslashes($section['horizontal']['title'], '\n\\"') !!}
20. You usually do not need to worry about escaping characters yourself when generating JSON programmatically (of course, you will when manually editing JSON-based configuration files, for example). Instead, use whatever native mapping, array, string, number, boolean, and null types your language has to form the data structure you want to encode, and then use a JSON encoding function to encode it into JSON. Such a function is likely built into whatever language you are using, such as JavaScript’s JSON.stringify or PHP’s json_encode. Now it is confirmed that the JSON-based configuration file was being manually edited in the template file.
21. However, \b will replace the b in the value
abfnrt
中国人人要
uc"\/4
HTML;
echo "$title\n\n\n";
$json = '{"title": "' . addcslashes($title, "\b\f\n\r\t\\\"") . '"}';
// echo $json;
$obj = json_decode($json);
// var_dump($obj);
echo $obj->{'title'};
?>
abfnrt
中国人人要
uc"\/4
afnrt
中国人人要
uc"\/4
22. However, \u will cause parsing to fail
abfnrt
中国人人要
uc"\/4
HTML;
echo "$title\n\n\n";
$json = '{"title": "' . addcslashes($title, "\b\f\n\r\t\u\\\"") . '"}';
// echo $json;
$obj = json_decode($json);
// var_dump($obj);
echo $obj->{'title'};
?>
abfnrt
中国人人要
uc"\/4
Notice: Trying to get property 'title' of non-object in E:\wwwroot\addcslashes.php on line 19
23. The final demo example, the output matches expectations. See Figure 16.

abfnrt
中国人人要
uc"\/4
HTML;
echo "$title\n\n\n";
$json = '{"title": "' . addcslashes($title, "\f\n\r\t\\\"") . '"}';
// echo $json;
$obj = json_decode($json);
// var_dump($obj);
echo $obj->{'title'};
?>
abfnrt
中国人人要
uc"\/4
abfnrt
中国人人要
uc"\/4
