Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Konzeption einer Webanwendung zum Hoch- und Herunterladen von Dateien Vortrag zur Seminararbeit Yannick Slowig 1.

Ähnliche Präsentationen


Präsentation zum Thema: "Konzeption einer Webanwendung zum Hoch- und Herunterladen von Dateien Vortrag zur Seminararbeit Yannick Slowig 1."—  Präsentation transkript:

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 ?


Herunterladen ppt "Konzeption einer Webanwendung zum Hoch- und Herunterladen von Dateien Vortrag zur Seminararbeit Yannick Slowig 1."

Ähnliche Präsentationen


Google-Anzeigen