Hey
Ich wollte mit euch meinen derzeitigen Code teilen mit welchem ich die Registrierung sowie die Anmeldung von Usern auf meinem Webspace abwickle.
Hier die UserHandler.cs
Wenn ihr Verbesserungsvorschläge habt oder Kritik einfach rein damit
Ich wollte mit euch meinen derzeitigen Code teilen mit welchem ich die Registrierung sowie die Anmeldung von Usern auf meinem Webspace abwickle.
Hier die UserHandler.cs
C#-Quellcode
-
- using System.Windows.Forms;
- using System;
- using System.Linq;
- namespace secureLogin.Klassen
- {
- /**
- * Die UserHandler-Klasse
- * stellt Methoden zur verfügung mit der sich
- * Benutzer Registrieren und Anmelden können
- *
- * @auhtor Johannes aka codey
- * @version 1.0
- */
- class UserHandler
- {
- /** Host auf welchem sich die Login Scripts befinden */
- string host = "http://www.deinhost.com/handler.php?action=";
- /** Random für den token */
- Random tokenGenerator = new Random();
- /** Objektverweis für die Hashklasse anlegen */
- Klassen.HashHandler Hash = new HashHandler();
- Klassen.Nachrichten Nachrichten = new Nachrichten();
- /**
- * Mit dieser Methode können sich
- * Benutzer des Programmes in der
- * Datenbank registrieren
- *
- * @param username Nutzername mit dem sich der Benutzer später anmeldet
- * @param password Passwort mit dem sich der Benutzer später anmeldet
- * @param hwid Hardware-ID welche genutzt wird um die sicherheit des Accounts zu gewährleisten
- */
- public void Registrieren(string username, string password, string hwid)
- {
- WebBrowser wb = new WebBrowser();
- wb.ScriptErrorsSuppressed = false;
- string postData = "username=" + username + "&password=" + password + "&hwid=" + hwid;
- System.Text.Encoding encoding = System.Text.Encoding.UTF8;
- byte[] bytes = encoding.GetBytes(postData);
- wb.Navigate(host + "register&", string.Empty, bytes, "Content-Type: application/x-www-form-urlencoded");
- /** Webbrowser laden lassen bis die Website vollständig geladen wurde */
- while ( wb.ReadyState != WebBrowserReadyState.Complete)
- {
- Application.DoEvents();
- }
- if (wb.DocumentText == "#success_user_registered")
- {
- Nachrichten.MeldungsAusgabe(Nachrichten.Meldungen.ErfolgreichRegistriert);
- }
- else { Nachrichten.MeldungsAusgabe(Nachrichten.Meldungen.FehlerBeimRegistrieren); }
- }
- /**
- * Mit dieser Methode können sich
- * Benutzer des Programmes in der
- * Datenbank anmelden
- *
- * @param username Nutzername mit dem sich der Benutzer anmeldet
- * @param password Passwort mit dem sich der Benutzer anmeldet
- * @param hwid Hardware-ID welche genutzt wird um die sicherheit des Accounts zu gewährleisten
- */
- public void Anmelden(string username, string password, string hwid)
- {
- string token = Token();
- WebBrowser wb = new WebBrowser();
- wb.ScriptErrorsSuppressed = false;
- string postData = "username=" + username + "&password=" + password + "&hwid=" + hwid + "&token=" + token;
- System.Text.Encoding encoding = System.Text.Encoding.UTF8;
- byte[] bytes = encoding.GetBytes(postData);
- wb.Navigate(host + "login&", string.Empty, bytes, "Content-Type: application/x-www-form-urlencoded");
- /** Webbrowser laden lassen bis die Website vollständig geladen wurde */
- while (wb.ReadyState != WebBrowserReadyState.Complete)
- {
- Application.DoEvents();
- }
- if (wb.DocumentText == Hash.CreateMD5(token).ToLower())
- {
- Nachrichten.MeldungsAusgabe(Nachrichten.Meldungen.ErfolgreichAngemeldet);
- }
- else
- {
- Nachrichten.MeldungsAusgabe(Nachrichten.Meldungen.FehlerBeimAnmelden);
- }
- }
- /**
- * Generiert einen Token für den Login
- *
- * @param sender Stellt einen Verweis auf das Objekt, das das Ereignis ausgelöst hat
- * @param e Übergibt ein spezifisches Objekt an das Ereignis, das behandelt wird
- */
- public string Token()
- {
- const string chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- return new string(Enumerable.Repeat(chars, 12)
- .Select(s => s[tokenGenerator.Next(s.Length)]).ToArray());
- }
- }
- }
Wenn ihr Verbesserungsvorschläge habt oder Kritik einfach rein damit