Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Kilian Fromm Geändert vor über 8 Jahren
1
Konzeption einer Webanwendung zum Hoch- und Herunterladen von Dateien Vortrag zur Seminararbeit Yannick Slowig 1
2
Inhaltsverzeichnis Motivation Was ist eine Webanwendung ? Anforderungen Technologien Konzeption Sicherheit Mock Ups Fazit und Ausblick 2
3
Motivation Moser GmbH & Co.KG hat sich auf kaufmännische Software spezialisiert Die Software verwaltet die benutzereigenen Daten in Datenbanken Datenbankwartung erforderlich Kunden müssen ihre Datenbank über das Internet übertragen 3
4
Motivation Übertragung der Datenbank per FTP-Verbindung Manuelle Ausführung ohne FTP-Client Unkomfortabel und zeitaufwendig Komfortablere Lösung erwünscht 4
5
Motivation Lösungen von Drittanbietern haben durch ihren Bekanntheitsgrad ein höheres Angriffsrisiko Lösung durch eine eigene Webanwendung über das HTTP-Protokoll 5
6
Was ist eine Webanwendung ? Ein auf einem Server ausgeführtes Programm Der Browser des Benutzers greift über ein Übertragungsprotokoll auf die Anwendung zu Der vom Benutzer zu sehende Inhalt wird von der Anwendung dynamisch generiert 6
7
Was ist eine Webanwendung ? Vorteile Plattformunabhängig Installationsfrei, da Browser meistens mit Betriebssystem ausgeliefert wird Updates müssen nur auf dem Server getätigt werden Nachteile Keine Offlinearbeit möglich Einschränkung durch das HTTP- Protokoll Einschränkung der Darstellung durch HTML 7
8
Anforderungen Der Benutzer muss sich anmelden Ein Kunde kann zwei Aktionen tätigen: Eine Datei hoch- oder runterladen Ein Servicemitarbeiter kann zusätzlich einen Kunden eintragen, sodass sich dieser anmelden kann 8
9
Anforderungen Der aktive Up- oder Download soll nicht vom Benutzer abgebrochen werden Versenden von E-Mails an den Servicemitarbeiter bei erfolgreichem Upload eines Kunden Verwalten der anfallenden Daten 9
10
Technologien Zur Darstellung der Webseiten wird HyperText Markup Language und Cascading Style Sheets verwendet Ein Browser stellt HTML-Seiten dar CSS wird verwendet um die grafischen Inhalte zu verfeinern 10
11
Technologien Für die Nutzung der Anwendung wird ein Webserver benötigt Es soll ein Webserver mit einem Windows-System benutzt werden Für die Übertragung von E-Mails muss ein Simple Mail Transfer Protocol Server verwendet werden 11
12
Technologien Auszuführender Code, soll mit Active Server Pages.NET implementiert werden ASP.Net ist eine Bündelung von Techniken und wird von Microsoft entwickelt Programmiert werden kann standardmäßig in C# oder VB.NET Für den Umgang von ASP.Net mit dem Webserver, wird keine Programmierschnittstelle erfordert 12
13
Probleme Verbindungsabbruch durch: Router Reset Störung eines Funknetzwerks Maximale Dateigröße Verschiedene Technologien haben ein Limit für Dateigrößen Timeout Lange Ladezeiten können zu einem Timeout führen 13
14
Wie kann man eine solche Webanwendung mit den vorgestellten Technologien entwickeln ? 14
15
Datenverwaltung Anmeldeinformationen sollen in einer XML-Datei gespeichert werden Kein Einsatz einer Datenbank, da keine großen Datenmengen Hochzuladende Dateien sollen im Dateisystem des Servers gespeichert werden 15
16
Anmeldung Zum Anmelden wird ein Benutzername und ein Passwort erfordert Wie üblich sollen dafür zwei Eingabefelder und ein Button verwendet werden ASP.NET bietet Steuerelemente, die für diese Zwecke genutzt werden können Steuerelemente besitzen für ihren Wert Variablen TextBox Benutzername ( sichtbare Eingabe ) Textbox( TextMode = „Password“ ) Passwort ( Eingabe durch Punkte ersetzt ) Als Button dient das gleichnamige Steuerelement 16
17
Anmeldung Das OnClick Ereignis des Buttons Sendet Eingaben über den Nachrichtenkörper des HTTP-Request Die Werte der Steuerelemente werden gleich den übertragenen Eingaben gesetzt Die Eingaben sollen validiert werden Informationsaustausch mit der XML-Datei Bei erfolgreicher Anmeldung soll auf die nächste Seite weitergeleitet werden HTML-Datei wird im HTTP-Response-Body gesendet 17
18
Upload Typisch für das Hochladen von Dateien soll ein Feld zur Eingabe des Dateipfads und ein Button zur Bestätigung benutzt werden ASP.Net bietet für das Auswählen des Dateipfads das Steuerelement FileUpload FileUpload öffnet das Explorer Fenster des Klienten mit einem „Öffnen“- Button Setzen der Eigenschaft enctype=„multipart/from-data“ im HTML- Dokument Legt Verschlüsselungstyp fest 18
19
Upload Das OnClick Ereignis für den Hochladen-Button Sendet ausgewählte Datei mit der Post Methode des HTTP-Request an den Server Während der Dauer soll ein sich drehender Ring z.B. durch eine gif-Datei angezeigt werden Datei soll im Verzeichnissystem des Servers abgelegt werden Nach erfolgreicher Beendigung den Nutzer benachrichtigen Anschließend wird zwischen Kunde und Mitarbeiter unterschieden 19
20
Upload Kunde E-Mail generieren und an Mitarbeiter senden Kommunikation mit dem SMTP-Server über die Klasse SMTP-Client von C# Sitzung läuft aus Mitarbeiter Sitzung läuft nicht aus 20
21
Download Kunde soll nur vom Mitarbeiter angeheftete Datei herunterladen können Anzeigen des Dateinamens Button zur Bestätigung des Vorgangs Mitarbeiter soll im Verzeichnis des Servers Dateien suchen können Option zum Durchsuchen anzeigen Button zur Bestätigung des Vorgangs 21
22
Download Das OnClick Ereignis für den Herunterladen-Button Zum Übertragen einer Datei muss der HTTP-Response manuell definiert werden Definierung geschieht über die Response Klasse von C# Die Eigenschaft Content-Disposition gibt an, das der Inhalt des Bodys herunterzuladen ist Response.TransmitFile übergibt den Dateipfad Informationen über Dateityp und Länge können mit Response.ContentType und Response.AppendHeader festleget werden Antwort an den Benutzer senden 22
23
Download Session des Kunden läuft aus, die des Mitarbeiters nicht Aktivitätsanzeige durch Downloadmanager vom Browser gegeben Ein Abbruch der Aktion beim Up- oder Download wird mit Aufforderung zum erneuten Versuchen gelöst 23
24
Kundeneintrag Ein Servicemitarbeiter erstellt einen einmaligen Login für einen Kunden Er soll auszuführende Operation, Benutzername und Passwort bestimmen können Soll der Kunde einen Download ausführen, muss er zusätzlich den Dateipfad der Datei angeben Durch Bestätigung der Eingaben wird ein Eintrag in der XML-Datei erstellt Attribute einer Klasse in C# als XML-Attribute Weiterleiten der Daten per Telefon oder SMS 24
25
Session ID HTTP ist ein zustandsloses Protokoll, deswegen muss bei jeder Aktion eine Benutzerkennung stattfinden Eine Session ID kann dafür verwendet werden Wird mit jeder Aktion übertragen Darf nicht offensichtlich angezeigt werden Das Steuerelement HiddenField bietet sich dafür an Gespeichert werden sollen die Session IDs in einer XML-Datei 25
26
Maximale Dateigröße und Timeout ASP.NET hat die maximale Dateigröße auf 4mb gesetzt und leitet nach 110 Sekunden einen Timeout ein Beide Limits können in der Datei web.config verändert werden Im HTTP-Runtime Eintrag kann das Element maxRequestLength auf maximal 2 Gb erhöht werden Das Element executionTimeout soll auf 4 Stunden gesetzt werden 26
27
Sicherheit - Berechtigungshierarchie Anpassen der Berechtigungen für die Ordner des Webservers Unter den Eigenschaften eines Ordners gibt es unter Windows den Reiter Sicherheit, um Lese- und Schreibberechtigung für Benutzer festzulegen Grundsätzlich soll ein Benutzer keine Lese- bzw. Schreibberechtigung haben Berechtigung können zur Laufzeit verändert werden Ein Ordner zum Schreiben einen zum Lesen Herunterzuladende Dateien werden erst mit der Anmeldung in den Ordner mit Leseberechtigung geladen 27
28
Sicherheit - Passwörter Kunde Einmal Passwort Automatisch Generierung durch Mittarbeiter Zufällig aus Groß- und Kleinbuchstaben, Ziffern, Umlauten und Sonderzeichen 10 Zeichen lang 48 Stunden lang gültig Mitarbeiter Kein einmal Passwort Erstellt durch den Administrator Automatisch generiert aus Groß- und Kleinbuchstaben, Ziffern, Umlauten und Sonderzeichen 12 Zeichen lang 28 Speicherung der Passwörter soll verschlüsselt durch einen Hashalgorithmus geschehen
29
Sicherheit - Passwörter Zusätzlich muss mit dem Passwort die Erstellungszeit gespeichert werden Eine Funktion soll alle 15 Minuten überprüfen ob ein Passwort abgelaufen ist 29
30
Sicherheit – Session ID Eine bekannte Angriffsart ist das Übernehmen der Session ID Verhindert werden kann das erraten einer Session ID nicht vollständig, aber es kann erschwert werden Eine Session ID soll aus dem Wertebereich von long ausgewählt werden Geht von -9*10^14 bis 9*10^14 30
31
Sicherheit - Parametereingabe Über Textfelder kann ein Skript und somit auch Schadcode eingeschleust werden Erstellen von weißen Listen Verhindern von anderen Eingaben außer den Eingetragenen 31
32
So könnte eine Webanwendung aussehen, die mit dieser Konzeption entwickelt wurde 32
33
Mock-Ups 33
34
Mock-Ups 34
35
Fazit und Ausblick Mit dieser Anleitung sollte eine Umsetzung mit den entsprechenden Technologien recht einfach umzusetzen sein Ausreichender Schutz für die Kundendaten Komfortabler als eine manuelle FTP-Verbindung Individuell Anpassbar Eine denkbare Erweiterung wäre das Zulassen von allen Dateigrößen Dazu könnte z.B. Streaming genutzt werden 35
36
36 Vielen Dank für Ihre Aufmerksamkeit. Fragen ?
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.