· 9 years ago · Dec 06, 2016, 10:34 AM
1using System;
2using System.Collections.Generic;
3using System.Linq;
4using System.Web;
5using System.Web.UI;
6using System.Web.UI.WebControls;
7
8using MySql.Data;
9using MySql.Data.MySqlClient;
10
11public partial class Login : System.Web.UI.Page
12{
13 MySqlConnection conn;
14 protected void Page_Load(object sender, EventArgs e)
15 {
16 conn = new MySqlConnection("Server=niisku.lamk.fi;uid=kalljuha;pwd=Koodaus1;database=user_kalljuha");
17 conn.Open();
18
19 // taulun luonti, jos se ei ole olemassa
20 string qs = "create table if not exists mon15a_users (user varchar(20), passwd varchar(40) not null, priv int(1) not null, primary key (user));";
21 MySqlCommand cmd = new MySqlCommand(qs, conn);
22 cmd.ExecuteNonQuery();
23 }
24
25 protected void ButtonLogin_Click(object sender, EventArgs e)
26 {
27 try
28 {
29 //string qs = "select * from mon15a_users where user = '" +
30 // TextBoxUser.Text + "' and passwd = md5('" +
31 // TextBoxPassword.Text + "')";
32 string qs = "select * from mon15a_users where user = @user and passwd = md5(@passwd)";
33 MySqlCommand cmd = new MySqlCommand(qs, conn);
34 cmd.Parameters.AddWithValue("@user", TextBoxUser.Text); // injektion poisto
35 cmd.Parameters.AddWithValue("@passwd", TextBoxPassword.Text);
36 cmd.Prepare(); // pästään eroon sql-injektiosta
37 MySqlDataReader rdr = cmd.ExecuteReader();
38 PanelCreateUser.Visible = false;
39 Label1.Visible = false;
40 Label2.Visible = false;
41
42 if (rdr.Read()) // saatiinko vastastinetta
43 {
44 if (TextBoxUser.Text != "admin")
45 {
46 PanelLogin.Visible = false; // sammutetaan loginpaneli
47 PanelLogout.Visible = true; // näytetään logoutpaneli
48 LabelUser.Text = (string)rdr[0];
49 }
50 if (TextBoxUser.Text == "admin") // user: admin pw: Koodaus1
51 {
52 PanelLogin.Visible = false; // sammutetaan loginpaneli
53 PanelLogout.Visible = true; // näytetään logoutpaneli
54 LabelUser.Text = (string)rdr[0];
55 PanelCreateUser.Visible = true;
56 Label2.Visible = true;
57
58 }
59
60 }
61 else
62 {
63 LabelStatus.Text = "Virheellinen käyttäjätunnus";
64 }
65 }
66 catch (Exception ex)
67 {
68 LabelStatus.Text = ex.Message;
69 }
70 }
71 protected void ButtonCreate_Click(object sender, EventArgs e)
72 {
73 if (TextBoxUser2.Text == String.Empty || TextBoxPassword2.Text == String.Empty)
74 {
75 Label1.Visible = false;
76 return;
77 }
78 else
79 {
80 string user = TextBoxUser2.Text;
81 string passwd = TextBoxPassword2.Text;
82
83 MySqlCommand cmd = new MySqlCommand(string.Format("insert into mon15a_users (user, passwd, priv) values ('{0}', md5('{1}'), '0');", user, passwd), conn);
84 MySqlDataReader rdr = cmd.ExecuteReader();
85
86 Label1.Visible = true;
87 }
88
89 }
90
91 protected void ButtonLogout_Click(object sender, EventArgs e)
92 {
93 PanelLogin.Visible = true; // näytetään loginpaneli
94 PanelLogout.Visible = false; // sammutetaan logoutpaneli
95 PanelCreateUser.Visible = false;
96 Label1.Visible = false;
97 Label2.Visible = false;
98 }
99
100}