Dino Geek essaye de t'aider

Comment désactiver les méthodes HTTP PUT et DELETE ?


Désactiver les méthodes HTTP PUT et DELETE est une pratique courante lorsque l’on souhaite sécuriser une application web en empêchant certaines opérations de modification de ressources. Voici quelques exemples et méthodes pour désactiver ces méthodes dans différents serveurs web et frameworks, accompagnés de sources fiables pour plus de détails.

  1. Désactivation des méthodes PUT et DELETE dans Apache

Apache est un serveur web très utilisé. Pour désactiver les méthodes PUT et DELETE, vous pouvez éditer le fichier de configuration d’Apache (généralement « httpd.conf » ou un fichier inclus dans « sites-available » ou « sites-enabled »).

Exemple de configuration :

```
Order allow,deny Deny from all

```

Dans cet exemple, le bloc `` spécifie les méthodes HTTP que nous voulons restreindre (PUT et DELETE), et `Deny from all` empêche toutes les requêtes pour ces méthodes.

Source : [Apache Module mod_access_compat](https://httpd.apache.org/docs/2.4/mod/mod_access_compat.html#limit)

  1. Désactivation des méthodes PUT et DELETE dans Nginx

Nginx, un autre serveur web populaire, utilise une approche différente. Pour désactiver des méthodes spécifiques, il faut écrire une configuration personnalisée dans le fichier de configuration Nginx (souvent « nginx.conf » ou un fichier de configuration spécifique à un site).

Exemple de configuration :

```
server { location / { if ($request_method ~* “(PUT|DELETE)”) { return 405; } }
}
```

Dans cet exemple, la directive `if` est utilisée pour vérifier la méthode HTTP et la directive `return 405` renvoie une réponse HTTP 405 Method Not Allowed.

Source : [Nginx Documentation on if](https://nginx.org/en/docs/http/ngx_http_rewrite_module.html#if)

  1. Désactivation des méthodes PUT et DELETE dans Spring Boot

Pour les applications développées en utilisant le framework Spring Boot, on peut configurer un filtre pour intercepter les requêtes HTTP et bloquer certaines méthodes.

Exemple de code Java :

```
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpFilter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

public class HttpMethodFilter extends HttpFilter {

@Override protected void doFilter(HttpServletRequest request, HttpServletResponse response, FilterChain chain) throws IOException, ServletException { String method = request.getMethod(); if (“PUT”.equalsIgnoreCase(method) || “DELETE”.equalsIgnoreCase(method)) { response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, “Method Not Allowed”); return; } chain.doFilter(request, response); } @Override public void init(FilterConfig filterConfig) throws ServletException { // Initialisation si nécessaire } @Override public void destroy() { // Cleanup si nécessaire } } ```

Puis, enregistrer ce filtre dans votre classe principale Spring Boot :

```
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class DemoApplication {

public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } @Bean public FilterRegistrationBean loggingFilter(){ FilterRegistrationBean registrationBean = new FilterRegistrationBean<>(); registrationBean.setFilter(new HttpMethodFilter()); registrationBean.addUrlPatterns(“/*”); return registrationBean; } } ```

Source : [Spring Boot Documentation](https://docs.spring.io/spring-boot/docs/current/reference/htmlsingle/)

  1. Autres sources fiables

- OWASP : L’Open Web Application Security Project (OWASP) offre des recommandations sur la sécurisation des applications web, y compris des informations sur le contrôle et la restriction des méthodes HTTP. [OWASP Secure Headers Project](https://owasp.org/www-project-secure-headers/)
- Mozilla Developer Network (MDN) : La documentation MDN fournit un guide complet sur les méthodes HTTP et leurs utilisations, ainsi que des recommandations de sécurité. [MDN HTTP Methods](https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods)

En suivant ces pratiques et en se référant aux sources mentionnées, on peut désactiver en toute sécurité les méthodes HTTP PUT et DELETE pour protéger les applications web contre les modifications non autorisées.


Générez simplement des articles pour optimiser votre SEO
Générez simplement des articles pour optimiser votre SEO





DinoGeek propose des articles simples sur des technologies complexes

Vous souhaitez être cité dans cet article ? Rien de plus simple, contactez-nous à dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nom de Domaine | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Mentions Légales / Conditions Générales d'Utilisation