J'ai effectué les modifications pour que les rapports de paiement ne
soient plus stockées dans la racine htdocs.
Comme pour les autres types de document on utilise le wrapper
document.php pour permettre le téléchargement de fichiers en dehors de
htdocs.
J'ai toutefois ajouter une protection supplémentaire au mécanisme: Les
droits sur le module en rapport avec le fichier téléchargé sont vérifiés
et le
nom du fichier dans l'url est relatif et non absolu. Le wrapper ne
permet donc de ne télécharger que des fichiers pour lesquels on a un
droit dolibarr,
ce qui évite que quelqu'un qui a un droit dolibarr puisse télécharger
n'importe quel fichier (dans le genre on pouvait rappatrier le fichier
/etc/passwd
en faisant
http://monsite.com/dolibarr/document.php?file=%2Fetc%2Fpasswd.
Pour l'instant j'ai laissé la faille car les factures et propales
fonctionnent toujours sur l'ancien modèle sans tests sur les droits (je
les adapterais
plus tard sur le même principe que le rapport de paiement). Quand ce
sera fait, on pourra enlever du fichier document.php les 2 lignes:
// Pour l'instant, autorise la passage $accessallowed=1;
Ce qui corrigera ce méchant défaut.