[How To]Login und Registrierung in ein Programm einbauen

06/13/2010 17:35 kevios10#16
bei mir fehlt dieses mysql.data bei verweise das ist weg o.O
06/17/2010 18:24 Avarius210#17
@kevios10
Es gibt ein Link im Thread zu einem Setup dafür.

@TE
Es ist nicht so ratsam die Daten verschlüsselt auf den Server zu laden.
Für Leute die die Datenbank verwalten wollen wissen nicht welcher Account nun zu wem gehört.

EDIT: Ich persönlich würde nur das Passwort verschlüsseln
06/18/2010 11:52 iP_fan#18
Ach du meine Güte.
Da kannst du eig. auch gleichd eine Datne komplett offenlegen.
Ich empfehle: Client->PHP->Datenbank
Sehr sicher - wenn auch nicht perfekt. Bei PHP/MySQL muss man natürlich auf MySQL-Injections achten. MfG
11/12/2010 10:52 MarkusxX#19
Alles geklaut ! schreib credits dazu man !
11/12/2010 15:27 Secredo#20
Kennt zufällig jemand noch einen Anbieter, welcher gratis Datenbanken, auf die man auch extern zugreifen kann, anbietet?
Bei db4free dauert es extrem lange bis die Datenbank antwortet.

MfG Secredo
11/16/2010 18:54 MrSimonKeks#21
Quote:
Originally Posted by MarkusxX View Post
Alles geklaut ! schreib credits dazu man !
Das sind die Leute die 2h in Suchmaschinen suchen um herauszufinden ob das Tut c&p ist...
Und selbst wenn es so ist, ist es im Prinziep doch völlig wurst, da es doch nichts zzur Sache tut ob man das selbe jetzt mit eigenen Worten und Bildern etc. beschreib oder ob man einfach copy und paste macht... es ist doch der selbe Lerneffeckt. Das mit den Suchmaschinen gilt auch für andere Leute hier im Forum...
Mfg Simon
09/04/2011 17:30 G11#22
die seite wos die kostenlose db gibt ist down i-welchge anderen altanavien die gut sind also immer on und so ?
09/04/2011 17:40 cooler7878#23
Quote:
Originally Posted by MrSimonKeks View Post
Das sind die Leute die 2h in Suchmaschinen suchen um herauszufinden ob das Tut c&p ist...
Und selbst wenn es so ist, ist es im Prinziep doch völlig wurst, da es doch nichts zzur Sache tut ob man das selbe jetzt mit eigenen Worten und Bildern etc. beschreib oder ob man einfach copy und paste macht... es ist doch der selbe Lerneffeckt. Das mit den Suchmaschinen gilt auch für andere Leute hier im Forum...
Mfg Simon
Also erstens schreibt man Prinzip so und nicht prinziep.
Zweitens ist es nicht egal ob man etwas klaut (copy and paste und
keine Credits geben = klauen ) oder nicht.Man nennt das im Fachjargon Klau geistigen Eigentums und sowas ist kein Kavaliersdelikt !!
10/18/2011 13:39 Ajax1337#24
was mein er mit:

conn.ConnectionString = "server=serverip;" _ 'Hier gibt ihr die Server IP ein
was für eine server ip? wenn ich frragen darf...

mfg Ajax

?
10/24/2011 08:35 Avarius210#25
Du alter Grabschänder!

Da du eine MySQL Datenbank brauchst, brauchst du auch einen MySQL Server.
Diesen kannst du lokal anlegen und dann "localhost" oder "127.0.0.1" angeben oder wie im Tutorial beschrieben eine im Internet anlegen lassen. Dann musst du die IP des Servers angeben.
10/25/2011 19:23 Sruxs#26
MySql login daten ins programm schreiben?
kannste ja gleich denn papst die unterhose klaun :D
04/09/2012 23:10 Junkiez¢#27
Danke Fürs TuT, Hast ein Thanks
04/12/2012 15:48 .HiNT' - Premium#28
Wie hier schon alle anderen sagten, dass es ziemlich gefährlich ist, die MySQL-Daten ins Programm zu schreiben, würde ich diese Methode sein lassen.
Ich meine jetzt auch nicht, dass ich eine bessere kenne, aber das hier ist halt gefährlich, jedes kleine Kind mit einem Windows, dass kein Programm, außer deins hat (natürlich alle Standardprogramme von windows drauf) könnte die Daten kriegen ;)
01/07/2013 12:57 jüdügü#29
conn.ConnectionString = "server=serverip;" xxx.xxx.xxx.xxx_
& "user id=benutzername;" mysql_
& "password=passwort;" PW_
& "database=datenbankname"mysql

End Of Anweisung?! WTF :mad: hat da jemand eine Idee?:confused::confused::confused:
08/15/2014 01:01 Rev 9#30
Sorry wenn ich das Alte mal hoch push aber ich brauche es gerade. Das Programm weißt Fehler auf, es funktioniert nicht. Bei der Registrierung bekommt man garkeine Meldung.
Beim Einloggen ( ohne Daten anzugeben bekommt man die Meldung, dass die Daten nicht stimmen > MySQL verbindung.)
Hier der CODE fürs Einloggen:
Quote:
Imports System.Security.Cryptography
Imports System.Text
Imports MySql.Data.MySqlClient
Module md51

Public Function MD5StringHash(ByVal strString As String) As String
Dim MD5 As New MD5CryptoServiceProvider
Dim Data As Byte()
Dim Result As Byte()
Dim Res As String = ""
Dim Tmp As String = ""

Data = Encoding.ASCII.GetBytes(strString)
Result = MD5.ComputeHash(Data)
For i As Integer = 0 To Result.Length - 1
Tmp = Hex(Result(i))
If Len(Tmp) = 1 Then Tmp = "0" & Tmp
Res += Tmp
Next
Return Res
End Function

