Autor Beitrag
ViennaDevil
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 07.10.10 18:19 
Hallo!

Also für mein aktuelles Projekt (siehe Gemeinschaftsprojekte hier) bin ich gerade dabei eine kleine Update-Funktion (bzw integriert in der gleichen Klasse auch ein Up- Download von Datenbanken) zu schreiben.

Dabei hab ich prinzipiell an die WebClient Klasse gedacht, weil ich gelesen habe das die doch recht gut arbeiten soll.
Der Updater basiert auf diesem Tutorial.

Das Problem vor dem ich jetzt stehe ist, das ich mich für den Zugriff auf meine Daten auf meinem privaten FTP-Server (mit Linux & VSFTPD aufgesetzt), ja eigentlich mit Username und Passwort anmelden muss.
Muss ich da jetzt am FTP einen Bereich erstellen, auf den man ohne User/Passwort zugreifen kann?
Das würde den Server und die Daten ja weit unsicherer machen...
Oder kann ich im Quellcode einfach die entsprechenden Login-Daten mitliefern?

Bitte um Hilfe!

lg
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Do 07.10.10 18:48 
user profile iconViennaDevil hat folgendes geschrieben Zum zitierten Posting springen:
Muss ich da jetzt am FTP einen Bereich erstellen, auf den man ohne User/Passwort zugreifen kann?
Ein Bereich ohne Passwort und Schreibrechte wäre auf jeden Fall das Sinnvollste. Oder willst du etwa, dass der User dein FTP-Passwort aus dem Programm extrahiert?

_________________
>λ=
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 07.10.10 19:23 
Je nach dem, um welche Art von Daten es sich beim Upload handelt, wäre ein serverseitiges Script auch eine gute Möglichkeit. Du schreibst von Datenbank - ist es etwas in der Art: Der Benutzer kann lokal eine Datenbank verwalten und diese auf Wunsch mit anderen Benutzern teilen, indem er sie ins Internet stellt? Dann sollte man nur seine eigenen Daten ändern dürfen, nicht die von anderen Anwendern. Das ist nur mithilfe eines programmierbaren Servers, z.B. mit PHP, möglich.

Prinzipiell gilt: Wenn ein Programm Änderungen auf einem Webserver durchführen kann, kann der Benutzer das auch manuell. Beschränkungen, die die Kundenanwendung einführt, können umgangen werden; einzig Beschränkungen durch den Webserver sind (ziemlich) sicher.
ViennaDevil Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: Do 07.10.10 19:31 
ich hätte halt eher an einen extra user am server ohne schreib rechte gedacht, der ausschließlich vom server downloaden kann.

Wie schaut das aus wenn ich da so einen Bereich am Server ohne Login-Pflicht habe?
Ist das dann nicht eher eine Einladung für Jedermann Daten wie wild auf den Server zu kopieren oder runterzuladen, wenn ja keinerlei Kontrolle mehr besteht, wer in diesen Bereich zugreifen darf?
Will ja nicht, das der Server dann zu nem Bot gekarpert wird und anfängt wie wild Spam zu versenden oder sowas...


user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Oder willst du etwa, dass der User dein FTP-Passwort aus dem Programm extrahiert?

Ist das denn so leicht, das Passwort aus einem Programm zu extrahieren, dessen Sourcecode nicht veröffentlicht wird?


Prinzipiell soll es dabei in erster Linie nicht um Datenbanken gehen, sondern eher die neue .ddls, oder sonstige Datein runterladen bzw alte damit ersetzen.
Das mit den Serverseitigen Scripts für Datenbanken hab ich auch schon beim googeln entdeckt, kenn mich aber leider mit PHP überhaupt nicht aus...
Yogu
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 2598
Erhaltene Danke: 156

Ubuntu 13.04, Win 7
C# (VS 2013)
BeitragVerfasst: Do 07.10.10 20:01 
user profile iconViennaDevil hat folgendes geschrieben Zum zitierten Posting springen:
ich hätte halt eher an einen extra user am server ohne schreib rechte gedacht, der ausschließlich vom server downloaden kann.
user profile iconViennaDevil hat folgendes geschrieben Zum zitierten Posting springen:
Ist das dann nicht eher eine Einladung für Jedermann Daten wie wild auf den Server zu kopieren

Willst du nun nur Herunterladen oder auch hochladen?

Wenn das Konto keine Schreibrechte hat, ist FTP natürlich sehr gut geeignet. Die meisten FTP-Server bieten Möglichkeiten, Viel-Downloader auszubremsen, das dürfte also auch kein Problem sein.

user profile iconViennaDevil hat folgendes geschrieben Zum zitierten Posting springen:
Will ja nicht, das der Server dann zu nem Bot gekarpert wird und anfängt wie wild Spam zu versenden oder sowas...

Das meinte ich mit der Notwendigkeit eines Scripts: Wenn der Benutzer Schreibrechte hat, dann wird das natürlich schnell ausgenützt.

user profile iconViennaDevil hat folgendes geschrieben Zum zitierten Posting springen:
user profile iconKha hat folgendes geschrieben Zum zitierten Posting springen:
Oder willst du etwa, dass der User dein FTP-Passwort aus dem Programm extrahiert?

Ist das denn so leicht, das Passwort aus einem Programm zu extrahieren, dessen Sourcecode nicht veröffentlicht wird?

Du kannst das Passwort natürlich kompliziert aufteilen und verschlüsseln, sodass es wenigstens nicht in seiner Rohform in der Exe-Datei liegt, aber an irgendeinem Punkt muss es zwangsläufig offen im Speicher liegen. Das ist aber noch gar nicht das größte Problem: Man kann schlicht und einfach die Kommunikation zwischen Programm und Server aufzeichnen lassen (Sniffer) und den Anmeldeprozess anschließend manuell wiederholen. Sicherer wird's, wenn du eine Verschlüsselung für FTP benutzt, aber da kenne ich mich nicht gut aus.