Bug #91792

Automatically created redirects are not created using the DataHandler

Added by Oliver Eglseder 4 months ago. Updated 3 months ago.

Status:
New
Priority:
Should have
Assignee:
-
Category:
Link Handling, Site Handling & Routing
Target version:
Start date:
2020-07-13
Due date:
% Done:

0%

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

Description

Method this is about: \TYPO3\CMS\Redirects\Service\SlugService::createRedirect

Redirects created when a page slug was updated are directly written to the database via DBAL instead of the DataHandler ("DH").
This has following drawbacks:
  • There is no access check. Redirects are created even if the user is not allowed to create redirects.
  • You can not use any hook to intercept, alter or get notfied of the redirect creation
  • The sys_history entry is written by a different function than the DH would use. The manual implementation might be forgotten when changes are made to DH's implementation
  • You have no way of knowing the uid of the created redirect to do something with it after the creation.

Actions done by backend users should always be processed by the DH.


Related issues

Related to TYPO3 Core - Bug #91751: Redirects are not tied to site configuation breaking referential integrity and making it impossible to test on/transfer from staging systemsNew2020-07-06

Actions
Related to TYPO3 Core - Bug #91936: Documentation missing to disable automatic creation of redirects on slug changeNeeds Feedback2020-08-05

Actions
#1

Updated by Andreas Kiessling 4 months ago

There is no access check. Redirects are created even if the user is not allowed to create redirects.

And this gets even worse: after a redirect is automatically created, the info popup offers to revert the created redirects.
But since this now uses the RecordHistory, the redirects can not be removed due to missing access rights.

#2

Updated by Andreas Kiessling 4 months ago

  • Related to Bug #91751: Redirects are not tied to site configuation breaking referential integrity and making it impossible to test on/transfer from staging systems added
#3

Updated by Andreas Kiessling 4 months ago

  • Related to Bug #91936: Documentation missing to disable automatic creation of redirects on slug change added
#4

Updated by Richard Vollebregt 4 months ago

As far as I can tell, when a new redirect is added, the redirect cache isn't cleared either. This causes a 404 until the frontend cache is cleared.

#5

Updated by Ingo Fabbri 3 months ago

Richard Vollebregt wrote:

As far as I can tell, when a new redirect is added, the redirect cache isn't cleared either. This causes a 404 until the frontend cache is cleared.

This is true too

Also available in: Atom PDF