Project

General

Profile

Anomalie #4257

Impossible de lire certaines descriptions XML et validation XML bloquée par écran sécurité

Added by RealET 🔸 10 months ago. Updated about 2 months ago.

Status:
Nouveau
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
12/28/2018
Due date:
% Done:

0%

Resolution:
Navigateur:
Webkit (Chrome/Safari)

Description

Bonjour,

Dans la page ecrire/?exec=admin_plugin&actualise=1 j'ai un message d'erreur :
Erreurs survenues
Impossible de lire certaines descriptions XML
Erreur dans les plugins : auto/jeux/v3.4.1
Erreur dans les plugins : auto/mosaique/v0.5.1

Les 2 erreurs sont des liens vers la validation XML :
/ecrire/?exec=valider_xml&var_url=http://spip31.pyrat.net/plugins/auto/jeux/v3.4.1/paquet.xml

Mais ça donne une erreur 404 :
Error 403
You are not authorized to view this page (URL interdite pour var_url)

Si je commente le code concerné dans config/ecren_securite.php (L373...)
J'ai une autre erreur :

URL absolue interdite pour var_url

Ça passe si je fais :
ecrire/?exec=valider_xml&var_url=../plugins/auto/jeux/v3.4.1/paquet.xml

Document qui est d'ailleurs valide
SPIP considère ce document comme conforme à son DOCTYPE :

1

Testé avec SPIP 3.2.1 SVN [24172] sous PHP Version 7.2.13 / Windows 10

History

#1 Updated by RealET 🔸 10 months ago

Au temps pour moi, c'est dans le core et non dans SVP :
https://core.spip.net/projects/spip/repository/entry/branches/spip-3.2/ecrire/plugins/infos_paquet.php#L81

$h = $GLOBALS['meta']['adresse_site'] . '/'
        . substr("$dir_plugins$plug/", strlen(_DIR_RACINE)) . 'paquet.xml';

En remplaçant $GLOBALS['meta']['adresse_site'] . '/' par '../'

Ça passe. Mais je suppose qu'il y a une syntaxe plus générale pour calculer le chemin relatif à ecrire/

#2 Updated by RealET 🔸 10 months ago

Au temps pour moi, c'est dans le core et non dans SVP :
https://core.spip.net/projects/spip/repository/entry/branches/spip-3.2/ecrire/plugins/infos_paquet.php#L81

$h = $GLOBALS['meta']['adresse_site'] . '/'
        . substr("$dir_plugins$plug/", strlen(_DIR_RACINE)) . 'paquet.xml';

En remplaçant $GLOBALS['meta']['adresse_site'] . '/' par '../'

Ça passe. Mais je suppose qu'il y a une syntaxe plus générale pour calculer le chemin relatif à ecrire/

PS : à noter : ce message d'erreur est dans le cache, donc, pour tester, il faut ecrire/?exec=admin_plugin&actualise=1&var_mode=recalcul

#3 Updated by marcimat 🌈 9 months ago

Je crois qu’on ne cherchera aucune solution pour l’analyseur XML en l’état.

Il faudrait utiliser certainement http://php.net/manual/fr/domdocument.validate.php ou une lib externe spécifique ;
Un moyen d’avoir la liste des erreurs : http://php.net/manual/en/domdocument.validate.php#85792

#4 Updated by b b 8 months ago

  • Project changed from SVP to SPIP

Le bon projet...

Je crois qu’on ne cherchera aucune solution pour l’analyseur XML en l’état.

Wontfix du coup ? Ou on bascule sur la version 4.0 pour ne pas oublier de le faire plus tard ?

#5 Updated by RealET 🔸 8 months ago

On peut peut-être au moins corriger le lien pour qu'il pointe au bon endroit, non ? (même si le bon endroit ne marche pas).

#6 Updated by BoOz - about 2 months ago

RealET 🔸 a écrit :

On peut peut-être au moins corriger le lien pour qu'il pointe au bon endroit, non ? (même si le bon endroit ne marche pas).

Ou bien remplacer ce lien par un lien vers https://plugins.spip.net/validation/ qui marche assez bien.

#7 Updated by b b about 2 months ago

Bonne idée Booz +1

Also available in: Atom PDF