End Module


Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim conn As MySqlConnection
conn = New MySqlConnection
conn.ConnectionString = "server=ZENSIERT;" _
& "user id=ZENSIERT;" _
& "password=ZENSIERT;" _
& "database=ZENSIERT"
Try
conn.Open()
Catch myerror As MySqlException
MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
End Try
Dim benutzer As String = MD51StringHash(txt_benutzer.Text)
Dim passwort As String = MD5S1tringHash(txt_passwort.Text)
Dim myAdapter As New MySqlDataAdapter
Dim SQLAbfrage As String = "SELECT * FROM login WHERE Benutzername='" + Replace(benutzer, " ", "") + "' AND Passwort='" & Replace(passwort, " ", "") & "'"
Dim myCommand As New MySqlCommand
myCommand.Connection = conn
myCommand.CommandText = SQLAbfrage
myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
If myData.HasRows Then
MsgBox("Einloggen erfolgreich !")
conn.Close()
conn.Open()

Else
MsgBox("Fehler Code 2 : Falsche Daten")
End If
End Sub
Private Sub Label1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.TextChanged
Label1.Text = "Benutzername:"
End Sub

Private Sub Label2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.TextChanged
Label2.Text = "Passwort:"
End Sub

Private Sub Button1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.TextChanged
Button1.Text = "Anmelden"
End Sub
Private Sub Button2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.TextChanged
Button2.Text = "Registrieren"
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Form2.Show()
End Sub

Private Function MD51StringHash(ByVal p1 As String) As String
Throw New NotImplementedException
End Function

Private Function MD5S1tringHash(ByVal p1 As String) As String
Throw New NotImplementedException
End Function

End Class
INFO: ICH HABE MD5 EXTRA in MD51 unbenannt, weil sonst fehler enstanden sind, weil dieses 2mal vorkam. Einmal Form1 und zweites Mal Form2.

Hier die Registrierung:
Quote:
Imports System.Security.Cryptography
Imports System.Text
Imports MySql.Data.MySqlClient
Module md52

Public Function MD5StringHash(ByVal strString As String) As String
Dim MD5 As New MD5CryptoServiceProvider
Dim Data As Byte()
Dim Result As Byte()
Dim Res As String = ""
Dim Tmp As String = ""

Data = Encoding.ASCII.GetBytes(strString)
Result = MD5.ComputeHash(Data)
For i As Integer = 0 To Result.Length - 1
Tmp = Hex(Result(i))
If Len(Tmp) = 1 Then Tmp = "0" & Tmp
Res += Tmp
Next
Return Res
End Function

End Module

Public Class Form2
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If txt_passwort.Text = txt_passwort_w.Text Then
If txt_email.Text.Contains("@") And txt_email_w.Text.Contains("@") Then
If txt_email.Text = txt_email_w.Text Then
Dim conn As MySqlConnection
conn = New MySqlConnection
conn.ConnectionString = "server=ZENSIERT;" _
& "user id=ZENSIERT;" _
& "password=ZENSIERT;" _
& "database=ZENSIERT"
Try

conn.Open()
Catch myerror As MySqlException
MsgBox("Keine Verbindung zur Datenbank : " & myerror.Message.ToString)
End Try
Dim myAdapter As New MySqlDataAdapter
Dim SQLAbfrage As String = "SELECT * FROM login WHERE Benutzername='" + txt_benutzer.Text + "'" ' Erstmal eine SQL Abfrage die überprüft ob es den Benutzernamen schon gibt
Dim myCommand As New MySqlCommand
myCommand.Connection = conn
myCommand.CommandText = SQLAbfrage

myAdapter.SelectCommand = myCommand
Dim myData As MySqlDataReader
myData = myCommand.ExecuteReader()
If myData.HasRows = 0 Then
conn.Close()
conn.Open()
Dim registerfinal As New MySqlDataAdapter
Dim benutzer As String = MD52StringHash(txt_benutzer.Text)
Dim passwort As String = MD52StringHash(txt_passwort.Text)
myCommand.CommandText = "INSERT INTO benutzer(Benutzername, Passwort, Email)" _
& "VALUES('" & benutzer & "','" & passwort & "','" & txt_email.Text & "')"
myCommand.ExecuteNonQuery()
MsgBox("Der Account mit dem Namen : " & txt_benutzer.Text & " wurde erfolgreich erstellt")
conn.Close()
Else
MsgBox("Dieser Benutzername existiert bereits")
End If
Else
MsgBox("Die eingegebenen Emails stimmen nicht über ein !")
End If
Else
MsgBox("Die eingegebenen E-Mails sind ungültig !")
End If
Else
MsgBox("Die eingegebenen Passwörter stimmen nicht überein")
End If
End Sub
Private Sub Label1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label1.TextChanged
Label1.Text = "Benutzername:"
End Sub
Private Sub Label2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label2.TextChanged
Label2.Text = "Passwort:"
End Sub
Private Sub Label3_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label3.TextChanged
Label3.Text = "Bestätige das Passwort:"
End Sub
Private Sub Label4_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label4.TextChanged
Label4.Text = "E-Mail:"
End Sub
Private Sub Label5_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Label5.TextChanged
Label5.Text = "Bestätige deine E-Mail:"
End Sub
Private Sub Button1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.TextChanged
Button1.Text = "Registrieren"
End Sub
Private Sub Button2_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.TextChanged
Button2.Text = "Abbrechen"
End Sub

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Me.Close()
End Sub

Private Function MD52StringHash(ByVal p1 As String) As String
Throw New NotImplementedException
End Function

End Class
Danke fürs Anschauen!

MFG