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

Slides:



Advertisements
Ähnliche Präsentationen
Be.as WEB Technologie
Advertisements

Partner Homepage Erste Schritte
Einer der Dienste im Internet
Stud.ip - Was ist das?! Kleiner Leitfaden für die ersten Schritte im System.
Internetstruktur Das Internet besteht aus vielen Computern, die weltweit untereinander vernetzt sind.
Information und Technik Nordrhein-Westfalen Single Sign On mit CAS Düsseldorf, Single Sign On für Webanwendungen am Beispiel von CAS.
Spezielle Aspekte der Anbindung von Datenbanken im Web.
Technik Gestaltung Navigation Daten. Übersicht Client Webbrowser InternetServer.
By Monika Krolak & Christian Meschke
Sicher durchs Internet
Installationsanleitung 1.02 Hausverwaltung.
Sicherheit von mobilem Code Hauptseminar: Sicherheit in vernetzten Systemen Sicherheit von mobilem Code Oliver Grassow.
Einführung MySQL mit PHP
Smartphones im Kanzleinetz Vergleich der technischen Umsetzung COLLEGA - TAG Freitag, 27. November 2009.
Newsletter Wenn Sie diese Präsentation (Newsletter.html) im Internet-Explorer ablaufen lassen wollen, so klicken Sie bitte auf das Leinwandsymbol im Explorer.
Reporterdokumente auf dem Server Im Internet-Explorer müssen Sie zum Start der Präsentation ReporterServer.html auf das Leinwandsymbol unten rechts klicken.
Daten auf den Server Wie bekomme ich die Daten zum ersten Mal auf den Server, wenn ich für meine Anwender die Vereinsdaten zum gemeinsamen Arbeiten bereitstellen.
Wizards & Builders GmbH Schulung Visual SourceSafe für Visual FoxPro Norbert Abb W&B.
FH-Hof HTML - Einführung Richard Göbel. FH-Hof Komponenten des World Wide Webs WWW Browser HyperText Transfer Protocol (HTTP) via Internet WWW Server.
Mobile Gebäudeservicesteuerung Optimierung des Datentransfers im
von Julia Pfander und Katja Holzapfel E 12/2
Outlook_03 - Freigabe von Postfächern für Kollegen
MedCom® Medial Server Verbesserte Leistungsmerkmale
Auftragseingabe im Webshop
Büromaterialbestellung
Formular- und Dokumentenarchivierung
Hyperlinks und Anker Links notieren
Gegenstand EDV Thema: Informative Webseiten
JavaScript.
Präsentation von Sonja Pathe
Grundlagen: Client-Server-Modell
Internet und SMS Internet und SMS Daniel Rickenbacher Jeremy Deuel.
CGI (Common Gateway Interface)
Oliver Spritzendorfer Thomas Fekete
Anhand der Bildergalerie Phoca Gallery v
Copyright © 2007, SAS Institute Inc. All rights reserved. SAS Activity-Based Management Survey Kit (ASK): Benutzerverwaltung & Sicherheit.
Dynamische Webseiten-Generierung
„Erstellen“ anklicken. Für Geräte mit gelben Aufkleber auf „Reparatur eines Gerätes mit Ident-Nummer“ anklicken. Erfahrene Ticket-Ersteller können „Direkterstellung“
„Erstellen“ anklicken. sonstige Reparaturen und Dienstleistungen anklicken.
Client-Server-Modell
Maya Kindler 5c. 1.Voraussetzungen für die Installation 2.Installation 3.Template lade, installieren und anpassen 4.Kategorie und Inhalt 5.Menü.
Formulare in HTML.
Telefonie Geräte und Dienste, die eine direkte Sprachkommunikation ermöglichen. Basisgerät: das Telefon.
W W W - World Wide Web. Das World Wide Web kommt aus dem Englischen und bedeutet ‚Weltweites Netz‘ ist ein über das Internet abrufbares Hypertext-System.
» Ende-Ende Durchsatztest
Dokumente meistern Dokumente anlegen Dokumente speichern
HEX-code für die Farbe weiß: #FFFFFF Änderung von Inhalt & Darstellung Inhalt & Darstellung HTML Javascript CSS.
Die Vereinsverwaltung unter Windows 2000 Anhand der folgenden Präsentation werden Sie mit der Verwaltung des Vereins unter Windows 2000 vertraut gemacht.
Tutorial Schritt 1: Über den Link im VP gelangen Sie auf die Seite
->Prinzip ->Systeme ->Peer – to – Peer
Aloaha Software – Martin Wrocklage 05451/943522) Aloaha Mobile Smartcard Connector (CSP)
Datenbanken im Web 1.
Das World Wide Web Stephan Becker TIT05BGR SS06. Das World Wide Web Übersicht Hypertext & Hypermedia HTML Dokumentenidentifikation Dokumententransport.
Cookies Kekse? Internet Gefahr?.
Internet - Grundbegriffe Unterlagen zum Kurs "Wie erstelle ich eine Homepage?"
Das Internet Ein Netzwerk, das viele Rechner miteinander verbindet
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 s.
Datenaustausch Wenn Sie diese Präsentation im Internet-Explorer ablaufen lassen wollen, so klicken Sie bitte auf das Leinwandsymbol unten rechts. Mit.
Lisa Huber DHBW Mannheim
Hypertext Transfer Protocol Secure (HTTPS) Seit August 1994 Entwickelt von Netscape Dient zur Verschlüsselung und zur Authentifizierung der Kommunikation.
Die elektronische Unfallanzeige: Handlungsanleitung für Anwender Elektronische Unfallanzeige.
Loslegen mit Contrexx: In 10 Schritten zur professionellen Webseite. Juli 2012www.contrexx.com1 Autor: Nicolas Müller.
Temporäre Dateien von Browsern löschen Warum? Browser legen viele temporäre Dateien auf der Festplatte „C“ ab. Temporäre Dateien werden speziell für den.
Netzwerke - Protokolle
Regionale Lehrerfortbildung
General Download Finder
 Präsentation transkript:

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

Inhaltsverzeichnis  Motivation  Was ist eine Webanwendung ?  Anforderungen  Technologien  Konzeption  Sicherheit  Mock Ups  Fazit und Ausblick 2

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

Motivation  Übertragung der Datenbank per FTP-Verbindung  Manuelle Ausführung ohne FTP-Client  Unkomfortabel und zeitaufwendig  Komfortablere Lösung erwünscht 4

Motivation  Lösungen von Drittanbietern haben durch ihren Bekanntheitsgrad ein höheres Angriffsrisiko  Lösung durch eine eigene Webanwendung über das HTTP-Protokoll 5

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

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

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

Anforderungen  Der aktive Up- oder Download soll nicht vom Benutzer abgebrochen werden  Versenden von s an den Servicemitarbeiter bei erfolgreichem Upload eines Kunden  Verwalten der anfallenden Daten 9

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

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 s muss ein Simple Mail Transfer Protocol Server verwendet werden 11

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

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

Wie kann man eine solche Webanwendung mit den vorgestellten Technologien entwickeln ? 14

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

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

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

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

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

Upload Kunde  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

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

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

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

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

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

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

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

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

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

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

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

So könnte eine Webanwendung aussehen, die mit dieser Konzeption entwickelt wurde 32

Mock-Ups 33

Mock-Ups 34

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 Vielen Dank für Ihre Aufmerksamkeit. Fragen ?