Geschrieben von Thomas Kruse
am 9. August 2023
Cross-Site-Request-Forgery oder kurz CSRF ist ein Angriff, bei dem der Browser eines Nutzers auf einer böswilligen Webseite dazu veranlasst wird, einen Request gegen eine andere Webseite durchzuführen.
Ist der Nutzer auf der Zielwebseite eingeloggt, sendet der Browser bei manchen Verfahren die notwendigen Informationen automatisch mit, sodass der Request ebenfalls authentifiziert erfolgt.
Dadurch kann der Angreifer Aktionen im Namen des Nutzers ausführen.
Ein populärer CSRF Angriff ist z.B. der Facebook "like" Angriff, bei dem Nutzer unbeabsichtigt und unwissentlich "Like" für Inhalte abgaben.
Dies führte zur Verbreitung von unerwünschten Inhalten und Manipulation des Rankings.
In diesem Beitrag wird der CSRF Angriff im Detail erläutert und in Kombination von Spring Security und einer Browser Anwendung auf Basis von Angular diskutiert, wie ein entsprechender Schutz implementiert werden kann.
Geschrieben von Christian Bittner
am 15. November 2022
Im letzten Artikel zum Thema WebAssembly haben wir uns C und Rust für WebAssembly angeschaut.
Darin konnten wir erfahren, wie WebAssemblies als Hallo, Welt!
in der Browserwelt das Laufen lernen.
Diesmal schauen wir uns ein etwas komplexeres...
Geschrieben von Karsten Sitterberg
am 3. September 2021
Azure DevOps ist der Nachfolger des Microsoft Team Foundation Server (TFS).
Inbegriffen sind Buildserver (CI), Version Control (git), Verwaltung manueller Testpläne und Artefaktauslieferung (CD).
Die Features von Azure DevOps können dabei je nach Bedarf aktiviert werden.
Im folgenden soll eine Angular Webanwendung mit Azure DevOps als Buildserver gebaut werden.
Damit der Build gemeinsam mit der Software versioniert und entwickelt werden kann, wird die Buildkonfiguration im YAML Format als Azure Pipeline im Repository abgelegt.
Geschrieben von Steffen Jacobs
am 6. Juli 2020
React Native oder NativeScript? - Eine komparative Analyse für Enterpriseanwender
Im Bereich der mobilen Anwendungsentwicklung von nativen Apps gibt es viele Wege, die zum Ziel führen.
Aus bereits im Vorfeld beschriebenen Gründen [1] [2] konnten wir diese Auswahl an Wegen für die meisten praktischen Anwendungsfälle bereits auf die beiden Cross-Platform-Frameworks React Native und NativeScript reduzieren.
Aber welches der beiden Frameworks sollte man denn nun für die eigene Anwendung verwenden?
Die Lösung dazu und die Antwort auf weitere Fragen werden in dieser Analyse behandelt.
Für die Lesenden, die sich zunächst einmal grundlegend mit den beiden Frameworks auseinandersetzen möchten, haben wir bereits jeweils einen Artikel zu React Native[1] und einen zu Native Script [2] vorbereitet.
Geschrieben von Steffen Jacobs
am 1. Juni 2020
Mobile Entwicklung für Enterprise Anwendungen
Bei der mobilen App-Entwicklung gibt es heutzutage viele verschiedene Optionen.
Im letzten Artikel [3] wurde bereits React-Native als ein Weg zum Ziel beschrieben.
Dort wurde die insbesondere für Enterprise-Anwendungen größtenteils fehlende MVC-Trennung angemerkt.
Eine weitere Alternative mit anders umgesetzter Separation of Concerns ist NativeScript [1].
In diesem Artikel wollen wir eine Basis für App-Entwicklung aller Art mit NativeScript legen, daher ist der gesamte Quellcode auf GitHub verfügbar [2].
Er kann direkt ausgechecked und auf die eigenen Bedürfnisse ausgebaut werden.
Das spart Zeit beim initialen Setup.
Geschrieben von Thomas Kruse
am 10. April 2020
Die durch das neuartige Corona-Virus SARS-CoV-2 ausgelöste Krankheit COVID-19 und die durch die Pandemie veränderten Lebensumstände stellen vieles auf den Kopf.
Remote-Arbeiten, Digitalisierung und potentieller struktureller Wandel sind alles Themen, die den Technologiesektor tangieren, und somit auch viele unserer Kunden.
Die ganz persönlichen Lebensumstände betrifft das bisher einzige Mittel, um mit der Bedrohung umzugehen:
Social Distancing.
Oft stellt sich die Frage, ob das wirklich so viel bringt gegen das Corona Virus.
Wir haben eine kleine Anwendung erstellt, mit der sich jeder selbst ein Bild machen kann: Den Corona Virus Simulator.
Es gibt zwar bereits einige Anwendungen dieser Art, auf denen wir auch mit unseren Beispiel aufbauen wollen, doch das besondere in dieser Version:
Man kann sich einen direkten Vergleich von zwei Populationen anzeigen lassen, und damit die direkten Auswirkungen verschiedener Parameter gegenüberstellen.
Wir simulieren, was in der echten Welt nicht möglich ist:
Nämlich gleichzeitig den Effekt von Social Distancing und weiteren Parametern und parallel dazu zum Vergleich die Entwicklung ohne Social Distancing.
Figure 1. Screenshot der Corona-Simulator-App
Geschrieben von Karsten Sitterberg
am 8. April 2020
Im vorhergehenden Artikel wurde der Einsatz von GitHub Actions beschrieben, um eine Angular Anwendungen auf GitHub zu testen und zu bauen.
Das Thema Deployment wurde dabei aufgrund der Vielzahl an Varianten nicht weiter behandelt.
In diesem Beitrag wird nun erklärt, wie die ebenfalls von GitHub bereitgestellte Plattform zum Hosting von statischen Seiten, GitHub Pages, genutzt werden kann, um darauf eine Angular Anwendung bereitzustellen.
Der große Vorteil von clientseitigen Frameworks kommt dabei voll zur Geltung:
Es wird lediglich ein simpler Webserver benötigt, der die HTML, JavaScript und CSS Dateien ausliefert.
Serverseitige Logik wird für das Angular Frontend an sich nicht benötigt.
Geschrieben von Karsten Sitterberg
am 31. März 2020
GitHub Actions ermöglichen es, Reaktionen auszulösen, wenn in einem GitHub Repository Ereignisse eintreten.
Damit lässt sich beispielsweise Generierung von Dokumentation, oder Build und Test von Programmcode umsetzen, ohne einen zusätzlichen CI-Server zu benötigen.
Anders als viele andere CI Lösungen, wie beispielsweise GitLab-CI, setzt GitHub Actions dabei auf vordefinierte Umgebungen und nicht auf Container.
Allerdings lassen sich neben den in den Umgebungen vorhandenen Standardwerkzeugen auch zusätzliche Actions hinzunehmen.
Bei Actions handelt es sich um wiederverwendbare Code-Bausteine.
Außer von GitHub oder dem eigenen Repository können Actions auch auf einem Marketplace von Drittanbietern, z.B. als Docker-Image, bereitgestellt werden.
Als Umgebungen stehen bei GitHub derzeit Linux, Windows und MacOS zur Verfügung.
Das Ergebnis von GitHub Actions können dann Aktionen unter Verwendung der GitHub API sein.
Außerdem können auch Docker-Images erstellt und anschließend in eine Registry gepushed werden.
Wie GitHub Actions genutzt werden können, um eine Angular-Anwendung zu testen und zu bauen, stellen wir in diesem Beitrag vor.
Geschrieben von Thomas Kruse
am 28. Januar 2020
Bei der PHP Usergroup Münster stellte Thomas Kruse vor, welche Optionen gRPC für die Entwicklung und Integration von Microservices bietet.
Geschrieben von Thomas Kruse
am 16. Januar 2020
Wie können moderne APIs unter Berücksichtigung von Web Anwendungen definiert und implementiert werden?
Diese Frage stellt sich vor allem bei Microservice Architekturen, wenn viele unterschiedliche Dienste miteinander integriert werden.
Als eine Option stellte Thomas Kruse bei dem Meetup "Frontend Freunde" vor, wie dies auf Basis von gRPC umgesetzt werden kann und welche Implikationen sich ergeben.
Geschrieben von Thomas Kruse
am 14. Januar 2020
Zum Thema Web Accessibility, also barrierefreie Anwendungen, präsentierte Karsten Sitterberg bei dem Meetup "Frontend Freunde", welche Möglichkeiten sich auch bei modernen Frontend Anwendungen mit Angular, Vue und React ergeben.
Geschrieben von Karsten Sitterberg
am 6. Januar 2020
Nachdem in diesem Beitrag zu SVG Animationen die Grundlagen von SVG Animationen erläutert wurden, geht es in diesem Beitrag darum, wie SVG Animationen mit Angular umgesetzt werden können.