| Autor |
Beitrag |
dan1el
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 07.07.10 08:38
hallo !!!
ich hab jetzt min 2 stunden gegogglet und bin auch keine antwort darauf gestoßen.
wie kann ich es machen das er guckt ob passwort stimmt und username wenn es richtig ist msg kommt mit login koreckt?
mfg
dan1el Moderiert von Christian S.: Topic aus C# - Die Sprache verschoben am Mi 07.07.2010 um 10:13
|
|
Chiller_No.1
      
Beiträge: 62
Erhaltene Danke: 6
Win 7, Win XP, Win Vista
C++, C#, HTML
|
Verfasst: Mi 07.07.10 08:44
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36:
| private void btn_login_Click(object sender, EventArgs e) { Dictionary<string, string> userPasswords = new Dictionary<string, string>(); string[] lines = File.ReadAllLines("userpwd.txt"); string usernameInput = textBoxX1.Text; string passwordInput = textBoxX2.Text;
foreach (string line in lines) { string username = line.Split(';')[0]; string password = line.Split(';')[1];
userPasswords.Add(username, password); }
if (userPasswords.ContainsKey(usernameInput)) { if (userPasswords[usernameInput] == passwordInput) { this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("Falsches Passwort!"); textBoxX2.Text = ""; } } else { MessageBox.Show("Benutzername nicht vergeben!"); textBoxX2.Text = ""; textBoxX1.Text = ""; } } |
Dann bracuhst du noch die Text Datei userpwd.txt! Darin stehen z.b. die Daten Name;Passwort durch das Semicolon weis der Compiler das ein Passwort beginnt  Das dürfte dein Problem ersteinmal lösen
mfg chiller
|
|
dan1el 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 07.07.10 09:05
Danke schonmal
ich habs jetzt so versucht
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69:
| using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms;
namespace Login_check { public partial class Form1 : Form { public Form1() { InitializeComponent(); }
public void button1_Click(System.Object sender, System.EventArgs e) {
webBrowser1.Document.GetElementById("navbar_username").InnerText = textBox1.Text; webBrowser1.Document.GetElementById("navbar_password").InnerText = textBox2.Text; webBrowser1.Document.Forms[0].InvokeMember("submit"); timer1.Enabled = true; } public void Form1_Load(System.Object sender, System.EventArgs e) {
webBrowser1.Navigate("Website"); Application.DoEvents(); } public void WebBrowser1_DocumentCompleted(object sender, System.Windows.Forms.WebBrowserDocumentCompletedEventArgs e) {
button1.Enabled = true; } public void timer1_Tick(System.Object sender, System.EventArgs e) {
string Quelltext = webBrowser1.DocumentText; if (Quelltext.Contains("Weiterleitung")) { timer1.Enabled = false; MessageBox.Show("Login erfolgreich...."); } else { timer1.Enabled = false; MessageBox.Show("Bitte Eingaben überprüfen..."); } } public void LinkLabel1_LinkClicked(System.Object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { System.Diagnostics.Process.Start("Website"); } } } |
nunja nur er macht es nicht wie ich es will ^^
will ja von forum aus das checken lassen
Moderiert von Christian S.: Quote- durch C#-Tags ersetzt
|
|
Chiller_No.1
      
Beiträge: 62
Erhaltene Danke: 6
Win 7, Win XP, Win Vista
C++, C#, HTML
|
Verfasst: Mi 07.07.10 09:14
|
|
dan1el 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 07.07.10 09:49
hmmm ich kriegs nicht hin ^.<
|
|
Chiller_No.1
      
Beiträge: 62
Erhaltene Danke: 6
Win 7, Win XP, Win Vista
C++, C#, HTML
|
Verfasst: Mi 07.07.10 09:55
Welchen Teil kriegst du jetzt genau nicht hin? 
|
|
dan1el 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 07.07.10 09:59
Diesen teil mit der schleife
timer hab ich weg gemacht.
|
|
Chiller_No.1
      
Beiträge: 62
Erhaltene Danke: 6
Win 7, Win XP, Win Vista
C++, C#, HTML
|
Verfasst: Mi 07.07.10 10:07
C#-Quelltext 1: 2:
| Dictionary<string, string> userPasswords = new Dictionary<string, string>(); string[] lines = File.ReadAllLines("userpwd.txt"); |
So hier liest er jede Zeile in der txt Datei un schreibt sie einzeln in den string ein. das sieht dann z.b. so aus
string[0] wäre dann Name1;Passwort1
string[1] wäre dann Name2;Passwort2 undsoweiter...
Um dann NUR den Benuternamen oder NUR das Passwort zu checken ist die Foreach schleife da. Der Benutzername und das Passwort sind dabei durch ein Semicolon getrennt.
C#-Quelltext 1: 2: 3: 4: 5: 6:
| foreach (string line in lines) { string username = line.Split(';')[0]; string password = line.Split(';')[1]; userPasswords.Add(username, password); } |
Hat er dies getan schreibt er jeden Benutzernamen und jedes Passwort einzeln in die vorher angelegte dictionary. Auf diese kann ohne Probleme zugegriffen werden da es ja variablen sind.
Was er dann nurnoch machen muss ist die Prüfung ob die Eingabe mit einem Eintrag in der dictionary übereinstimmt!
C#-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
| if (userPasswords.ContainsKey(usernameInput)) { if (userPasswords[usernameInput] == passwordInput) { this.DialogResult = DialogResult.OK; this.Close(); } else { MessageBox.Show("Falsches Passwort!"); textBoxX2.Text = ""; } } else { MessageBox.Show("Benutzername nicht vergeben!"); textBoxX2.Text = ""; textBoxX1.Text = ""; } } |
mfg Chiller 
|
|
dan1el 
Hält's aus hier
Beiträge: 7
|
Verfasst: Mi 07.07.10 10:18
hmmmm sry wir haben beide von was anderem geredet.
also ich habe so einer art spiel.
und bevor man das spielen kann soll er nickname + pw checken lassen.
aber das alles aus ein vbulletin forum.
deswegen frag ich ja ^^
und andere user sollen ja das pw nicht wissen!!
|
|
Chiller_No.1
      
