|
@@ -884,6 +884,67 @@ Bob's stuk.** De loginpagina zelf is geverifieerd tot aan het invoerveld.
|
|
|
drawer én de data-deletion-URL voor Play) en `/nl/support/privacybeleid`.
|
|
drawer én de data-deletion-URL voor Play) en `/nl/support/privacybeleid`.
|
|
|
- **`devbob` staat niet meer in de levende app-code** (alleen in dode kopieën).
|
|
- **`devbob` staat niet meer in de levende app-code** (alleen in dode kopieën).
|
|
|
|
|
|
|
|
|
|
+### 🔴 156 · Services-endpoint `flutterdrup` staat veel te wijd open · Eigenaar: Bob
|
|
|
|
|
+
|
|
|
|
|
+**Gemeten 2026-09-19 op de resourcelijst die Bob plakte, plus live getest tegen
|
|
|
|
|
+productie.** De app gebruikt **24** methodes; er staan er tientallen aan die zij
|
|
|
|
|
+niet aanroept, waaronder schrijfoperaties.
|
|
|
|
|
+
|
|
|
|
|
+**Hard aangetoond, anoniem, zonder enige login:**
|
|
|
|
|
+- `GET /nl/flutterdrup/node/222338.json` -> **200**, **46 velden**, inclusief
|
|
|
|
|
+ `uid`, `revision_uid`, `uuid`, `log`, `status` en — het vervelendst —
|
|
|
|
|
+ **`name: bob`**, de inlognaam van de auteur. De app gebruikt `node/*` nergens.
|
|
|
|
|
+- `POST /nl/flutterdrup/system/connect.json` -> 200 (geeft alleen een anonieme
|
|
|
|
|
+ sessie terug; standaard Services-gedrag, geen lek, maar ook niet nodig).
|
|
|
|
|
+- `GET /nl/flutterdrup/user/1.json` -> 403 ✅ en
|
|
|
|
|
+ `taxonomy_vocabulary/getTree.json` -> `[false]` ✅ — die twee lekken niets.
|
|
|
|
|
+
|
|
|
|
|
+**Uitvinken (de app roept hier NIETS van aan):**
|
|
|
|
|
+
|
|
|
|
|
+| resource | methodes die uit kunnen |
|
|
|
|
|
+|---|---|
|
|
|
|
|
+| `node` | **alle 7** — retrieve, create, update, delete, index, files, attach_file |
|
|
|
|
|
+| `system` | **alle 4** — connect, get_variable, **set_variable**, **del_variable** |
|
|
|
|
|
+| `taxonomy_term` | **alle 6** — incl. create/update/delete |
|
|
|
|
|
+| `taxonomy_vocabulary` | **alle 7** — incl. create/update/delete |
|
|
|
|
|
+| `file` | **alle 5** — de app gebruikt `bestand_upload/upload` |
|
|
|
|
|
+| `geocoder` | beide |
|
|
|
|
|
+| `userestablishments` | index — vervangen door `mijn_horecagelegenheden` |
|
|
|
|
|
+| `user` | **alles BEHALVE `login` en `request_new_password`**: retrieve, create, update, delete, index, logout, token, user_pass_reset, register, cancel, password_reset, resend_welcome_email |
|
|
|
|
|
+
|
|
|
|
|
+*Geverifieerd in de export: de app roept exact twee user-endpoints aan
|
|
|
|
|
+(`user/login`, `user/request_new_password`) en nergens `token` of `logout`.*
|
|
|
|
|
+
|
|
|
|
|
+**Aan laten staan — dit is de volledige lijst die de app gebruikt:**
|
|
|
|
|
+`aanmelding_kloonbron` · `accountdelete` · `bestand_upload` · `categorieen` ·
|
|
|
|
|
+`entreeopties` · `evenementen` · `favorieten` (flag/unflag/is_flagged) ·
|
|
|
|
|
+`favorieten_agenda` · `favorieten_gemeenten` · `favorieten_horeca` ·
|
|
|
|
|
+`horecacategorieen` · `mijn_aanmeldingen` · `mijn_horecagelegenheden` ·
|
|
|
|
|
+`mijn_stadsrechten` · `plaatsen` · `plaatsen_bij_gemeente` · `stadsactiviteiten` ·
|
|
|
|
|
+`user` (alleen login + request_new_password) · `views` (retrieve)
|
|
|
|
|
+
|
|
|
|
|
+**De rommel-resources** (`0`, `34edfas2r`, `adfasdf`, `asdffadadf`,
|
|
|
|
|
+`fafadfadasdfas`, `fasdfasdfasd`, `flutterplaatsen`, `homes548446`,
|
|
|
|
|
+`safasdfasdfasdf`, `userfavoritescalendar`, `userfavoritescalendar345345234`, …)
|
|
|
|
|
+staan **ingeklapt** in de lijst, wat betekent dat er geen methode van aanstaat —
|
|
|
|
|
+ze doen dus niets. Opruimen mag, is geen haast.
|
|
|
|
|
+
|
|
|
|
|
+### 🔴 156b · Views-resource lekt mogelijk displays zonder access control
|
|
|
|
|
+
|
|
|
|
|
+Drupal zet zelf **11x** deze waarschuwing onder de `views`-resource:
|
|
|
|
|
+*"There are some views with displays that will be exposed that have no access
|
|
|
|
|
+control. This resource may unintentionally leak otherwise inaccessible displays
|
|
|
|
|
+such as panel panes and blocks."*
|
|
|
|
|
+
|
|
|
|
|
+Elke waarschuwing is één view. Nu is **elke** view via de API bereikbaar, ook
|
|
|
|
|
+blocks en panel panes die op de site zelf achter permissies zitten.
|
|
|
|
|
+
|
|
|
|
|
+**Fix:** tabblad **View Resource Settings** -> beperk tot de vijf views die de
|
|
|
|
|
+app gebruikt: `flutterflowmobiel1`, `flutterflow_events`,
|
|
|
|
|
+`flutterflowmobiel_establishments`, `flutterflowmobiel_establishment_info`,
|
|
|
|
|
+`flutterflowmobiel_establishment_events`. Geverifieerd in de export: de app
|
|
|
|
|
+vraagt geen enkele andere view op.
|
|
|
|
|
+
|
|
|
## 🚦 Bij livegang — schakelaars en opruimklussen · Eigenaar: Bob
|
|
## 🚦 Bij livegang — schakelaars en opruimklussen · Eigenaar: Bob
|
|
|
|
|
|
|
|
- **🆕 Twee dode API-calls in de gepubliceerde app.** `api_calls.dart` declareert
|
|
- **🆕 Twee dode API-calls in de gepubliceerde app.** `api_calls.dart` declareert
|