après la mise à niveau vers 9.5.17, je reçois dans les rapports les messages de sécurité suivants:
Réponse du serveur sur les fichiers statiques:
www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.html.wrong unexpected content-type text/html www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.1.svg.wrong unexpected content-type image/svg+xml www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.php.wrong unexpected content PHP content www.mydomain.de/typo3temp/assets/43cd7f07.tmp/2500f854.php.txt unexpected content PHP content
Qu'est-ce que ça veut dire?
J'ai inspecté le dossier / typo3temp / assets / - il n'y a pas de dossier 43cd7f07.tmp
Merci!
5 Réponses :
Les messages d'erreur que vous recevez font partie d'une fonction de sécurité qui a été intégrée dans les versions récentes de TYPO3 v9.5.17 et v10.4.2, voir https://docs.typo3.org/c/typo3/cms-core/master/en -us / Changelog / 9.5.x / Feature-91354-IntegrateServerResponseSecurityChecks.html
Fondamentalement, cela signifie que votre système de serveur actuel
test.php.txt
( .php
pas à la fin du nom de fichier) toujours en tant que contenu PHP - cela peut entraîner une faille de sécurité au cas où quelqu'un parviendrait à télécharger un fichier similaire (qui pourrait être considéré comme text/plain
fichier text/plain
, mais est en fait du code PHP exécutable)test.html.wrong
( .html
pas à la fin du nom de fichier) toujours sous forme de text/html
ce qui déclenche le navigateur pour exécuter des balises HTML et des balises <script>
potentiellement dangereusesAppel à l'action
Dans le cas où il s'agit d'un serveur en direct et en production, vous devez ajuster la configuration de votre serveur Web.
Le correctif est de limiter ces mappages de type mime de serveur Web uniquement aux fichiers ayant par exemple .html
à la toute fin, comme indiqué dans cet exemple pour le serveur Web HTTP Apache
$_SERVER['REDIRECT_HANDLER'] php-fcgid
Trouvez plus de détails et d'explications dans les directives de sécurité TYPO3 pour les administrateurs de serveur à https://docs.typo3.org/m/typo3/reference-coreapi/10.4/en-us/Security/GuidelinesAdministrators/Index.html#file-extension- manipulation
https://gist.github.com/ohader/11d737de95895f8ca16495a8b7001c45 contient des exemples comment ajuster un fichier .htaccess
au cas où les paramètres ne peuvent pas être modifiés sur un environnement d'hébergement (partagé).
<IfModule mod_mime.c> RemoveType .html .htm <FilesMatch ".+\.html?$"> AddType text/html .html AddType text/html .htm </FilesMatch> RemoveType .svg .svgz <FilesMatch ".+\.svgz?$"> AddType image/svg+xml .svg AddType image/svg+xml .svgz </FilesMatch> RemoveHandler .php <FilesMatch ".+\.php$"> # IMPORTANT: `php-fcgid` is using in THIS example # Most probably is different for each individual configuration SetHandler php-fcgid # SetHandler php-script # SetHandler application/x-httpd-php </FilesMatch> </IfModule>
L'identifiant actuel du gestionnaire php-fcgid
été identifié pour l'exemple ci-dessus en utilisant un phpinfo();
et recherche de $_SERVER[REDIRECT_HANDLER]
:
<FilesMatch ".+\.html?$"> AddType text/html .html .htm </FilesMatch>
whow, quelle réponse !! Merci beaucoup!
Les 2 premiers blocs (.html, .svg) n'ont-ils pas pu être ajoutés à ./src/public/typo3/sysext/install/Resources/Private/FolderSt ructureTemplateFiles / root-htaccess? De cette façon, les sites nouvellement créés seraient OK.
Probablement ... mais veuillez utiliser forge.typo3.org/projects/typo3cms-core/issues pour signaler les bogues et les demandes de changement.
Avec cette configuration, une dernière erreur persiste pour les fichiers *.php.wrong
qui sont encore analysés par PHP. J'ai ajouté <FilesMatch ".+\.php\.+"> RemoveHandler .php ForceType text/plain</FilesMatch>
pour le corriger.
RegExp ne correspond pas, il devrait l'être .+\.php\..+
( .
Avant dernier +
)
salut je l'ai ajouté aussi
/typo3temp/assets/39b0efab.tmp/fd35fce3.php.wrong unexpected content PHP content
mais il en reste encore un
RemoveType .html .htm <FilesMatch ".+\.html?$"> AddType text/html .html AddType text/html .htm </FilesMatch> RemoveType .svg .svgz <FilesMatch ".+\.svgz?$"> AddType image/svg+xml .svg AddType image/svg+xml .svgz </FilesMatch> RemoveHandler .php <FilesMatch ".+\.php$"> SetHandler php72-cgi </FilesMatch>
Le gestionnaire venait de phpinfo ()
Voici une spécialité de Domainfactory.
Attention à la directive ForceType
(définissez votre version PHP spécifique ici). S'il n'est pas utilisé, son serveur Web utilisera toujours le reniflage de type mime.
À utiliser en bas du dernier modèle .htaccess ( 10.4 , 9.5 ) qui inclut déjà la gestion stricte pour .svg[z]
/ .htm[l]
# DomainFactory-special: # 1) remove mimetype-sniffing anything for PHP # 2) force PHP 7.3 mimetype on .php files <IfModule mod_mime.c> RemoveType .php <FilesMatch ".+\.php$"> ForceType application/x-httpd-php73 </FilesMatch> </IfModule>
Pour l'hébergement mutualisé, il peut être assez difficile de trouver le bon gestionnaire pour php.
une spécialité pour 1 & 1 Ionos, pourrait même être spéciale pour ce package d'hébergement partagé particulier:
hébergement partagé avec php 7.3 (confirmé dans phpinfo), mais $ _SERVER ['REDIRECT_HANDLER'] donne "x-mapp-php5" (je ne sais pas pourquoi, peut-être que l'hébergement fonctionne depuis de nombreuses années et a été mis à niveau vers php 7 et ils en quelque sorte l'alias pour une raison quelconque)
La solution de travail pour moi était:
<IfModule mod_mime.c> .... RemoveHandler .php RemoveType .php <FilesMatch ".+\.php$"> # only this handler seems to work AddType application/x-httpd-php .php AddHandler application/x-httpd-php .php </FilesMatch> </IfModule>
J'ai dû supprimer à la fois le gestionnaire / type et les ajouter à nouveau dans le fichier. Il m'a fallu un certain temps pour que cela fonctionne, j'espère que cela vous aidera.
Pour l'hôte-europe $ _SERVER ['REDIRECT_HANDLER'] était vide, php7.4:
<IfModule mod_mime.c> RemoveType .html .htm <FilesMatch ".+\.html?$"> AddType text/html .html AddType text/html .htm </FilesMatch> RemoveType .svg .svgz <FilesMatch ".+\.svgz?$"> AddType image/svg+xml .svg AddType image/svg+xml .svgz </FilesMatch> RemoveHandler .php RemoveType .php <FilesMatch ".+\.php$"> AddType x-mapp-php5 .php AddHandler x-mapp-php5 .php </FilesMatch> </IfModule>
La solution suivante m'a été recommandée par l'équipe de support de ALL-INKL.COM. J'ai dû les contacter, car les instructions de suppression (RemoveHandler .php) ne fonctionnaient pas.
<FilesMatch "\.(php[0-9,x]*|phtml)\."> SetHandler text/plain </FilesMatch>
Merci à l'équipe de support ALL-INKL.COM
Peut-être quelque chose avec la clé de cryptage ou quelque chose (juste une supposition), pas sûr
Ces fichiers sont créés temporairement et sont supprimés une fois les vérifications dans le module de rapports (et l'outil d'installation) terminées - c'est pourquoi vous ne les trouvez plus dans le système de fichiers ...