Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:java:learningunits:lu09:c [2025/11/04 01:52] apeterde:modul:ffit:3-jahr:java:learningunits:lu09:c [2025/11/04 01:57] (aktuell) apeter
Zeile 1: Zeile 1:
-====== LU09c - Logging in Spring Boot ======+====== LU09c - CORS & HTTPS ======
  
-Das Logging funktioniert im Grossen und Ganzen gleich wie bisher mit ''slf4j''.+In diesem Kapitel werden einige praxisrelevanten Stolpersteine erklärt.
  
-<code java> +==== CSRF / CORS ==== 
-import org.slf4j.Logger; +
-import org.slf4j.LoggerFactory;+
  
-public class DemoController { +CSRF (Cross-Site Request Forgeryist ein Angriff, bei welchem der Angreifer sensible Informationen oder gar Zugang zu einem Account des Opfers erlangen kann.
-    private static final Logger log = LoggerFactory.getLogger(DemoController.class)+
-    ... +
-        log.error("Error during execution of...:", e); +
-</code>+
  
-Neu ist, dass wir die dazugehörigen Einstellungen einfach in unser ''application.properties'' schreiben können.+  - Das Opfer ist auf einer validen Webseite eingeloggt und besitzt somit ein Cookie o. Ä. mit der Session. 
 +  - 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 geschicktinklusive 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
  
-<code application.properties> +CORS (Cross-Origin Resource Sharing) ist reguliert Webseitenübergreifende Aufrufe und bietet so ein Sicherheitsmechanismus, um CSRF zu verhindern, indem Seitenübergreifende Aufrufe grundsätzlich verhindert werden.
-logging.level.root=INFO +
-logging.level.com.example.demo=DEBUG +
-logging.file.name=app.log +
-</code>+
  
-==== Vereinfachung mit Lombok ==== +Damit ein Frontend auf ein Backend zugreifen kann, muss die entsprechende Erlaubnis im Backend konfiguriert sein.
  
-Project Lombok hilft uns auch hier die Erstellung des Logger-Objektes zu vereinfachen. +==== Github Pages ==== 
  
-<code java> +Github Pages ermöglicht es statische Webseiten zu hostenJedoch ist man mit der Standard-Domain (github.io) gezwungen, HTTPS zu benutzen (Siehe Sceenshot).
-import lombok.extern.slf4j.Slf4j;+
  
-@Slf4j +{{:de:modul:ffit:3-jahr:java:learningunits:lu09:github_pages_settings_enforce_https.png?600|}}
-public class DemoController { +
-    ... +
-        log.error("Error during execution of...:", e); +
-</code>+
  
 +Mehr dazu auf https://docs.github.com/pages/getting-started-with-github-pages/securing-your-github-pages-site-with-https
 +
 +Dies hat zur Folge, dass sämtliche APIs, welche von einer solchen Webseite aufgerufen werden, ebenfalls HTTPS unterstützen müssen.
  • de/modul/ffit/3-jahr/java/learningunits/lu09/c.txt
  • Zuletzt geändert: 2025/11/04 01:57
  • von apeter