Hallo erstmal an alle Forum Benutzer und Gäste..
Mir ist in mehreren Threads aufgefallen, das Benutzer häufig ein Login System
in ihren Anwendungen "implementieren" möchten.. Ich stelle heute nun
eine Möglichkeit vor, wie ihr ein simples Login System realisieren
könnt, und das ohne, externen Zugriff auf die Mysql Datenbank von einem
Programm..
Was ihr braucht:
-Eine Mysql Datenbank (kriegt ihr bei fast jeden FTP Host dazu..) mit einer Tabelle namens "User"
-Ein leeres PHP Script
-Eine leere Form / neues Projekt
-Einen FTP Account / Webspace
Die Tabelle User muss folgende Einträge enthalten:
passwort varchar 50
VB-Code:
Spoiler anzeigen
PHP-Script:
Spoiler anzeigen
Ich hoffe, es ist alles gut auskommentiert. Bei Unklarheiten fragt bitte..
Ich hoffe auf Kritik, Anmerkungen und/oder Verbesserungsvorschläge
Anbei ein kleines Beispielprojekt von mir + Das PHP Script
Gruß,
Paulmaster
P.s.
Bei entsprechender Interesse werde ich auch ein User Registrierungs Script Tutorial erstellen..
Mir ist in mehreren Threads aufgefallen, das Benutzer häufig ein Login System
in ihren Anwendungen "implementieren" möchten.. Ich stelle heute nun
eine Möglichkeit vor, wie ihr ein simples Login System realisieren
könnt, und das ohne, externen Zugriff auf die Mysql Datenbank von einem
Programm..
Was ihr braucht:
-Eine Mysql Datenbank (kriegt ihr bei fast jeden FTP Host dazu..) mit einer Tabelle namens "User"
-Ein leeres PHP Script
-Eine leere Form / neues Projekt
-Einen FTP Account / Webspace
Die Tabelle User muss folgende Einträge enthalten:
passwort varchar 50
username varchar 50
VB-Code:
VB.NET-Quellcode
- 'Imports Anweisungen
- Imports System.Security.Cryptography
- Imports System.Text
- Public Class Form1
- Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
- 'Deklaration eines neuen WebClienten..
- Dim WebClient As New Net.WebClient
- 'Deklaration eines neuen Strings..
- Dim Passwort As String
- 'Der Text der TextBox2 wird in einen MD5-Hash verwandelt und der Variable "Passwort" zugewiesen..
- Passwort = GetMd5Hash(TextBox2.Text)
- 'Deklaration 2 neuer Strings..
- Dim Quelltext As String
- Dim AbfrageLink As String
- 'Der Link besteht aus folgenden Teilen:
- '-URL der Ziel Domain (Domain.de/login.php)
- '-Passwort (hinter ?pw=)
- '-Username (hinter &user=)
- 'Diese werden hier in der "AbfrageLink Variable zusammen gefügt..
- AbfrageLink = "http://Domain.de/login.php?pw=" & Passwort & "&user=" & TextBox1.Text
- 'Der WebClient lädt den Quelltext der Login.php Seite in die "Quelltext" Variable..
- Quelltext = WebClient.DownloadString(AbfrageLink)
- 'Deklaration 1 neuen String Arrays..
- Dim Temp() As String
- 'Der Quelltext wird nach jedem ; geteilt und der Variable "Temp" zugewiesen..
- Temp = Quelltext.Split(";")
- 'Deklaration 1 neuen Strings..
- Dim Wert As String
- 'Da der Quelltext nicht nur unseren Wert enthält, sondern auch ein paar Java Script Funktionen,
- 'müssen wir die erste Zeile unseres Quelltextes heraustrennen..
- For i As Integer = 0 To 0
- Wert = Temp(i)
- Next
- 'Wenn der Wert "Login True" ist, dann:
- If Wert = "Login True" Then
- 'Einloggvorgang erfolgreich beendet..
- MsgBox("Sie wurden erfolgreich eingeloggt!", MsgBoxStyle.Information, "Erfolgreich!")
- 'anders falls: (Wert = "Login False")
- Else
- 'Einlogg Vorgang fehlgeschlagen (Passwort falsch, Username falsch, User existiert nicht etc.)
- MsgBox("Sie konnten nicht eingeloggt werden, bitte überprüfen sie ihre Login Daten!", MsgBoxStyle.Critical, "Fehler!")
- TextBox1.Text = Nothing
- TextBox2.Text = Nothing
- End If
- End Sub
- 'Text zu MD5 Hash Siehe: http://msdn.microsoft.com/en-us/library/system.security.cryptography.md5.aspx
- Shared Function GetMd5Hash(ByVal input As String) As String
- Using md5Hash As MD5 = MD5.Create()
- Dim data As Byte() = md5Hash.ComputeHash(Encoding.UTF8.GetBytes(input))
- Dim sBuilder As New StringBuilder()
- Dim i As Integer
- For i = 0 To data.Length - 1
- sBuilder.Append(data(i).ToString("x2"))
- Next i
- Return sBuilder.ToString()
- End Using
- End Function
- End Class
PHP-Script:
PHP-Quellcode
- <?
- //Verbindung zur Datenbank wird hergestellt
- $verbindung = mysql_connect("Adresse zur Datenbank", "Username" , "Passwort")
- or die("Verbindung zur Datenbank konnte nicht hergestellt werden");
- //Datenbank wird ausgewählt
- mysql_select_db("Datenbank Name") or die ("Datenbank konnte nicht ausgewählt werden");
- //Die Variablen Passwort und Username werden aus der URL ausgelesen
- $passwort=$_GET["pw"];
- $username=$_GET["user"];
- //In der Tabelle werden alle Einträge ausgewählt (SELECT * FROM User), wo der Username (username) mit dem in der URL vorhandenen Username übereinspricht (LIKE)
- //Das ganze System ist dabei auf einen Eintrag beschränkt (LIMIT 1)
- $abfrage = "SELECT * FROM User WHERE username LIKE '$username' LIMIT 1";
- $ergebnis = mysql_query($abfrage);
- $row = mysql_fetch_object($ergebnis);
- //Wen das Passwort oder der Username in der URL nicht gegeben ist, oder das Passwort nicht mit dem Passwort in der Datenbank übereinstimmt dann:
- if($passwort == "" or $username == "" or $row->passwort !== $passwort)
- {
- //Soll das Script die Meldung Login False ausgeben
- echo "Login False;";
- }
- else
- {
- //Andersfalls gibt das Script die Meldung Login True aus (Login erfolgreich..)
- echo "Login True;";
- }
- ?>
Ich hoffe, es ist alles gut auskommentiert. Bei Unklarheiten fragt bitte..
Ich hoffe auf Kritik, Anmerkungen und/oder Verbesserungsvorschläge
Anbei ein kleines Beispielprojekt von mir + Das PHP Script
Gruß,
Paulmaster
P.s.
Bei entsprechender Interesse werde ich auch ein User Registrierungs Script Tutorial erstellen..
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Paulmaster“ ()