Project

General

Profile

Actions

Bug #90006

closed

61657: [BUGFIX] Do not fall back to routes on invalid “id” -- missing for typenum and eId

Added by Bostjan Kristl over 4 years ago. Updated about 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
-
Start date:
2019-12-23
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
9
PHP Version:
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

In this bug fix 61657: [BUGFIX] Do not fall back to routes on invalid “id”
for fall back is now error page when we use type (typeNum) pages and id as query parameter ! (for eId script i haven't checked)

---------------------------------------------------------------------------------------------------------
Before fix it was:


$requestId = (string)($request->getQueryParams()['id'] ?? '');
            if (!empty($requestId) && !empty($page = $this->resolvePageId($requestId))) {

---------------------------------------------------------------------------------------------------------
with buxfix is:

$requestId = (string)($request->getQueryParams()['id'] ?? '');
            if (!empty($requestId)) {
                $page = $this->resolvePageId($requestId);
                if ($page === null) {
                    return GeneralUtility::makeInstance(ErrorController::class)->pageNotFoundAction(
                        $request,
                        'The requested page does not exist',
                        ['code' => PageAccessFailureReasons::PAGE_NOT_FOUND]
                    );
                }

---------------------------------------------------------------------------------------------------------
BUT is supposed to be:


$requestId = (string)($request->getQueryParams()['id'] ?? '');

            if (!empty($requestId)) {

                $requestType = (int)($request->getQueryParams()['type'] ?? null);

                if ($requestType !== null && $this->resolvePageId($requestId) === null) {
                    return GeneralUtility::makeInstance(ErrorController::class)->pageNotFoundAction(
                        $request,
                        'The requested page does not exist',
                        ['code' => PageAccessFailureReasons::PAGE_NOT_FOUND]
                    );
                }

Because we need to check if is eID script or type (typeNum) page.

Regards,
Bostjan

Actions #1

Updated by Bostjan Kristl over 4 years ago

  • Description updated (diff)
Actions #2

Updated by Bastian Bringenberg over 4 years ago

  • Project changed from 9 to TYPO3 Core
  • Category deleted (Development)
  • Target version deleted (unknown)
  • TYPO3 Version set to 9

Moved to right Project; Guessed TYPO3 Version

Actions #3

Updated by Georg Ringer about 4 years ago

  • Description updated (diff)
Actions #4

Updated by Benni Mack about 4 years ago

  • Status changed from New to Needs Feedback

Hmm,

so you're saying that the error page should ONLY be triggered if "id" AND "type" is given? This is not how TYPO3 behaves. if "type" is not given, it falls back to "0".

What is your use-case?

Actions #5

Updated by Riccardo De Contardi over 3 years ago

  • Category set to Link Handling, Site Handling & Routing
Actions #6

Updated by Christian Kuhn about 2 years ago

  • Status changed from Needs Feedback to Closed

hey. i hope it's ok to close here for now: the active use case is unclear and the issue author didn't supply some more information for quite a while. let's restart with a fresh issue if this is still a problem.

Actions

Also available in: Atom PDF