{% extends "base.html" %} {% block title %}Security-Check{% endblock %} {% block content %}

Reichweiten-Check Access Control

Prüft, was ein normaler Studenten-Login (dein Account) von fremden Personen abrufen kann. Angezeigt werden ausschließlich Booleans und Anzahlen – keine Feldwerte, keine Speicherung. Grün = vom CIS sauber geschützt, Rot = Daten liegen mit diesem Account offen.

Audit-Referenz: Wo die Rechte im Quellcode sitzen

Das CIS basiert auf FH-Complete (Open Source, github.com/FH-Complete). Gefunden per Source-Review statt Raten — jede Zeile = eine Prüfung, die der Reichweiten-Check oben abdeckt oder die das Weiterentwickeln der Tests erlaubt.

Stelle im CodeMechanismusPrüfung / Beobachtung
profile/index.php Feld-Filter: $ansicht hide Geburtsdatum/-ort, Adresse, private Kontakte bei fremdem Profil; ausser mit Recht basis/kontakt Check 2: grün = Code hält sich an sich selbst ✅
include/benutzerberechtigung.class.php Zentrale Prüfung $rechte->isBerechtigt('modul/recht', oe); Rollen/Rechte in tbl_berechtigung, tbl_rolleberechtigung Audit-Kriterium: Jede Seite mit Personen-/Plandaten MUSS diese Klasse aufrufen — fehlender Aufruf = Fund. Unsere 4 roten Checks sind genau die Seiten ohne wirksame Prüfung (LV-Plan, Autocomplete, bild.php, stud_in_grp).
public/bild.php?src=person&person_id= Foto-Schutz nur über person.foto_sperre (dann Dummy-Bild); keine Rollenprüfung, IDs fortlaufend Check 3: Foto-IDOR. FIX-Hebel für den Report: foto_sperre default-mäßig einschalten oder Prüfung einbauen.
lvplan/stpl_week.php · stpl_kalender.php Plan für beliebige pers_uid ohne Berechtigungscheck Check 5: jeder Login sieht fremde Termine/Räume. Ist teils gewollt (Raumsuche) — Meldung: Umfang dokumentieren.
lvplan/lvplan_autocomplete.php Autocomplete benutzer liefert ganzes Directory ohne Rollenfilter Check 1: 5735 Personen / 5 Requests.
extensions/FHC-Core-Anwesenheiten Prüfungen deklariert pro Action im Controller (PermissionLib->isBerechtigt) Auf der Live-Instanz nicht installiert (404) — im Report als "nicht testbar" vermerken.
extensions/FHC-Core-DSMS eigenes Datenschutz-Modul der Plattform Belegt: Feldebene ist eine konfigurierte Funktion, kein Bug — ihre Korrektheit ist genau das, was Check 2 dynamisch validiert.
{% endblock %}