Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:java:learningunits:lu09:a [2025/11/04 00:51] – apeter | de:modul:ffit:3-jahr:java:learningunits:lu09:a [2025/11/04 02:03] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== LU09a - CORS & HTTPS ====== | + | ====== LU09a - Logging in Spring Boot ====== |
| - | In diesem Kapitel werden einige praxisrelevanten Stolpersteine erklärt. | + | Das Logging funktioniert im Grossen und Ganzen gleich wie bisher mit '' |
| - | ==== CSRF / CORS ==== | + | <code java> |
| + | import org.slf4j.Logger; | ||
| + | import org.slf4j.LoggerFactory; | ||
| - | CSRF (Cross-Site Request Forgery) ist ein Angriff, bei welchem der Angreifer sensible Informationen oder gar Zugang zu einem Account des Opfers erlangen kann. | + | public class DemoController { |
| + | private static final Logger log = LoggerFactory.getLogger(DemoController.class); | ||
| + | | ||
| + | log.error(" | ||
| + | </ | ||
| - | - Das Opfer ist auf einer validen Webseite eingeloggt und besitzt somit ein Cookie o. Ä. mit der Session. | + | Neu ist, dass wir die dazugehörigen Einstellungen einfach in unser '' |
| - | - Der Täter bringt das Opfer dazu eine präparierte Webseite aufzurufen (zum Beispiel via Phising Mail o. Ä.). | + | |
| - | - Im Hintergrund wird von der präparierten Webseite eine Anfrage zur validen Webseite geschickt, inklusive der Session aus dem Cookie. | + | |
| - | - Die valide Webseite führt die Aktion aus oder liefert sensible Informationen an die präparierte Seite des Angreifers zurück. | + | |
| - | CORS (Cross-Origin Resource Sharing) ist reguliert Webseitenübergreifende Aufrufe und bietet so ein Sicherheitsmechanismus, | + | <code application.properties> |
| + | logging.level.root=INFO | ||
| + | logging.level.ch.bzz=DEBUG | ||
| + | logging.file.name=app.log | ||
| + | </ | ||
| - | Damit ein Frontend auf ein Backend zugreifen kann, muss die entsprechende Erlaubnis im Backend konfiguriert sein. | + | ==== Vereinfachung mit Lombok ==== |
| - | ==== Github Pages ==== | + | Project Lombok hilft uns auch hier die Erstellung des Logger-Objektes zu vereinfachen. |
| - | Github Pages ermöglicht es statische Webseiten zu hosten. Jedoch ist man mit der Standard-Domain (github.io) gezwungen, HTTPS zu benutzen (Siehe Sceenshot). | + | <code java> |
| + | import lombok.extern.slf4j.Slf4j; | ||
| - | {{:de: | + | @Slf4j |
| + | public class DemoController | ||
| + | ... | ||
| + | log.error(" | ||
| + | </ | ||
| - | Mehr dazu auf https:// | ||
| - | |||
| - | Dies hat zur Folge, dass sämtliche APIs, welche von einer solchen Webseite aufgerufen werden, ebenfalls HTTPS unterstützen müssen. | ||