Beiträge: 62
Erhaltene Danke: 6
Win 7, Win XP, Win Vista
C++, C#, HTML
|
Verfasst: Mi 07.07.10 10:22
Hmm.. Ja bin da jetzt auch nich alzu fit ;D Aber die Benutzernamen bzw. Passwörter sollten von einem Server geladen werden oder einer Datenbank die natürlich nicht jeder einlesen kann  Aber ich hoffe andere User können dir da auch noch genauer helfen.
mfg chiller
Für diesen Beitrag haben gedankt: dan1el
|
|
dan1el 
Hält's aus hier
Beiträge: 7
|
Verfasst: So 11.07.10 23:33
pUSH SRY IMMER NOCH NIX GEFUNDEN
|
|
Christian S.
      
Beiträge: 20451
Erhaltene Danke: 2264
Win 10
C# (VS 2019)
|
Verfasst: So 11.07.10 23:51
Überleg doch einfach mal, was Du ohne Programm machen würdest: Login-Seite aufrufen, Benutzerdaten eingeben, Seite abschicken, gucken ob die "Du bist eingeloggt"-Seite kommt.
Ich würde empfehlen, dass Du mit WebRequest / WebResponse arbeitest. Dann kannst Du die Login-Daten direkt per POST übergeben.
Also, zusammengefasst: - WebRequest auf die Login-Seite erstellen. Dem WebRequest den Benutzernamen und Passwort direkt als POST-Daten mitgeben. (Vorsicht, ich glaube, vBulletin erwartet MD5-Hashes, musst Du mal recherchieren)
- Den WebResponse daraufhin prüfen, ob eine Anmelde-Bestätigung vorliegt.
Ich denke, mit den Stichworten solltest Du bei entsprechendem Studium der Doku zumindest einen Ansatz selber hinbekommen. Dann kannste Dich ja nochmal melden 
_________________ Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Für diesen Beitrag haben gedankt: dan1el
|
|