Sur les mutualisés OVH, Apache est configuré pour éliminer un certain nombre d’attaques notamment par injection PHP. Il vérifie notamment la présence d’une chaîne « scandir » dans les URL. Si ce mot clé est présent, la requête est bloquée avec envoi du message suivant:
« Forbidden You don’t have permission to access /projet/admin/project.php on this server. » par exemple.
Lors de la configuration des modèles de documents, certains modules (project, propal, …) utilisent le string « scandir » comme paramètre. Cela se produit lorsqu’on cherche à activer un nouveau modèle de propale par exemple. La requête est alors bloquée par Apache configuré pour OVH mutualisé.
Exemple: /admin/supplier_proposal.php?action=set&value=aurore&scandir=&label=aurore
D’autre modules (facture notamment) utilisent « scan_dir » comme paramètre plutôt que « scandir » et tout va bien …
Exemple: http://mondomainedolibarr/admin/facture.php?action=set&value=oursin&scan_dir=&label=oursin
Cela se produit sur Dolibarr 4.0.4 ; une vérification rapide du code de 5.0.x confirme que cela se reproduira pour la version 5
Des solutions pour bypasser le problème sont reprises ci-dessous (étant donné qu’on ne peut rien faire au niveau d’OVH , la protection étant utile)
-
Réécrire la requête bloquée
activer un nouveau modèle de document pour le module supplier_proposal (par exemple) .
La requête http://mondomainedolibarr/admin/supplier_proposal.php?action=set&value=aurore&scandir=&label=aurore-
est bloquée .
On la recopie en supprimant le paramètre « scandir »; l’activation du module est réalisée
Evidemment si le paramètre est vraiment utilisé (activtion des modèles ODT) il faudra aller faire le travail en base de donnée (table llx_document_model) -
Patcher le code et remplacer le paramètre scandir par scan_dir, y compris dans l’analyse de la requête … à reproduire à chaque mise à jour
En lisant les forums sur le sujet je pense que c’est arrivé à plusieurs personnes, sans que la raison soit identifiée.
Ne serait-il pas utile de reprendre ce problème en tant que « bug » ? Ou en tant qu’« amélioration » ? Ou demander un changement à OVH ?
(ce n’est pas vraiment un bug et ce n’est gênant que sur un mutualisé OVH). Puis-je aider ?