kostenloser Webspace werbefrei: lima-city


Login in Visual Basic

lima-cityForumProgrammiersprachenBasic

  1. Autor dieses Themas

    milorix

    milorix hat kostenlosen Webspace.

    Hallo Leute,

    Ich möchte dass die user vor dem Programmstart ein Passwort eingeben müssen und ich die Passwörter
    in einem Textdokument auf meinem Server speichern kann.
    Das heißt, wenn ich ein Passwort aus dem Dokument lösche kann der user das Programm nicht mehr starten.

    Hat jemand einen Quelltext für mich?

    Bitte um Antwort
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. germanplayking

    germanplayking hat kostenlosen Webspace.

    Du müsstest dann mit Visual Basic die Datei runterladen und prüfen ob das Passwort drinne ist oder du versuchst es mit PHP, also dass das Passwort an den Server gesendet wird und dieser dann prüft, ob es gültig ist.
    Ob das so möglich ist, weiss ich nicht.
  4. Autor dieses Themas

    milorix

    milorix hat kostenlosen Webspace.

    Ich würde es gerne Probieren, aber da ich noch Anfänger bin habe ich keine Ahnung wie ich dass anstellen soll
    Daher bin ich ja auf der Such nach einem fertigen Code.

    Beitrag zuletzt geändert: 3.11.2012 13:33:42 von milorix
  5. germanplayking

    germanplayking hat kostenlosen Webspace.

    Okay, ich hab mal ein bisschen in Visual Basic rumprobiert und hab dieses Ergebnis für dich rausbekommen:
    Public Class DeineForm
    
        Private Sub deinbutton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles deinbutton.Click
            If passworttextbox.Text = True Then
                Dim webchecker As New WebBrowser
                webchecker.Navigate("http://urlzurphpdatei/?pw=" & passworttextbox.Text)
                Dim webresult
                webresult = webchecker.DocumentText
                If webresult = "true" Then
                            Hier kommt rein, was gemacht werden soll, wenn das passwort richtig ist.
                else
                           hier kommt rein, was gemacht werden soll, wenn das passwort falsch ist.
                End If
    
    
    
            End If
    
    
        End Sub
    End Class


    So, und jetzt der Code des PHP-Scripts;
    <?php
    
    if (isset($_GET['pw']) {
    $pw = $_GET['pw'];
    
    if ($pw == "DasPasswort") or ($pw == "EinAnderesPasswort") {
    
    echo "true";
    }
    }
    ?>


    Den Code hab ich noch nicht getestet, aber es sollte funktionieren.
  6. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Beim Client kannst du (unter der Voraussetzung, dass du VB.NET meinst) mit diesem Code (hier gefunden) Text vom Server laden:
    Dim webClient As New System.Net.WebClient
    Dim result As String = webClient.DownloadString("http://api.hostip.info/?ip=68.180.206.184")
    Danach hast du in
    result
    den Inhalt der Seite
    http://api.hostip.info/?ip=68.180.206.184


    Serverseitig solltest du keine Textdatei sondern eine Datenbank einsetzen.

    germanplayking schrieb:
    Du müsstest dann mit Visual Basic die Datei runterladen und prüfen ob das Passwort drinne ist oder du versuchst es mit PHP, also dass das Passwort an den Server gesendet wird und dieser dann prüft, ob es gültig ist.
    Möglich ist vieles, aber die Datei mit den Passwörtern darf niemals von einem Client eingesehen werden können!!!

    Besser wäre es so: in einer Datenbank liegt jeweils eine Zeile mit Benutzername und Passwort. Dein VB-Programm sendet Benutzername & Passwort an ein PHP-Script, das schaut, ob eine entsprechende Zeile in der Tabelle existiert und antwortet mit "Ja, vorhanden" oder "Nein, nicht vorhanden". Das Programm weiß somit, ob der Benutzername und das Passwort stimmen.

    // EDIT: etwas ungetesteter Programmcode, diesmal nur mit Passwort (kein Benutzername):

    vb:
    Dim webClient As New System.Net.WebClient
    Dim result As String = webClient.DownloadString("http://example.com/check.php?p=" & passwort)
    If result = "true" Ther
        ' Passwort ist richtig
    End If
    php:
    <?php
    if(!isset($_GET['p'])) die('false');
    $db = mysql_connect('mysql.lima-city.de', 'USER252344', 'Passwort') or die('false');
    mysql_select_db('db_252344_1') or die('false');
    $pw = sha1($_GET['p']);
    $query = "SELECT COUNT(*) FROM `passwords` WHERE `password` = '$pw'";
    $count = mysql_result(mysql_query($query), 1);
    echo(($count == 1) ? 'true' : 'false');


    Beitrag zuletzt geändert: 3.11.2012 13:58:04 von hackyourlife
  7. germanplayking

    germanplayking hat kostenlosen Webspace.

    So, hab den Code einbisschen abgeändert und bei mir funktioniert er:
    Dim webchecker As New WebBrowser
            webchecker.Navigate("http://germanplayking.lima-city.de/vb/pw.php?pw=" & TextBox1.Text)
            Dim webresult
            webresult = webchecker.DocumentText
            If webresult = "true" Then
                TextBox1.Text = "PAsswort richtig"
            Else
    
    
            End If

    PHP Code:
    <?php
    
    
    
    $pw = $_GET['pw'] ;
    
    if ($pw == "passwort") {
    echo "true";
    }
    
    
    ?>


    Den PHP Code kann man natürlich noch abändern und das Passwort von einer Datenbank abfragen, aber das war ja erstmal nur ein Test.
    So funktioniert alles und wenn ich dann in die Textbox passwort eingebe, dann steht in der Textbox auch Passwort richtig.

    //Edit: Mit dem Code, den hackyourlife geschrieben hatte, kann man dann auch einen Dynamischen inhalt in seinen anwendungen erzeugen.

    Beitrag zuletzt geändert: 3.11.2012 13:56:56 von germanplayking
  8. Und wie wird verhindert, dass der User sich über irgendein zwischengeschaltetes Programm einfach selbst die Antwort "Passt, reinlassen..." schickt? Würde mich generell mal interessieren, also lieber von der Logik erklären. Meiner Meinung nach geht das nicht wirklich sicher, oder?
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    tobiworlds schrieb:
    Und wie wird verhindert, dass der User sich über irgendein zwischengeschaltetes Programm einfach selbst die Antwort "Passt, reinlassen..." schickt? Würde mich generell mal interessieren, also lieber von der Logik erklären. Meiner Meinung nach geht das nicht wirklich sicher, oder?
    Wenn du dir so die meisten Login-Sachen anschaust wirst du feststellen, dass kaum was gegen diesen Angriff sicher ist.

    Sicher wäre es erst dann, wenn über einen sicheren Kanal kommuniziert wird, den kein angreifer öffnen kann. Beispiel: RSA-gesichert, wobei der Key fix im Client ist, und zum "vorspielen" bräuchte man den geheimen Server-Key…

    Wenn du noch weiter denkst: was passiert, wenn im Programm gepfuscht wird? Dann kannst du jeden Schutz knacken. Du hast sicher schon mal von Cracks gehört… dort wird die Lizenzprüfung einfach ausgeschaltet. Gleiches könntest du hier mit dem Passwortschutz machen…

    Beitrag zuletzt geändert: 3.11.2012 14:02:02 von hackyourlife
  10. Deswegen dachte ich ja...
    Was mir noch eingefallen ist, was im ersten Moment sicher erscheint, aber Unmengen an Zeit und Bandbreite benötigt, ist, den Quelltext erst vom Server zu laden, wenn der Benutzer sich authentifiziert hat. Nur kann man den gespeicherten Code dann natürlich immer noch kopieren. Und ja, Cracks sind mir durchaus bekannt. Gibt es noch jemanden, der so viel mit Computern zu tun hat und deshalb hier im Forum ist, aber noch nichts von den illegalen/nicht ganz legalen Seiten mitbekommen hat? Ich kann es mir kaum vorstellen...
    Aber vielen Dank für Deine Erklärung :)
  11. Autor dieses Themas

    milorix

    milorix hat kostenlosen Webspace.

    wie muss das .txt dokument aussehen bei germanplaykings code aussehen.

    Beitrag zuletzt geändert: 3.11.2012 14:22:45 von milorix
  12. germanplayking

    germanplayking hat kostenlosen Webspace.

    Du brauchst hier kein .txt Dokument. Die Passwörter sind in der PHP Datei gespeichert, so ist es sicherer und sie können nicht im Browser angesehen werden, da die Datei Serverseitig ist und nur HTML Code ausgibt. Wenn du eine .txt Datei aufm Webserver hättest, dann kann sie ja einfach jeder durch aufrufen der URL öffnen und einsehen.
    Naja aber noch sicherer wäre es ja natürlich auch mit ner Datenbank, in der die Passwörter gespeichert werden.
    Aber sicher ist das ganze trotzdem nicht. Ich würde es persönlich nicht verwenden, da es viel zu unsicher für mich ist. Naja aber ist ja deine Sache.
  13. Autor dieses Themas

    milorix

    milorix hat kostenlosen Webspace.

    ich habe das mit der PHP datei ausprobiert. Jedoch funktioniert das bei mir nicht. Er öffnet nie die Form2
  14. germanplayking

    germanplayking hat kostenlosen Webspace.

    Dann haste wohl einen Feher in deinem Code.
    Für was willste das überhaupt verwenden ?
    Also was für eine Art von Programm soll mit einem Passwort geschützt werden ?
  15. Autor dieses Themas

    milorix

    milorix hat kostenlosen Webspace.

    Ich möchte dass für alle meine Testprogramme verwenden.

    Der PHP code ist doch der von dir und ich muss nur das Passwort eintragen oder?

    Beitrag zuletzt geändert: 3.11.2012 14:55:57 von milorix
  16. germanplayking

    germanplayking hat kostenlosen Webspace.

    Jaa, nur das Passwort und dann musst du
    If webresult = "true" Then
    danach den Code eingeben, um Form2 zu öffnen.

  17. Hallo,

    Eine weitere Möglichkeit wäre ein Script zu erstellen das ein Passwort mit den Werten in einer MySQL-Datenbank abgleicht. Stimmen die Werte überein wird man auf eine entsprechende URL weitergeleitet. Jetzt muss man Visual Basic nur noch sagen dass wenn auf dieser URL geleitet wird das man das Programm dann verwenden kann. Falls du Interesse dran hast könnte ich dir das Script und eine Visual Basic Vorlage geben.

    MfG
    SimpleVideo
  18. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!