Page 1 sur 1

Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 14:53
par hellboys
Voici mon petit problème :

J'utilise un formulaire pour permettre aux utilisateur de télécharger des fichiers .pdf. Par contre, lorsque le nom d'un fichier contient un apostrophe simple ca créer automatiquement une erreur du type : internal server error. J'ai l'impression que apache ne permet pas les apostrophes simple dans les HTTP-POST afin de réduire les brèche de sécurité. Voila, je cherche à savoir si c'est possible d'attraper le problème avec PHP ou avec une config special de .htaccess afin d'afficher moi même un message ou même changer le nom du fichier. Car pour l'instant, aussitôt que je clique sur submit ca plante.

Merci d'avance pour votre aide.

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 15:10
par Sékiltoyai
Bonjour,

Je ne connais pas d'erreur ou de limitation de cette sorte. Dans tous les cas si apache signale une "internal server error", il y aura une entrée correspondante dans le fichier de log /var/log/apache2/error.log
La réponse est là bas.

Cordialement

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 15:34
par hellboys
Je n'ai pas accèss au configuration du serveur et voici l'erreur que j'ai :


Internal Server Error

The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 16:00
par Sékiltoyai
More information about this error may be available in the server error log.
Tout est dit.

Si l'hébergeur est sérieux, ils donnent accès aux fichiers de log d'une manière ou d'une autre.

Cordialement.

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 16:09
par @rthur
Bonjour,

Fais un script simple d'envoi / réception de fichier via POST dans une page à part pour tenter d'isoler le problème (sans htaccess dans le répertoire de ton script de test).
Il est possible que tu essayes de faire un traitement sur le nom de fichier qui serait échappé par des guillemets simple (et donc pourrait provoquer une erreur).

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 17:02
par hellboys
Merci

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 17:09
par Sékiltoyai
Ce n'est pas à nous de débugguer !
Tu peux faire le test sur un serveur HTTP local. Cela te permettra de valider que le problème vient ou non du serveur. Et dans le cas où le problème se produit, tu auras accès aux logs d'erreur.

Cordialement

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 17:11
par @rthur
Ton script fonctionne parfaitement chez moi.
Tu as bien retiré tous les htaccess dans ton répertoire de test et de ses répertoires parents ?

Si oui, alors contacte ton hébergeur.

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 18:09
par hellboys
Merci pour votre aide. C'est la première fois que j'avais un problème de ce type. Je viens de contacter l'hebergeur et je vais attendre de voir sa réponse. Ce n'est pas possible de modifier le nom du fichier uploader en HTTP-POST par l'entremise de mod_rewrite ?

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 18:38
par Sékiltoyai
Merci pour votre aide. C'est la première fois que j'avais un problème de ce type. Je viens de contacter l'hebergeur et je vais attendre de voir sa réponse. Ce n'est pas possible de modifier le nom du fichier uploader en HTTP-POST par l'entremise de mod_rewrite ?
Non, le mod_rewrite réécrit la requête HTTP (typiquement le nom du script PHP qui traitera le fichier téléchargé), il ne réécrit pas le contenu.
Éventuellement le mod_filter http://httpd.apache.org/docs/2.2/mod/mod_filter.html. Ceci dit il y a peu de chances que ton hébergeur l'autorise.

Cordialement

Re: Apostrophe dans le nom d'un fichier

Posté : 25 oct. 2013, 18:38
par @rthur
Voici une piste qui me semble la plus sensée :
http://www.itoctopus.com/internal-serve ... ia-manager

En résumé, c'est ModSecurity, un module Apache pour renforcer la sécurité du serveur web sur lequel tu es qui provoquerai ce problème.
Voici le code à mettre dans un .htaccess pour le désactiver sur une url précise, sous réserve que ton hébergeur te le permette (ce qui est peu probable si tu es sur un serveur mutualisé) :

Code : Tout sélectionner

<IfModule mod_security.c> SetEnvIfNoCase Request_URI ^/fupload/flash$ MODSEC_ENABLE=Off </IfModule>