【发布时间】:2016-02-26 16:14:40
【问题描述】:
我是 ASP.net 的新手,并且一直在关注一些视频教程来构建登录页面。我成功地创建了我的注册页面,可以将详细信息输入到数据库中的表中,但是我无法让我的登录页面正常工作=/。我已经在这里工作了几个小时,不确定你们中是否有人可以提供帮助,但值得一试。我使用的 IDE 是 Visual Studio(最新版本)。
我收到以下错误(单击图像可以更仔细地查看,但您可能已经知道了):
错误会根据我尝试登录的人而变化,例如,尝试以 john 身份登录时返回了上述错误,尝试以管理员身份登录时返回了以下错误。
下面显示的是我在登录按钮后面使用的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["RegistrationConnectionString"].ConnectionString);
conn.Open();
string checkuser = "select count(*) from [Table] where [Login]'" + Loginbox.Text + "'";
SqlCommand com = new SqlCommand(checkuser, conn);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
conn.Close();
if (temp == 1)
{
conn.Open();
string CheckPasswordQuery = "select Password from [Table] where [Login]='" + Loginbox.Text + "'";
SqlCommand Passcom = new SqlCommand(CheckPasswordQuery, conn);
string password = Passcom.ExecuteScalar().ToString().Replace(" ","");
if (password == Passwordbox.Text)
{
Session["New"] = Passwordbox.Text;
Response.Write("Password is correct");
}
else
{
Response.Write("Wrong password");
}
}
else {
Response.Write("User name does not exist");
}
}
}
下面显示的是表单页面视图,它运行良好,按下登录按钮时返回错误。
下面是表格定义:
下面是表格中包含的数据:
感谢大家的宝贵时间,感谢大家为解决此问题提供的任何意见。
【问题讨论】:
-
强制SQL Injection 警告。使用参数化查询(您也可能会看到错误)。
-
只是可以确认其他人所说的话,这是验证登录的最不安全的方法之一 ;-) 看看这里youtube.com/watch?v=8ZtInClXe1Q
-
哦,是的,我知道它非常不安全,很抱歉这是我的第一页,我只是想学习基础知识,它实际上不会用于任何承诺。如果是的话,你们可以利用它获得一些乐趣。
-
那张贴与错误有什么关系:这不是 asp.net 问题 - 这是一个简单的 C# 错误,您可以删除它周围的所有废话并将其固定为几行纯 C# 和 SQL。
标签: c# sql asp.net visual-studio