Pour pouvoir fonctionner, ce module requiert le
chargement de
Ainsi, pour pouvoir traiter les requêtes FTP mandatées,
N'activez pas la fonctionnalité de mandataire avant d'avoir sécurisé votre serveur. Les serveurs mandataires ouverts sont dangereux non seulement pour votre réseau, mais aussi pour l'Internet au sens large.
Ce type particulier de fichier n'est probablement pas défini en
temps que application/octet-stream
dans le fichier
de configuration mime.types de votre mandataire. La ligne suivante
peut y remédier :
application/octet-stream bin dms lha lzh exe class tgz taz
Vous pouvez aussi définir par défaut tous les types de fichiers en tant que fichiers binaires :
Dans les rares siruations où vous devez télécharger un fichier
spécifique en utilisant la méthode de transfert FTP
ASCII
(alors que le mode transfert par défaut est
binary
), vous pouvez modifier le mode de transfert de
;type=a
pour forcer un transfert en mode ASCII (les
listings de répertoires FTP sont cependant quant à eux transmis en
mode ASCII).
Actuellement, seule la méthode GET est supportée pour FTP dans mod_proxy. Vous pouvez par contre utiliser le chargement HTTP (POST or PUT) via un mandataire Apache.
Un URI FTP est considéré comme relatif au répertoire home de
l'utilisateur connecté. Hélas, vous ne pouvez pas utiliser /../
pour atteindre des répertoires de niveau supérieur, car les points
sont interprétés par le navigateur et ne sont donc pas vraiment
envoyés au serveur FTP. Pour traiter ce problème, une méthode
nommée Squid %2f hack a été implémentée dans le
mandataire FTP Apache ; cette solution est aussi utilisée par
d'autres serveurs mandataires courants comme le Cache mandataire Squid. En
préfixant par /%2f
le chemin de votre requête, vous
pouvez faire en sorte que le mandataire modifie le répertoire FTP
racine en /
(au lieu du répertoire home). Par
exemple, pour extraire le fichier /etc/motd
, vous
pourriez utiliser l'URL :
Apache utilise différentes stratégies pour effectuer une connexion à un serveur FTP à l'aide d'un nom d'utilisateur et d'un mot de passe. En l'absence de nom d'utilisateur et de mot de passe dans l'URL, Apache tente une connexion anonyme auprès du serveur FTP comme suit :
Ceci fonctionne avec tous les serveurs FTP courants configurés pour accepter les connexions anonymes.
Pour une connexion personnalisée avec un nom d'utilisateur spécifique, vous pouvez intégrer ce dernier dans l'URL comme suit :
Si le serveur FTP demande un mot de passe pour ce nom
d'utilisateur (ce qu'il est censé faire), Apache va renvoyer au
client une réponse 401
(Autorisation requise), ce qui
fera afficher au navigateur une boîte de dialogue utilisateur/mot
de passe. Une fois le mot de passe saisi, la connexion est tentée
à nouveau, et si elle réussit, la ressource demandée est
présentée. L'avantage de cette procédure réside dans le fait que
votre navigateur n'affiche pas le mot de passe en clair, ce qu'il
aurait fait si vous aviez utilisé l'URL :
Le mot de passe transmis de cette manière n'est pas chiffré lorsqu'il est envoyé. Il transite entre votre navigateur et le serveur mandataire Apache sous la forme d'une chaîne de texte en clair codée en base64, et entre le mandataire Apache et le serveur FTP en texte pur. Vous devez par conséquent réfléchir à deux fois avant d'accéder à votre serveur FTP via HTTP (et d'une manière générale avant d'accéder à vos fichiers personnels via FTP !) sur des canaux non sécurisés, car des oreilles indiscrètes pourraient intercepter votre mot de passe au cours de son transfert.
Apache examine l'URL de la requête afin de permettre la navigation dans les répertoires d'un serveur FTP ainsi que le téléchargement de fichiers. Si elle ressemble à un répertoire, ou contient des caractères génériques ("*?[{~"), alors Apache considère que c'est un listing qui est demandé, et non un téléchargement.
Vous pouvez désactiver le traitement spécial des noms contenant
des caractères génériques. Voir à cet effet la directive
La directive
La directive
Définissez cette directive à "off" pour permettre le téléchargement de fichiers dont les noms contiennent des caractères génériques depuis des serveurs FTP qui ne connaissent pas l'échappement des caractères génériques.
La directive