PROV qui ne s'affiche pas

Bonsoir,

Et depuis le gestionnaire de fichiers arrivez-vous à le télécharger/prévisualiser (désolé je ne connais pas cpanel) ?

Cordialement,
Gaëtan.

Oui absolument, le fichier est bien généré, et on peut le telecharger manuellement, le fichier est bien lisible.
C’est juste doli qui me retourne l’erreur 403, sachant que le chemin est correct en HTML (parentheses et backslash en caracteres html)

C’est pas doli mais l’hébergement, il doit y avoir unerrègle de filtrage à la noix de leur côté

Bonjour @ahmedbouzoubaae

tu as quoi dans les logs serveur ?
une 403 c’est un accès refusé… tu as modifié des droits ? (je doute que ça vienne d’une erreur de nomination : tu aurais une erreur 404)

Justement je n’ai rien modifié de mon coté, d’ailleurs dès que le brouillon est validé, tout reviens a la normale

Je suspecte vraiment une connerie de la part de l’hebergeur, j’ai ouvert un ticket et j’attend tjrs leur reponse

C’est ce que je suspecte fortement

Le test que j’ai effectué c’est de donner un masque pour les noms de proposition, une fois le brouillon validé, il prend le nom (DEVIS)-yymm-0000, et ca marche nickel…

Vraiment à tirer par les cheveux cette histoire

Pour revenir a cette histoire, voilà ce que j’ai fait comme test
pour rappel : je suis sur la version dolibarr 13.0.2

Je suis allé un peu fouiller dans le code (je ne suis pas très dev.)
sur le fichier /comm/propal/class/propal.class.php ligne 246

'default' is a default value for creation (can still be overwrote by the Setup of Default Values if field is editable in creation form). Note: If default is set to '(PROV)' and field is 'ref', the default value will be set to '(PROVid)' where id is rowid when a new record is created.

si j’ai bien compris et corrigez moi si je me trompe, si aucune valeur n’est définie pour la reference, la proposition qui n’est pas encore validée prend le nom PROV, avec un ID qui s’incrémente…

Donc ce que j’ai fait, je suis allé sur la ligne 1107 :

$this->ref = '(PROV'.$this->id.')';

J’ai tout simplement modifié par :

$this->ref = 'BROU'.$this->id;

et hop, une fois les parenthèses enlevé et le brouillon prend le nom BROU{id}, l’aprecu s’affiche, et le pdf peut être téléchargé. donc là je pense que ce sont vraiment les parenthèses qui créent problème …

après avoir effectué cette modification, lorsque je valide le brouillon, ca garde toujours le nom BROU{id}, faudrait que je creuse encore pour aller jusqu’à la ligne 1845

		if (!$error && (preg_match('/^[\(]?PROV/i', $this->ref) || empty($this->ref))) // empty should not happened, but when it occurs, the test save life

où il fallait que je remplace PROV par BROU, une fois testé, le document a bien été validé et a respecté le masque de la proposition validée.

donc là, le problème des apercu est contourné, et on peut dire que c’est résolu coté proposition commerciale, sauf que cela arrive aussi sur les factures ainsi que d’autres modules, donc je ne pense pas que ca soit une solution idéale.

quels sont vos suggestions ?

1 « J'aime »

Pour moi vous avez plusieurs choix :

  1. Contacter OVH et priez pour avoir une réponse sur ce blocage
  2. Passer sur une autre offre OVH type VPS ou serveur dédié
  3. Changer d’hébergeur
  4. Prendre un service style dolicloud

4 - dolicloud c’est interessant, sauf que 9€/mois/utilisateur ce n’est vraiment pas intéréssant … du tout :grin: :grin:
1 et 2 : j’ai ouvert un ticket avec mon hébergeur (qui n’est pas OVH) et j’espère juste qu’il comprendra de quoi je parle … j’ai eu a faire avec eux avant et il me semble qu’ils ne sont pas tops, ce qui nous ramène au 3 (le malheur c’est que je viens de renouveler il y a moins d’un mois, et juste après POF, le problème sort de nul part)

