Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig.

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Thunderbolt.

    Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig.

    Guten Abend,

    ich wollte eigentlich nur ein simples Tool machen, wo man sich erstmal einloggen muss, bevor man es benutzen kann. Jedoch erhalte ich dann diesen Fehler: Der Remoteserver hat einen Fehler zurückgegeben: (403) Unzulässig.

    Kann mir jemand helfen?

    Quellcode

    1. Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    2. Dim id As String = System.Security.Principal.WindowsIdentity.GetCurrent.User.Value
    3. Dim user As String = TextBox1.Text
    4. Dim pass As String = TextBox2.Text
    5. Dim instance As WebClient = New WebClient
    6. Dim url As String = "https://meinFTP/" & user + "/" + user + "_password.html"
    7. Dim result As String = instance.DownloadString(url)
    8. If pass = result Then
    9. MsgBox("s")
    10. Else
    11. MsgBox("Nope")
    12. End If
    13. End Sub
    Ich kam, sah und vergaß, was ich vorhatte.
    Moin,

    das liegt daran, dass das, was du vor hast unsicher ist. VB.NET hat das erkannt und lässt das daher nicht zu.

    Du hast da zwei Problemstellen im Code: Zeile 6: FTP darf keinesfalls von anderen Personen als dem Betreiber des Accounts genutzt werden. Lesestoff: Sicherheit: Gefahrenquelle Quellcode
    Zeile 9: Passwörter müssen immer gehasht werden und dürfen niemals im Klartext gespeichert werden. Einzige Ausnahme: Passwortmanager, allerdings wird hier mit einem Masterpasswort verschlüsselt. Siehe auch Verschlüsseln und Autentifizieren

    Und nochwas: Böses aus VB6/VB2003 - und die richtigen VB.NET-Alternativen

    PS: Ja, mir ist klar, dass VB.NET nicht "erkennt", wenn man Sicherheitslücken schreibt. So räumen wir diese Sicherheitslücken aber schon am Anfang raus.
    Mit freundlichen Grüßen,
    Thunderbolt
    @Thunderbolt

    das hat nichts mit FTP zu tun. Der obige Code verwendet nicht mal im Geringsten FTP. Dass sein Ansatz nicht gerade der sicherste ist, steht auf einem anderen Blatt.

    @Cozy

    Anscheinend erlaubt dein Server nicht den Zugriff auf diese HTTP-Ressource. Prüfe, ob der Pfad öffentlich zugänglich ist. Es könnte aber auch sein, dass der Server ein paar weitere Header erfordert o.ä. Kannst du denn auf die URL im Browser zugreifen?

    Quadsoft schrieb:

    das hat nichts mit FTP zu tun
    Lies mal die Zeile 6. Als Protokoll ist HTTPS (angegeben), als Hostname meinFTP. Ich habe den Punkt hervorgehoben, dass FTP für die meisten Anwendungen absolut ungeeignet ist, um zukünftige Sicherheitslücken zu vermeiden.
    Mit freundlichen Grüßen,
    Thunderbolt
    @Thunderbolt

    Es hat immer noch nichts mit FTP zu tun. Die HTML-Datei könnte sogar auf dem Server selbst generiert worden sein. Das was du erzählst ist einfach nur falsch; es werden keine Informationen aus einem VB-Programm per FTP übertragen oder ähnliches (was ja viele in ihren sog. "FTP-Chats" machen). Sein Code ist einfach nur reines HTTPS.

    Die Problematik ist eher, dass das Passwort im Klartext ist und die fehlende digitale Signatur.

    Quadsoft schrieb:

    es werden keine Informationen aus einem VB-Programm per FTP übertragen
    Wie ich oben schon schrieb, weiß ich das. Ich habe trotzdem den Punkt hervorgehoben, dass FTP für die meisten Anwendungen absolut ungeeignet ist, um zukünftige Sicherheitslücken zu vermeiden.
    Mit freundlichen Grüßen,
    Thunderbolt