Login in Visual Basic
lima-city → Forum → Programmiersprachen → Basic
antwort
aussehen
benutzername
code
datei
datenbank
dokument
http
info
interessieren
laden
meinung
programm
sache
server
stimmen
system
text
url
verwenden
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
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 -
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. -
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
den Inhalt der Seiteresult
http://api.hostip.info/?ip=68.180.206.184
Serverseitig solltest du keine Textdatei sondern eine Datenbank einsetzen.
germanplayking schrieb:
Möglich ist vieles, aber die Datei mit den Passwörtern darf niemals von einem Client eingesehen werden können!!!
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.
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 -
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 -
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?
-
tobiworlds schrieb:
Wenn du dir so die meisten Login-Sachen anschaust wirst du feststellen, dass kaum was gegen diesen Angriff sicher ist.
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?
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 -
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 :) -
wie muss das .txt dokument aussehen bei germanplaykings code aussehen.
Beitrag zuletzt geändert: 3.11.2012 14:22:45 von milorix -
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.
-
ich habe das mit der PHP datei ausprobiert. Jedoch funktioniert das bei mir nicht. Er öffnet nie die Form2
-
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 ? -
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 -
Jaa, nur das Passwort und dann musst du
danach den Code eingeben, um Form2 zu öffnen.If webresult = "true" Then
-
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 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage