private bool SignIn() { SQLiteConnection con = new SQLiteConnection("data source=|DataDirectory|contactos"); con.Open(); SQLiteCommand command = new SQLiteCommand("select id,username,mailvalido from usuarios where username=@username and pass=@pass", con); command.Parameters.AddWithValue("@username", txtUser.Text); command.Parameters.AddWithValue("@pass", Encriptacion.convertirMD5(txtPass.Text)); SQLiteDataReader reader = command.ExecuteReader(); if (reader[0].ToString() != "") { if (Convert.ToInt32(reader[2].ToString()) == 1) { Session["idusuario"] = reader[0].ToString(); Session["nombreusuario"] = reader[0].ToString(); con.Close(); return(true); } else { lblError.Text = "mail no comprobado aún."; con.Close(); return(false); } } else { lblError.Text = "Datos inválidos"; con.Close(); return(false); } }
protected void btnRegistro_Click(object sender, EventArgs e) { SQLiteConnection con = new SQLiteConnection("data source=|DataDirectory|contactos"); con.Open(); SQLiteCommand comm = new SQLiteCommand("select username from usuarios where username=@nombre", con); comm.Parameters.AddWithValue("@nombre", txtUser.Text); SQLiteDataReader reader = comm.ExecuteReader(); if (reader[0].ToString() == "") { comm = new SQLiteCommand("insert into usuarios values(@id,@user,@pass,@mail,0)", con); comm.Parameters.AddWithValue("@id", Guid.NewGuid().ToString()); comm.Parameters.AddWithValue("@user", txtUser.Text); comm.Parameters.AddWithValue("@pass", Encriptacion.convertirMD5(txtPass.Text)); comm.Parameters.AddWithValue("@mail", txtEmail.Text); comm.ExecuteNonQuery(); enviarMail(); Response.Redirect("mensajeregistro.aspx"); } else { lblUsuarioExiste.Text = "El usuario existe."; } con.Close(); }
protected void Page_Load(object sender, EventArgs e) { HyperLink1.Visible = false; string user = Request["user"]; string hash = Request["clave"]; string claveFija = "papasFritas"; if (String.IsNullOrEmpty(user) && string.IsNullOrEmpty(hash)) { Response.Redirect("login.aspx"); } else { if (hash == Encriptacion.convertirMD5(user + claveFija)) { //clave valida SQLiteConnection con = new SQLiteConnection("data source=|DataDirectory|contactos"); con.Open(); SQLiteCommand command = new SQLiteCommand("select username,mailvalido from usuarios where username=@username", con); command.Parameters.AddWithValue("@username", user); SQLiteDataReader reader = command.ExecuteReader(); if (reader[0].ToString() != "")//existe el usuario { if (Convert.ToInt32(reader[1].ToString()) == 0) { command = new SQLiteCommand("update usuarios set mailvalido=1 where username=@name", con); command.Parameters.AddWithValue("@name", user); command.ExecuteNonQuery(); lblMensaje.Text = "Tu cuenta ha sido validada correctamente"; HyperLink1.Visible = true; } else { lblMensaje.Text = "Tu mail ya ha sido validado previamente"; } } else { lblMensaje.Text = "El usuario " + user + " no existe en la base de datos"; } con.Close(); } else { lblMensaje.Text = "Ha ocurrido un error al intentar validar tu e-mail."; } } }
private void enviarMail() { MailAddress from = new MailAddress("*****@*****.**", "Soft de JP"); MailAddress to = new MailAddress(txtEmail.Text, txtUser.Text); MailMessage msg = new MailMessage(from, to); msg.Subject = "Confirmacion de mail"; StringBuilder body = new StringBuilder(); body.Append("<html>"); body.Append("<body>"); body.Append("Gracias por registrarte a nuestro sistema de administración de contactos.<p>"); body.Append("<u>Datos de cuenta:</u>"); body.Append("<br><b>usuario: " + txtUser.Text + "<br>contraseña:" + txtPass.Text + "</b><p>"); body.Append("Para validar tu mail y poder iniciar sesión haz clic "); body.Append("<a href=" + '"' + "http://jpblanco/contactos/finRegistro.aspx?user="******"&clave=" + Encriptacion.convertirMD5(txtUser.Text + "papasFritas") + '"' + ">aquí.</a>"); body.Append("</body>"); body.Append("</html>"); msg.Body = body.ToString(); msg.IsBodyHtml = true; SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587); smtp.EnableSsl = true; smtp.Credentials = new System.Net.NetworkCredential("*****@*****.**", "autofill"); smtp.Send(msg); }