Login funktionierte, aber jede authentifizierte Folgeanfrage (Guthaben, KI-Anfrage) meldete fälschlich eine abgelaufene Anmeldung — viele Apache/PHP-FPM-Hosting-Setups reichen den Authorization-Header standardmäßig nicht an PHP durch. .htaccess erzwingt jetzt die Weiterleitung, db.php liest zusätzlich REDIRECT_HTTP_AUTHORIZATION/ getallheaders() als Fallback. AiBackendUrl auf die echte deployte Domain gesetzt. TODO.md: KI-Unterstützung auch für Stundenplanung (4.5.11), Frage zu einem console.claude.ai-Agent für Standardkontext vs. app-internem Standard-Prompt (4.5.12/4.5.13), sowie ein Planungsdiff für KI-Vorschläge auf Feldebene statt grober Neu/Geändert-Markierung (4.5.14).
28 lines
1.0 KiB
ApacheConf
28 lines
1.0 KiB
ApacheConf
# Sperrt alles, was kein öffentlicher Endpunkt ist. Nur login.php / status.php / plan.php sollen
|
|
# von außen aufrufbar sein. Siehe README.md — noch robuster ist es, config.php/db.php/schema.sql/
|
|
# providers/ komplett außerhalb des Webroots abzulegen, falls das Hosting das erlaubt.
|
|
|
|
<FilesMatch "^(config(\.example)?\.php|db\.php)$">
|
|
Require all denied
|
|
</FilesMatch>
|
|
|
|
<Files "schema.sql">
|
|
Require all denied
|
|
</Files>
|
|
|
|
<FilesMatch "\.md$">
|
|
Require all denied
|
|
</FilesMatch>
|
|
|
|
RewriteEngine On
|
|
RewriteRule ^providers/ - [F,L]
|
|
RewriteRule ^scripts/ - [F,L]
|
|
|
|
# Viele Apache/PHP-FPM-Setups reichen den Authorization-Header standardmäßig NICHT an PHP durch
|
|
# (login.php funktioniert dann, aber jede Anfrage mit Bearer-Token danach schlägt fehl, weil der
|
|
# Header bei PHP leer ankommt). Diese Zeile erzwingt die Weiterleitung — zusammen mit dem
|
|
# Mehrquellen-Fallback in db.php (ai_backend_authorization_header) deckt das die gängigen
|
|
# Hosting-Varianten ab.
|
|
RewriteCond %{HTTP:Authorization} ^(.+)$
|
|
RewriteRule .* - [E=HTTP_AUTHORIZATION:%1]
|