[UPDATE] FTP Client weitere hilfe

  • Moin,

    ich habe gerade so eine Idee, udn zwar würde ich gerne einen FTP Clienten (alá FileZilla) mit AutoIt entwickeln, der jedoch evtl. schon die Verbindungsdaten versteckt hat, sodass ich ihn weitergeben kann und so niemand den FTP username/passwork kennt. Zudem soll er halt ganz bestimmte Ordner und die Dateien anzeigen und evtl. eine berechtigung anzeigen, ob man die Datei downloaden darf [optional].

    Gibt es generell ein Tutorial oder einen Ansatz um einen FTP Clienten zu erstellen ? Mit der Board Suche habe ich leider nix passendes gefunden :S


    Danke und MfG
    Flo

    Einmal editiert, zuletzt von Flo (10. Oktober 2009 um 04:28)

  • Hallo erstmal,

    Zitat

    Mit der Board Suche habe ich leider nix passendes gefunden

    Ja, die Boardsuche ist echt übel, aber schau mal dieses Script könnte dir da weiterhelfen. Oder du suchst "von Hand" per google nur auf https://autoit.de/www.autoit.de.
    Zu deiner Frage, es gibt MASSIG Scripte, die einen FTP-client beinhalten, da wäre es sicher einfacher ein schon geschriebenes Script anzupassen.

    Zitat

    Gibt es generell ein Tutorial oder einen Ansatz um einen FTP Clienten zu erstellen

    In der Hilfe findest du unter dem Stichwort FTP nicht viel, aber in der FTP_EX.au3 UDF sind eigentlich alle Funktionen enthalten.

    ciao
    Andy

  • Ich Danke dir.

    Wird schwer, aber ich versuchs ;)

    MfG
    Flo

    edit://

    Ich hätte mal ne Frage bezüglich des FTp Clients. Ich habe schon einiges hingekriegt, jetzt möchste ich aber gerne in meinem Programm einen Datei-Browser (Explorer) haben, der die Ordner bzw. Dateien auf dem FTP Server anzeigt (in dem verbundenem Dir). Gibt es da ne schicke Lösung ?

    MfG
    Flo

    Einmal editiert, zuletzt von Flo (10. Oktober 2009 um 04:30)

  • hALLO FLO;

    der jedoch evtl. schon die Verbindungsdaten versteckt hat, sodass ich ihn weitergeben kann und so niemand den FTP username/passwork kennt.

    eigene Verbindugsdaten solltest du nie aus der Hand geben und auch nicht in einer EXE hinterlegen,

    mfg (Auto)Bert

  • Ich mache es so, das je nach User bestimmte Rechte vergeben werden. Je mehr Rechte, je mehr ist erlaubt. So können sich User mit dem Namen "Anonym" und dem Passwort "Passwort" einloggen, bekommen aber nur einen bestimmten Ordner zu sehen mit einigen Files zum Download. Diese Anonymen dürfen auch nicht uploaden. So einen "Anonymous"-User kannst du auch in deinem Programm anlegen.
    Aber AutoBert hat vollkommen recht, NIEMALS darfst du deine eigenen Zugangsdaten weitergeben, bzw in einem Programm "verstecken". Wenn dein Server gekarpert und für illegale Transaktionen benutzt wird, geht die Staatsanwaltschaft davon aus, daß das mit deiner Zustimmung passiert!

  • @progandy

    Danke, ich schaus mir mal an.

    Wegen der Sicherheit: Klar, eine exe ist leicht zu cracken, aber wie soll man sonst auf meinen FTP verbinden ? Wird vorerst eh nur für mich selbst oder Freunden sein. Wird nen Art Updater.

    Ich hab gerad noch ne Frage:

    Ich hab jetzt einiges hingebastelt, jetzt möchste ich gerne, dass man auch einen Pfad angeben kann. Also hab ich das mal folgends probiert:

    [autoit]

    $serv = IniRead(@ScriptDir & "\config.ini", "Server", "host", "0") & $pfad

    [/autoit]

    Auch wenn ich das dann z.B. in einer MsGBox ausgebe kommt: ftp.XYZ.AB/public_html/

    /public_html/ ist der Pfad:

    [autoit]

    $pfad = IniRead(@ScriptDir & "\config.ini", "Server", "pfad", "0")

    [/autoit]

    jedoch kommt ein -3 Error beim uploaden...könne daran liegen, dass sich "_FTPConnect($FTP,$serv,$user,$pass,1)" nur verbinden möchte und nicht gleich in ein Pfad gehen will?

    Gibt es eine Möglichkeit einfach den Pfad zu wechseln. Am besten grafisch wie z.B. bei FileZilla oder auch einfach mit Input ?


    Danke und MfG
    Flo

    • Offizieller Beitrag

    Zum Verzeichniswechsel solltest du _FtpSetCurrentDir benutzen.

  • Danke, jedoch geht das bei mir nicht.

    [autoit]


    Case $Button1
    If Not @error Then ConnectFTP()
    Sleep(1000)
    _FtpSetCurrentDir($FTP, "/public_html/")
    $dateiname = InputBox("Einstellung", "Dateiname mit Endung (xyz.dat):", "datei.dat")
    ProgressOn("Upload","Uploading file [Cancel with F8]")
    $x = _FTP_UploadProgress($FTPServer, $file_open , $dateiname , "_UpdateParts")
    ProgressSet(100,"Return: " & $x & @CRLF & "Error: " & @error)
    Sleep(2000)
    ProgressOff()

    [/autoit]

    $FTP ist $FTP = _FTPOpen("AutoIt v3")

    Die Funktion verbindet sich mit dem Server. Das wechseln des Ordners funktioniert dann aber nicht. habs auch versucht mit $FTPServer anstelle von $FTP (also die eigentliche Verbindung) und _FtpSetCurrentDir($FTP, "/public_html/") einer Variable zugewiesen...

    Komm da leider nicht weiter...

    Danke
    Flo