ASP中的登录名和密码

美津

我有一段代码c#可以登录,但无法正常工作,它在其他情况下给了我消息:

 protected void Button1_Click(object sender, EventArgs e)
    {
        string Connection = @"data source=LOCALHOST;initial catalog=CVtech;Integrated Security=false;User ID=sa;Password=123";
        string Requete = "select * from Agent where Login ='" + UserLogin.Text + " and PPR = " + UserPass.Text+"'";
        SqlDataAdapter da = new SqlDataAdapter(Requete, Connection);
        DataSet Ds = new DataSet();
        da.Fill(Ds);

        if (Ds.Tables[0].Rows.Count > 0)
        {
            DataRow[] dr = Ds.Tables[0].Select();

            Session["Code"] = dr[0]["PPR"].ToString();

            Response.Redirect("cv.aspx");
        }
        else
        {
            Response.Write(" message d'erreur login et mot de passe erroné");
        }
    }

我有一个登录名:“ Ach”,PPR = 1

谢谢

WDuffy

您没有关闭sql请求中的字符串值。

string Requete = "select * from Agent where Login ='" + UserLogin.Text + " and PPR = " + UserPass.Text + "'";

应该

string Requete = "select * from Agent where Login ='" + UserLogin.Text + "' and PPR = '" + UserPass.Text + "'";

另外,您应该研究sql注入和参数化查询。我不太使用DataAdapters,但我相信它会看起来像。

SqlConnection connection = new SqlConnection("data source=LOCALHOST;initial catalog=CVtech;Integrated Security=false;User ID=sa;Password=123");
SqlDataAdapter da = new SqlDataAdapter(); 

SqlCommand command = new SqlCommand("select * from Agent where Login = @login and PPR = @ppr", connection);

command.Parameters.Add("@login", SqlDbType.NVarChar, 50);
command.Parameters["@login"].Value = UserLogin.Text;

command.Parameters.Add("@ppr", SqlDbType.NVarChar, 50);
command.Parameters["@ppr"].Value = UserPass.Text;

da.SelectCommand = command;

DataSet Ds = new DataSet(); 
da.Fill(Ds);

有关更多详细信息,请参见

如何:保护ASP.NET中的SQL注入

http://msdn.microsoft.com/en-us/library/ff648339.aspx

SqlDataAdapter.SelectCommand属性

http://msdn.microsoft.com/zh-cn/library/system.data.sqlclient.sqldataadapter.selectcommand(v=vs.110).aspx

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

登录名和密码变量

WP登录名和密码比较

cPanel登录名/密码

如何删除git中的永久登录名和密码条目?

如何在 Selenium WebDriver 中查找登录名和密码输入

登录名和密码存储在数据库中

没有在 div 中获取登录名和密码值

使用 Typescript / Javascript 中的 URL 登录名和密码连接到 API

添加具有禁用的密码和登录名的用户

身份验证,登录名和密码

如果我的登录名和密码正确,如何在Tkinter中打开一个新窗口?

无效的登录名或密码 Mcrypt 错误

如果忘记了登录名和密码,如何登录Linux笔记本电脑?

重置使用ASP成员身份的ASP.NET App的登录名/密码

用户和SQL Server中的登录名之间的区别

iOS:在UIWebView中加载的Facebook登录页面中的自动填充登录名/密码

在asp.net中使用哈希密码创建登录名

在向gitlab添加公钥后,仍然需要登录名和密码

如何使用登录名(用户名和密码),按钮更改活动?

使用AWS Cognito和React的仅限Facebook / Google的登录名(无用户名/密码)

如何将我保存的登录名和密码从Google Chrome移到Microsoft Edge?

linux + wget +使用登录名和密码从URL地址打印文件

在Visual Studio在线页面上哪里可以找到用户登录名和密码?

登录名:带有PHP和MySQL的电子邮件密码匹配

从摘要访问身份验证导入登录名和密码

Debian 8(Live-CD)的标准登录名和密码是什么?

如何使用2或3个用户名和密码以用户形式创建登录名?

如何通过POST VBA Httprequest传递登录名和密码?

错误:无效的登录名:535-5.7.8不接受用户名和密码