Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

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] apeterde: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 ''slf4j''.
  
-==== CSRF / CORS ==== +<code java> 
 +import org.slf4j.Logger; 
 +import org.slf4j.LoggerFactory;
  
-CSRF (Cross-Site Request Forgeryist 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("Error during execution of...:", e); 
 +</code>
  
-  - 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 ''application.properties'' schreiben können.
-  - 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+
  
-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.+<code application.properties> 
 +logging.level.root=INFO 
 +logging.level.ch.bzz=DEBUG 
 +logging.file.name=app.log 
 +</code>
  
-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 hostenJedoch ist man mit der Standard-Domain (github.io) gezwungen, HTTPS zu benutzen (Siehe Sceenshot).+<code java> 
 +import lombok.extern.slf4j.Slf4j;
  
-{{:de:modul:ffit:3-jahr:java:learningunits:lu09:github_pages_settings_enforce_https.png?600|}}+@Slf4j 
 +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/a.1762213883.txt.gz
  • Zuletzt geändert: 2025/11/04 00:51
  • von apeter