Het uitschakelen van de HTTP PUT- en DELETE-methoden kan noodzakelijk zijn voor de beveiliging van een webtoepassing, vooral als deze methoden niet in gebruik zijn en een potentieel beveiligingsrisico vormen. Hier zijn enkele manieren om deze methoden uit te schakelen, met voorbeelden en bronnen die zijn gebruikt om dit antwoord samen te stellen.
Voorbeeld .htaccess:
```
```
Bron:
- [Apache HTTP Server Documentation](https://httpd.apache.org/docs/2.4/mod/core.html#limit)
Voorbeeld Nginx-configuratie:
```
server {
listen 80;
server_name example.com;
Bron:
- [Nginx Documentation](http://nginx.org/en/docs/)
Soms kan het nodig zijn om beveiliging direct in de applicatiecode te implementeren, vooral als je een framework gebruikt dat routing en HTTP-verzoeken behandelt.
Bron:
- [Laravel Documentation](https://laravel.com/docs/8.x/routing#route-parameters)
Voorbeeld Express Middleware:
```
const express = require(‘express’);
const app = express();
app.use((req, res, next) => {
if ([‘PUT’, ‘DELETE’].includes(req.method)) {
res.status(405).send(‘Method Not Allowed’);
} else {
next();
}
});
app.get(‘/’, (req, res) => {
res.send(‘Hello World!’);
});
app.listen(3000, () => {
console.log(‘Server running on port 3000.’);
});
```
Bron:
- [Express Documentation](https://expressjs.com/en/starter/basic-routing.html)
Een andere aanpak zou zijn om een WAF te configureren. Moderne WAFs zoals ModSecurity kunnen worden gebruikt om specifieke HTTP-methoden te blokkeren.
```
SecRule REQUEST_METHOD “^(PUT|DELETE)$” “id:1234,deny,status:405“
```
Bron:
- [ModSecurity Handbook](https://www.modsecurity.org/)
Deze methoden tonen hoe je PUT- en DELETE-verzoeken kunt uitschakelen door configuratie van de webserver, aanpassingen in applicatiecode of door gebruik van beveiligingsoplossingen zoals een WAF. Het implementeren van een van deze methoden kan helpen de veiligheid van je webtoepassing te verbeteren door potentieel schadelijke HTTP-verzoeken te blokkeren.