Medien löschen hinter Web Application Firewalls blockiert (Pfad enthält /delete)
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
Direzione di ricerca
L’issue individua la route esistente media/{filename}/delete e Media::handleDeleteMedia e propone di aggiungere DELETE media/{filename} con lo stesso ambito del token media/delete. Leggi prima la definizione attuale della route e la relativa variante backend, poi controlla come vengono testate le route API esistenti. Il lavoro è completato quando la nuova route raggiunge lo stesso handler con l’ambito esistente e la vecchia route rimane disponibile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Web Application Firewalls blockieren Pfade, die /delete enthalten. Das Löschen von Medien über die API ist dahinter nicht möglich: Die Anfrage kommt gar nicht bei REDAXO an.
Beobachtet auf einer Website hinter Imperva/Incapsula (Response-Header X-Iinfo, Cookies incap_ses_*). Die Firewall antwortet mit einer eigenen HTML-Seite und 403. In MediaPlace erscheint deshalb die irreführende Meldung „keine Berechtigung … nur in zugewiesenen Kategorien“, auch für Admins.
Nachweis (unangemeldet, auf eine nicht vorhandene Datei, aus einem Browser-Kontext)
| Anfrage | Antwort |
|---|---|
DELETE /api/backend/media/x.svg/delete |
403 (Firewall, HTML) |
DELETE /api/backend/media/x.jpg/delete, x.pdf, ohne Endung |
403 (Firewall) |
PUT / PATCH / POST …/x.svg/delete |
403 (Firewall) |
DELETE /api/backend/media/category/999999/delete |
403 (Firewall) |
DELETE /api/backend/structure/articles/999999999 |
401 JSON (kommt bei REDAXO an) |
DELETE /api/backend/media/category/999999 |
401 JSON (kommt an) |
PUT /api/backend/media/x.svg/update |
401 JSON (kommt an) |
DELETE /api/backend/media/x.svg/remove |
404 JSON (kommt an) |
Die Firewall reagiert also auf das Wort delete im Pfad, nicht auf die Methode DELETE.
Betroffen
Nur eine Route verwendet /delete im Pfad: media/{filename}/delete (Scope media/delete, auch als Backend-Variante backend/media/{filename}/delete). Alle anderen Lösch-Routen sind bereits REST-üblich, z. B. DELETE media/category/{id}.
Vorschlag
Eine zusätzliche, REST-übliche Route DELETE media/{filename}:
- gleicher Controller (
Media::handleDeleteMedia), - gleicher Token-Scope
media/delete(übernew BearerAuth(true, 'media/delete')). In der Token-Verwaltung erscheint so keine neue Checkbox, bestehende Tokens funktionieren sofort. - Die Backend-Variante entsteht automatisch über
Backend\Media. - Die alte Route bleibt erhalten (keine Breaking Changes).
Clients wie MediaPlace nutzen dann die neue Route und fallen bei älteren API-Versionen (404 „Route not found“) auf die alte zurück.
- Lingua principale
- PHP
- Stelle
- 20
- Fork
- 0
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di FriendsOfREDAXO/api
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 65/100
FriendsOfREDAXO/api#83 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
FriendsOfREDAXO/api#81 ·
-
checkMediaPerm(): Ziel nicht geprüft bei Verschieben + keine Kaskadierung auf UnterkategorienAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
FriendsOfREDAXO/api#80 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 55/100
FriendsOfREDAXO/api#65 ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
FriendsOfREDAXO/api#62 ·
Tutte le issue di FriendsOfREDAXO/api
Issue simili
-
Security: Vulnerable PHP version (CVE-2026-109618 / CVE-2026-109619) in current Docker imagesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
MISP/misp-docker#478 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
glpi-project/glpi#26045 ·
I maintainer di solito rispondono entro 1 giorno
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
sync-en
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 2 giorni
-
Перевод устарел
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100