File Upload/Download über Xampp

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von ItsCrys3s.

    File Upload/Download über Xampp

    Hey ho,

    bin neu hier und hab mich ein wenig umgeschaut um mein problem zu beheben.
    Hab aber so nix gefunden, scheint alles an sich richtig zu sein nur funktioniert mein File Upload nicht.
    Was ich mache ist ein Programm um mir Dateien von einem anderen pc zuhause zu laden oder hochzuladen.
    Download geht nur Upload nicht.

    Hoffe mir kann dabei jemand helfen, schon mal danke an jeden Leser oder Helfer

    VB.NET-Quellcode

    1. Imports System.ComponentModel
    2. Imports System.Net
    3. Public Class Main
    4. Private Sub Connections_List_TextChanged(sender As Object, e As EventArgs) Handles Connections_List.TextChanged
    5. If Connections_List.Text = "Julien Pc" Then
    6. IP_Url.Text = "IP CENSOR"
    7. Else
    8. If Connections_List.Text = "Julien Labtop" Then
    9. IP_Url.Text = "IP CENSOR"
    10. Else
    11. If Connections_List.Text = "Chris Pc" Then
    12. IP_Url.Text = "IP CENSOR"
    13. Else
    14. End If
    15. End If
    16. End If
    17. If My.Computer.Network.Ping(IP_Url.Text) = False Then
    18. Connection_State.Text = "Connection not aviable."
    19. Connection_State.ForeColor = Color.Red
    20. Start_Button.Enabled = False
    21. Else
    22. Connection_State.Text = "Connection is aviable."
    23. Connection_State.ForeColor = Color.LimeGreen
    24. Start_Button.Enabled = True
    25. End If
    26. End Sub
    27. Private Sub Start_Button_Click(sender As Object, e As EventArgs) Handles Start_Button.Click
    28. Dim uri As Uri
    29. 'Upload Abschnitt
    30. If Upload_Check.Checked = True Then
    31. uri = New Uri("Http://" & IP_Url.Text & "/Files/Uploads/" & Filename.Text)
    32. Try
    33. If My.Computer.FileSystem.FileExists(Application.StartupPath & "/Uploads/" & Filename.Text) = True Then
    34. Try
    35. WebControl.UploadFileAsync(uri, Application.StartupPath & "/Uploads/" & Filename.Text)
    36. Start_Button.Enabled = False
    37. Catch ex As Exception
    38. RichTextBox1.Text = RichTextBox1.Text & "> File already exists." & vbNewLine
    39. GoTo 1
    40. End Try
    41. Else
    42. RichTextBox1.Text = RichTextBox1.Text & "> File not exists." & vbNewLine
    43. GoTo 1
    44. End If
    45. Catch ex As Exception
    46. End Try
    47. Else
    48. 'Download Abschnitt
    49. uri = New Uri("Http://" & IP_Url.Text & "/Files/" & Filename.Text)
    50. Try
    51. If My.Computer.FileSystem.FileExists(Application.StartupPath & "/Downloads/" & Filename.Text) Then
    52. RichTextBox1.Text = RichTextBox1.Text & "> File already exists." & vbNewLine
    53. GoTo 1
    54. Else
    55. WebControl.DownloadFileAsync(uri, Application.StartupPath & "/Downloads/" & Filename.Text)
    56. Start_Button.Enabled = False
    57. End If
    58. Catch ex As Exception
    59. End Try
    60. End If
    61. 1:
    62. End Sub
    63. Private Sub WebControl_DownloadProgressChanged(ByVal sender As Object, ByVal e As System.Net.DownloadProgressChangedEventArgs) Handles WebControl.DownloadProgressChanged
    64. Progress_Val.Width = Progress_Max.Width / 100 * e.ProgressPercentage
    65. ByteText.Text = e.BytesReceived / 1000 & " kb / " & e.TotalBytesToReceive / 1000 & " kb"
    66. End Sub
    67. Private Sub WebControl_DownloadFileCompleted(sender As Object, e As AsyncCompletedEventArgs) Handles WebControl.DownloadFileCompleted
    68. Progress_Val.Width = 0
    69. Start_Button.Enabled = True
    70. RichTextBox1.Text = RichTextBox1.Text & "> File Download complete." & vbNewLine
    71. WebControl.Dispose()
    72. End Sub
    73. Private Sub WebControl_UploadProgressChanged(sender As Object, e As UploadProgressChangedEventArgs) Handles WebControl.UploadProgressChanged
    74. Progress_Val.Width = Progress_Max.Width / 100 * e.ProgressPercentage
    75. ByteText.Text = e.BytesReceived / 1000 & " kb / " & e.TotalBytesToReceive / 1000 & " kb"
    76. End Sub
    77. Private Sub WebControl_UploadFileCompleted(sender As Object, e As AsyncCompletedEventArgs) Handles WebControl.UploadFileCompleted
    78. Progress_Val.Width = 0
    79. Start_Button.Enabled = True
    80. RichTextBox1.Text = RichTextBox1.Text & "> File Upload complete." & vbNewLine
    81. WebControl.Dispose()
    82. End Sub
    83. Private Sub Delete_Button_Click(sender As Object, e As EventArgs) Handles Delete_Button.Click
    84. Try
    85. My.Computer.FileSystem.DeleteFile(Application.StartupPath & "/Downloads/" & Filename.Text)
    86. RichTextBox1.Text = RichTextBox1.Text & "> File deleted." & vbNewLine
    87. Catch ex As Exception
    88. RichTextBox1.Text = RichTextBox1.Text & "> File not exists." & vbNewLine
    89. End Try
    90. End Sub
    91. End Class
    Wie nimmst du die Datei denn Serverseitig an? Einfach nur so Uploaden is nich, auf der Serverseite muss ja damit etwas gemacht werden.

    Ich sehe beim Upload auch nirgends das Zugangsdaten genutzt werden. Soll jeder deinen PC vollmüllen dürfen?

    Ich hoffe du hast in Xampp auch alles passend konfiguriert, standart ist AFAIK auf Entwicklung eingestellt, nicht auf produktiven Einsatz, was Sicherheitsrisiken mit sich bringt.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()

    ItsCrys3s schrieb:

    Nutze jetzt anstatt http > ftp.


    Besser nicht. :P
    mywiki.wooledge.org/FtpMustDie

    Besser ein PHP-Script zur entgegenname der Datei nutzen, schön abgesichert mit Usernamen und Passwort. Dazu ein SSL-Zertifikat installieren, damit alles verschlüsselt ist.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.
    Drauf achten muss man immer. Unterstützt der FTP-Server in Xampp denn FTP over TLS, bzw. hast du das eingerichtet? Wenn nicht ist der ganze Verkehr unverschlüsselt, wer da mitliest hat deine FTP-Zugangsdaten, jetzt mal dir aus was passieren kann, da braucht man dein Programm nicht mal. Bedenke auch, das jedes Programm das läuft eine Angriffsfläche bieten kann, ganz besonders wenn da ein offener Port ist auf dem gelauchst wird.

    FTP weiss ich nicht viel drüber, kann man da die max Anmeldeversuche pro Intervall einstellen? Wenn nicht kann man auch via BruteForce versuchen Zugriff auf deinem FTP-Server zu bekommen. Mit einem PHP-Script lässt sich sowas leicht realisieren. Eine nicht begrenzung von Anmeldeversuchen in einem betimmten Intervall, ist leider etwas was sehr viele vernachlässigen. Macht schon einen riesen unterschied ob du 1000000 versuche pro Minute hast oder nur 10 in einer Stunde.
    Cloud Computer? Nein Danke! Das ist nur ein weiterer Schritt zur totalen Überwachung.

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „NoIde“ ()