et comme je suis un « gladiateur » je ne vais pas lâcher l’affaire avec eux, je vais qd même essayer d’avoir une réponse claire de leur part (ce n’est pas la première fois qu’ils s’amusent a modifier leur serveurs, les packs, les options, sans aviser les clients)

Y aurai-il moyen de modifier/personnaliser le nom par défaut des brouillons (Propositions commerciales, factures, avoirs, commandes …etc) sur tous les modules au lieu de le faire manuellement sur le code ?

Bonjour @ahmedbouzoubaae

tu peux remplacer n’importe quel texte dans n’importe quelle langue dans Accueil>configuration>traduction
(le premier onglet sert à chercher, le 2eme à créer)

:thinking:

je n’arrive pas à trouver ce PROV qui vient par défaut sur les brouillons … encore un petit coup de main stp ?

Vraiment je n’arrive pas a trouver comment changer sans toucher au code…

Je pensais que tu voulais modifier le terme « brouillon »
La codif « PROVxxxx » n’est pas modifiable elle est en dur.

Par curiosité : pourquoi vouloir la changer vu qu’elle n’est censée apparaitre nul part ?

Parce que justement j’ai conclu que les parenthèses (PROV) sont la cause du problème 403 que j’ai, lorsque j’ai modifié coté code (en suivant les étapes dans le post précédent), ca a marché et le brouillon s’est affiché. parcontre il faudra le faire partout (factures, avoirs …etc)

Bonjour
Un retour du support ? Il doit voir l’erreur 403 dans les logs de toute façon.
@+

Un premier retour en effet, qui me demande de mettre du 777 comme droit sur les fichiers, chose que j’avais essayé avant de les contacter sans donner de resultats

Bonsoir,

Dans ce cas là si ce n’est pas déjà fait il vaut mieux remettre les droits corrects :

Gestion des droits

Cordialement,
Gaëtan.

c’est déjà fait, puisque ca n’avait pas résolu le problème … inutile de laisser le 777

Pour revenir aux nouvelles pour ceux qui sont intéréssés
L’hebergeur a reconnu que le problème vient du serveur avec la réponse ci-dessous :

It looks like the following mod_security rule was responsible for this and was treating the connection as a potential attack and returning the forbidden page instead of downloading the file:

[Wed Jun 16 11:48:56.865767 2021] [:error] [pid 460098:tid 22658560390912] [client xxx.xxx.xxx.xxx:52711] [client xxx.xxx.xxx.xxx] ModSecurity: Warning. Pattern match "(?:(?:\\(|\\[)[a-zA-Z0-9_.$\"'\\\\ {}/\\s]+(?:\\)|\\])[0-9_.$\"'\\\\ {}/ \\s]\\([a-zA-Z0-9_.$\"'\\\\ {}/ \\s].\\)|\\([\\s] string[\\s]\\)[\\s] (?:\"|'))" at ARGS:file. [file "/etc/apache2/conf.d/modsec_vendor_configs/OWASP3/rules/REQUEST-933-APPLICATION-ATTACK-PHP.conf"] [line "502"] [id "933210"] [msg "PHP Injection Attack: Variable Function Call Found"] [data "Matched Data: (PROV1)/(PROV1) found within ARGS:file: (PROV1)/(PROV1).pdf"] [severity "CRITICAL"] [ver "OWASP_CRS/3.3.0"] [tag "application-multi"] [tag "language-php"] [tag "platform-multi"] [tag "attack-injection-php"] [tag "paranoia-level/1"] [tag "OWASP_CRS"] [tag "capec/1000/152/242"] [hostname "mondomaine.com"] [uri "/document.php"] [unique_id "XXXXXXXXXXXXXXXXXXX"]

En gros, le serveur s’excitais parce qu’il detectais cela comme une attaque par injection, ce qui empêchais les fichiers d’être prévisualisés et téléchargé. le problème est désormais résolu de leur coté et ca remarche à nouveau.

Voilà, Merci a tous pour votre aide :call_me_hand:

3 « J'aime »