Anwendungsarchitektur: Unterschied zwischen den Versionen
Etduen (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
Etduen (Diskussion | Beiträge) |
||
(4 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
(oder auch Software-Architektur von | (oder auch Software-Architektur von Web-Anwendungen) | ||
Die Anwendungsarchitektur beschreibt den logischen Aufbau von | Die Anwendungsarchitektur beschreibt den logischen Aufbau von Web-Anwendungen. | ||
=== '''Funktionsweise der 3 schichtigen Architektur''' === | === '''Funktionsweise der 3-schichtigen Architektur''' === | ||
<gallery> | <gallery> | ||
Zeile 9: | Zeile 9: | ||
</gallery> | </gallery> | ||
Die 3 | Die 3-schichtige Architektur besteht aus einer Präsentationsschicht, Logikschicht und der Speicherung. Wobei die Logikschicht und Speicherung auf der gleichen oder getrennten Hardware sein können. | ||
''Präsentationsschicht | ''Präsentationsschicht | ||
Zeile 24: | Zeile 24: | ||
In der Speicherschicht sind Daten in einer Datenbank gespeichert. Der Datenbankserver führt die von der Logikschicht weitergegebenen Anfragen aus. Die Ergebnisse werden an die Logikschicht zurückgegeben. | In der Speicherschicht sind Daten in einer Datenbank gespeichert. Der Datenbankserver führt die von der Logikschicht weitergegebenen Anfragen aus. Die Ergebnisse werden an die Logikschicht zurückgegeben. | ||
Ziel einer SQL-Injection ist der Datenbank-Server, bzw. die darauf befindlichen Daten. | Ziel einer SQL-Injection ist der Datenbank-Server, bzw. die darauf befindlichen Daten. | ||
=== '''Funktionsweise der 4-schichtigen Architektur''' === | |||
Die 4-schichtige Architektur besteht aus einer Präsentationsschicht, Logikschicht, Anwendungsschicht und der Speicherung. Auch hier können die serverseitigen Schichten auch auf der gleichen oder getrennten Hardware installiert sein. | Die 4-schichtige Architektur besteht aus einer Präsentationsschicht, Logikschicht, Anwendungsschicht und der Speicherung. Auch hier können die serverseitigen Schichten auch auf der gleichen oder getrennten Hardware installiert sein. | ||
Zeile 55: | Zeile 54: | ||
Ziel einer SQL-Injection ist der Datenbank-Server, bzw. die darauf befindlichen Daten. | Ziel einer SQL-Injection ist der Datenbank-Server, bzw. die darauf befindlichen Daten. | ||
Verwendete Quellen | Verwendete Quellen: | ||
Clarke, Justin. SQL Hacking . München, Germany: Franzis Verlag GmbH,2016. 978-3-645-60466-6 |
Aktuelle Version vom 29. Februar 2020, 15:49 Uhr
(oder auch Software-Architektur von Web-Anwendungen)
Die Anwendungsarchitektur beschreibt den logischen Aufbau von Web-Anwendungen.
Funktionsweise der 3-schichtigen Architektur
Die 3-schichtige Architektur besteht aus einer Präsentationsschicht, Logikschicht und der Speicherung. Wobei die Logikschicht und Speicherung auf der gleichen oder getrennten Hardware sein können.
Präsentationsschicht Diese Schicht zeigt am PC des Anwenders im Browser die Seite des Webservers dar. Die Anfrage des Browsers wird an die Logikschicht gesendet. Ob die präsentierten Daten einfach nur auf dem Webserver sind oder dynamisch über eine Datenbankabfrage zusammengestellt werden, merkt der Benutzer nicht. Bei einer SQL-Injection ist der Besucher einer Seite derjenige, der auf mehr als nur den Standard-Zugriff aus ist. Er versucht auf den oder die Server zuzugreifen.
Logikschicht
Der Webserver in der Logikschicht nimmt die Anfragen des Benutzers entgegen, führt Skripte aus und gibt ggf. Anfragen an einen Datenbankserver weiter. Die Ergebnisse der Skripte oder der Datenbankanfragen werden dann an den Seitenaufrufer (Präsentationsschicht) zurückgegeben. Um eine SQL-Injection zu verhindern oder einzugrenzen sind an dieser Stelle die sicher programmierten Skripte und Richtlinien gefordert, die eine unkontrollierte Weitergabe von SQL-Befehlen verhindern sollten.
Speicher
In der Speicherschicht sind Daten in einer Datenbank gespeichert. Der Datenbankserver führt die von der Logikschicht weitergegebenen Anfragen aus. Die Ergebnisse werden an die Logikschicht zurückgegeben. Ziel einer SQL-Injection ist der Datenbank-Server, bzw. die darauf befindlichen Daten.
Funktionsweise der 4-schichtigen Architektur
Die 4-schichtige Architektur besteht aus einer Präsentationsschicht, Logikschicht, Anwendungsschicht und der Speicherung. Auch hier können die serverseitigen Schichten auch auf der gleichen oder getrennten Hardware installiert sein.
Präsentationsschicht
Diese Schicht zeigt am PC des Anwenders im Browser die Seite des Webservers dar. Die Anfrage des Browsers wird an die Logikschicht gesendet. Ob die präsentierten Daten einfach nur auf dem Webserver sind oder dynamisch über eine Datenbankabfrage zusammengestellt werden, merkt der Benutzer nicht. Bei einer SQL-Injection ist der Besucher einer Seite derjenige, der auf mehr als nur den Standard-Zugriff aus ist. Er versucht auf den oder die Server zuzugreifen.
Logikschicht
Der Webserver in der Logikschicht nimmt die Anfragen des Benutzers entgegen, führt Skripte aus und gibt ggf. Anfragen an einen Anwendungsserver weiter. Die Ergebnisse der Skripte oder der weitergeleiteten Anfragen werden dann an den Seitenaufrufer (Präsentationsschicht) zurückgegeben. Um eine SQL-Injection zu verhindern oder einzugrenzen sind an dieser Stelle die sicher programmierten Skripte und Richtlinien gefordert, die eine unkontrollierte Weitergabe von Befehlen verhindern sollten.
Anwendungsschicht
In der Anwendungsschicht können Anfragen spezifisch bearbeitet werden. Je nach dem, um was es sich handelt, kann die entsprechende Anwendung (Web-Service) reagieren. Hier werden ggf. SQL-Abfragen an die Speicherschicht weitergegeben. Die Ergebnisse der Anwendungen werden an die Logikschicht zurückgegeben. Um eine SQL-Injection zu verhindern oder einzugrenzen sind an dieser Stelle zu überprüfen, mit welchen Berechtigungen hier die Dienste arbeiten und auf die Speicherschicht zugreifen können.
Speicher
In der Speicherschicht sind Daten in einer Datenbank gespeichert. Der Datenbankserver führt die weitergegebenen Anfragen aus. Die Ergebnisse werden an die Anwendungsschicht zurückgegeben. Ziel einer SQL-Injection ist der Datenbank-Server, bzw. die darauf befindlichen Daten.
Verwendete Quellen: Clarke, Justin. SQL Hacking . München, Germany: Franzis Verlag GmbH,2016. 978-3-645-60466-6