mod_allowmethods Limitation simple des méthodes HTTP acceptées par e serveur Experimental mod_allowmethods.c allowmethods_module Disponible à partir de la version 2.3 du serveur HTTP Apache.

Ce module fournit une manière simple de restreindre les méthodes HTTP acceptées par le serveur. La configuration la plus courante est du style :

<Location "/"> AllowMethods GET POST OPTIONS </Location> <Location "/nopost"> AllowMethods -POST </Location>
AllowMethods Restreint l'accès aux méthodes HTTP spécifiées AllowMethods reset | [+|-]HTTP-method [ [+|-]HTTP-method ] ... AllowMethods reset directory Experimental [+|-] disponible à partir de la version 2.5.1 du serveur HTTP Apache

Le nom de chaque méthode HTTP est sensible à la casse, et est le plus souvent défini en majuscules, comme dans les RFCs. Les méthodes GET et HEAD sont traitées de la même manière. Le mot-clé reset permet de désactiver mod_allowmethods dans les niveaux inférieurs d'imbrication :

<Location "/svn"> AllowMethods reset </Location> Avertissement

La méthode TRACE ne peut pas être rejetée par ce module ; pour ce faire, vous devez utiliser la directive TraceEnable.

Normalement, si plusieurs directives AllowMethods peuvent s'appliquer à un répertoire, c'est la plus spécifique d'entre elles qui sera prise en compte, les autres étant ignorées ; les différentes méthodes spécifiées ne sont en effet pas fusionnées (voir comment sont fusionnées les sections). Si cependant toutes les méthodes spécifiées dans la directive AllowMethods sont précédées d'un symbole + ou -, alors les méthodes spécifiées seront fusionnées. Pour plus de précision, les méthodes précédées d'un + seront ajoutées à la liste des méthodes autorisées, alors que celles qui sont précédées d'un - en seront supprimées.

Note

Mélanger des directives AllowMethods contenant des symboles + ou - avec des directives AllowMethods qui n'en contiennent pas constitue une erreur de syntaxe. Cette erreur interrompra le démarrage du serveur au cours de la vérification de la syntaxe du fichier de configuration.

Le module mod_allowmethods a été écrit pour remplacer l'implémentation "bricolée" des directives Limit et LimitExcept.