FTP-App für iOS

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • FTP-App für iOS

    Neu

    Hallo zusammen!

    Ich habe mit Swift 5 eine iOS-App entwickelt, mit der man Daten verwalten kann. Dazu:
    1. loggt sie sich auf einem FTP-Server ein (mit Benutzername/PW)
    2. durchsucht einen bestimmten Ordner nach einer bestimmten Datei
    3. lädt diese Datei herunter
    4. löscht diese Datei vom FTP-Server
    5. und nach dem Eingeben von Daten wird die bearbeitete Datei wieder hochgeladen.
    Dafür habe ich die File(s)Provider Library benutzt. Leider ist sie recht buggy und auch wenn ich sie zum Laufen gebracht habe, besteht ein großes Problem:

    Ich habe die App bisher auf einem FTP-Server im selben Netzwerk (von jemand anderem eingerichtet) und mit zwei anderen Test-Servern (speedtest.tele2.net/ & test.rebex.net/, siehe hier) getestet und dort funktioniert alles ohne Probleme. Sie kann sich auch auf dem Server meiner Klienten einloggen, aber sie findet dort keine Dateien! Mit FileZilla oder der Konsole unter Windows werden die Dateien und Ordner ohne Probleme angezeigt.
    Ich habe keine Ahnung, was das Problem ist und meine Klienten können auch nichts an ihrem FTP-Server ändern, weil er auch von anderen Leuten benutzt wird.

    Meine Frage ist daher: Gibt es noch einen anderen Weg, wie ich FTP unter iOS in meiner App verwenden kann?

    Ich habe dazu schon diesen Post hier im Forum von vor über 2 Jahren gefunden, leider kam der OP darin auch zu keinem Ergebnis und alles andere, das Google ausspuckt, wird im Normalfall nicht mehr unterstützt. :/
  • Mac & i Test Abo
  • Neu

    Danke für deine Antwort!
    Ja, ich verwende tatsächlich "FTPFileProvider.Mode.passive".

    Habe es stattdessen mit "extendedPassive" versucht, was keinen Unterschied gemacht hat. "active" liefert dafür nur eine Menge Fehlermeldungen (sind bekannt, aber leider gibt es keinen Support mehr). Nach diesen Errors macht die App zwar scheinbar weiter, aber es werden auch wieder keine Dateien gefunden.
  • Neu

    Mal ganz ehrlich.

    Hast Du Dir mal etwas Gedanken über die Sicherheit Deiner App gemacht? FTP ist das allerletzte Mittel das man benutzt um Daten von einem Device zum nächsten zu bekommen. Du must immer die Anmeldedaten in der App halten. Jeder kann sich diese mal eben aus deiner app auslesen und dann deinen FTP Server löschen wenn er lustig ist. Das Ganze ist eine tickende Zeitbombe. Ich kann mir einfach nicht vorstellen, dass deine Klienten das lustig finden würden. Wahrscheinlich wissen die aber gar nicht was du da treibst oder?

    Claus
    2 Stunden Try & Error erspart 10 Minuten Handbuchlesen.

    Pre-Kaffee-Posts sind mit Vorsicht zu geniessen :)
  • Neu

    Mal ganz ehrlich: Jede Software ist eine tickende Zeitbombe ;) — aber was wäre denn die Alternative für Transfer von Dateien? Vor allem, wenn der Server schon auf dieses Protokoll festgelegt ist?
    Zumindest ftps würde ich schon verlangen, aber das setze ich mal als gegeben voraus; ansonsten wäre mir neu, dass man die Zugangsdaten zwangsweise hartcodiert in der App hinterlegen muss, und in der Frage finde ich auch nichts von dieser Vorraussetzung.

    Eine fertige ftp-Lib habe ich auch nicht parat, aber ich würde zumindest mal nachhaken, ob tatsächlich nicht verschlüsselt wird (Stichwort sftp und ftps).
  • Neu

    Weitere Alternative wär, wenn man sich zuerst über VPN in das Netz einloggen muss und dann greift man auf den FTP Server zu.

    Bin mir nicht sicher, aber reines FTP verschlüsselt gar nix. Weder Benutzername/Passwort noch die Datenübertragung. Da sollte man sich echt eine Alternative überlegen. Vor allem wenn die Implementierung fehlerhaft ist bzw. die FTP Library Bugs hat, mit denen man sich nur rumärgern muss.

    @Sim2019 Da musst Du wohl selber bissl deine verwendete Library debugged und gucken wo das Problem liegt. Wenn Du die Stelle gefunden hast, dann würde ich mir mal andere Implementierung anschauen bzw. einfach bissl googeln z.B. example-code.com/swift/ftp.asp
  • Neu

    Thallius schrieb:

    Mal ganz ehrlich.

    Hast Du Dir mal etwas Gedanken über die Sicherheit Deiner App gemacht? FTP ist das allerletzte Mittel das man benutzt um Daten von einem Device zum nächsten zu bekommen. Du must immer die Anmeldedaten in der App halten. Jeder kann sich diese mal eben aus deiner app auslesen und dann deinen FTP Server löschen wenn er lustig ist. Das Ganze ist eine tickende Zeitbombe. Ich kann mir einfach nicht vorstellen, dass deine Klienten das lustig finden würden. Wahrscheinlich wissen die aber gar nicht was du da treibst oder?

    Claus
    Die Login-Daten werden regelmäßig geändert, nur verschlüsselt übertragen und ohne den richtigen Benutzernamen kommt man natürlich sowieso nicht hinein. Mit den Daten, die übertragen werden, kann zum Glück niemand etwas anfangen, also alleine deswegen wäre es eigentlich egal.
    Ich weiß, es ist nicht optimal, aber FTP wird nun mal am Server benutzt (mit dem ich übrigens nichts zu tun habe) und zwar nicht nur von meiner App, sondern auch von bereits bestehenden.

    t-no schrieb:

    Mal ganz ehrlich: Jede Software ist eine tickende Zeitbombe ;) — aber was wäre denn die Alternative für Transfer von Dateien? Vor allem, wenn der Server schon auf dieses Protokoll festgelegt ist?
    Zumindest ftps würde ich schon verlangen, aber das setze ich mal als gegeben voraus; ansonsten wäre mir neu, dass man die Zugangsdaten zwangsweise hartcodiert in der App hinterlegen muss, und in der Frage finde ich auch nichts von dieser Vorraussetzung.

    Eine fertige ftp-Lib habe ich auch nicht parat, aber ich würde zumindest mal nachhaken, ob tatsächlich nicht verschlüsselt wird (Stichwort sftp und ftps).
    Genau das ist da Problem - es gibt keine wirkliche Alternative.

    manoh schrieb:

    Weitere Alternative wär, wenn man sich zuerst über VPN in das Netz einloggen muss und dann greift man auf den FTP Server zu.

    Bin mir nicht sicher, aber reines FTP verschlüsselt gar nix. Weder Benutzername/Passwort noch die Datenübertragung. Da sollte man sich echt eine Alternative überlegen. Vor allem wenn die Implementierung fehlerhaft ist bzw. die FTP Library Bugs hat, mit denen man sich nur rumärgern muss.

    @Sim2019 Da musst Du wohl selber bissl deine verwendete Library debugged und gucken wo das Problem liegt. Wenn Du die Stelle gefunden hast, dann würde ich mir mal andere Implementierung anschauen bzw. einfach bissl googeln z.B. example-code.com/swift/ftp.asp
    Eine Alternative gibt es nicht.
    Das bisher größte Problem konnte über Umwege "beheben" (weiß noch immer nicht, wodurch es genau verursacht wird/wurde), aber ich kenne mich einfach nicht genug mit der Materie aus, um noch dazufremden Code zu debuggen - deswegen muss ich eine Library benutzen, anstatt alles von Anfang an selbst zu programmieren.
    Mit der Chilkat Library habe ich es schon versucht, konnte sie aber bisher noch nicht zum Laufen bringen.

    Chris schrieb:

    Ich brauch auch FTP, Sicherheit hin oder her.
    Allerdings verwende ich libCurl. curl.haxx.se/libcurl/
    Die ist sogar schon auf dem Rechner, leider ohne SFTP.


    Chris
    Danke für den Link. Leider handelt es sich dabei um eine C-Library, ich benutze allerdings Swift und das Einbinden der von manoh geposteten hat schon nicht funktioniert. :/
  • Neu

    FTP ist heutzutage recht ungeeignet. Ist wie Adobe Flash. SFTP von SSH ist deutlich besser und hat außer der Buchstabenfolge nichts mit FTP zu tun:
    spacehost.de/ftp-ftps-sftp-der-unterschied/

    FTP hat noch das Problem, dass je nach Einstellungen nur die Steuerbefehle verschlüsselt sind, die Dateien aber unverschlüsselt übertragen werden:
    serv-u.com/solutions/what-is-file-transfer-protocol-secure

    Sim2019 schrieb:

    Die Login-Daten werden regelmäßig geändert,
    Bringt nicht viel Sicherheit, wenn eine Passwortattacke endlos probieren kann. Ist der Server vor so etwas abgesichert?

    t-no schrieb:

    Mal ganz ehrlich: Jede Software ist eine tickende Zeitbombe
    Natürlich ist keine Software sicher, aber die Aussage klingt wie aus der Jugendzeit, als man sich die "Braut" schön gesoffen hat, die man sich angelte...

    OpenSSH hatte bisher keine einzige bekannte Lücke, wer immer die aktuelle Version laufen lies. Die machen die Sache schon ganz gut.
  • Neu

    Wie gesagt, der Server ist so wie er ist, das benutzte Protokoll kann von mir nicht geändert werden und wird wegen mir auch nicht geändert. Andere Apps benutzen den Server auch, es muss also funktionieren, nur wie, das ist die Frage (kann die anderen Entwickler leider nicht fragen, was sie benutzen).
    Ich kann euch nur die Infos geben, die ich habe und was die Absicherung des Servers angeht, ist das nicht viel.