Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/316.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 有没有保护页面的想法?_C#_Asp.net_Visual Studio 2010_Authentication_Stack Overflow - Fatal编程技术网

C# 有没有保护页面的想法?

C# 有没有保护页面的想法?,c#,asp.net,visual-studio-2010,authentication,stack-overflow,C#,Asp.net,Visual Studio 2010,Authentication,Stack Overflow,我有个问题 你们有谁知道我如何使用保护页面免受直接url攻击的例子吗。您可以编辑留言簿中的一些消息 但它需要得到保护 我已经有了,但如果你直接把它输入你的地址栏,它会让你进入。那太糟糕了。顺便说一句,我正在学习ASP.NET 这是我的密码 protected void Button1_Click(object sender, EventArgs e) { try { string cnnString = ConfigurationManager.Connect

我有个问题

你们有谁知道我如何使用保护页面免受直接url攻击的例子吗。您可以编辑留言簿中的一些消息 但它需要得到保护

我已经有了,但如果你直接把它输入你的地址栏,它会让你进入。那太糟糕了。顺便说一句,我正在学习
ASP.NET

这是我的密码

 protected void Button1_Click(object sender, EventArgs e)
{

    try
    {
        string cnnString = ConfigurationManager.ConnectionStrings["Stefan"].ConnectionString;

        using (SqlConnection con = new SqlConnection(cnnString))
        using (SqlCommand cmd = new SqlCommand("select [Username],[Password] from Admin where [Username] = @Username and [Password] = @Password", con))
        {
            string Username = (textUsername.Text.Length > 0) ? textUsername.Text : null;
            string Password = (TextPassword.Text.Length > 0) ? TextPassword.Text : null;

            cmd.Parameters.Add("@Username", System.Data.SqlDbType.VarChar).Value = textUsername.Text;
            cmd.Parameters.Add("@Password", System.Data.SqlDbType.VarChar).Value = TextPassword.Text;

            con.Open();

            using (SqlDataReader dr = cmd.ExecuteReader())
            {
                if (dr.Read())
                    if (Page.IsValid)
                    {

研究基于表单的身份验证,这将解决这个问题。如果您在VS2010中设置了一个新的MVC/Webform项目,您将发现一个预配置的示例。

是。首先,您应该使用ASP.NET成员资格和角色系统来控制对不希望未经授权用户访问的页面的访问

请尝试从以下内容开始:

其次,如果您想阻止用户直接到达页面(即使他们被授权正常访问页面),那么您需要添加某种测试,例如设置会话变量并在需要测试的页面的OnLoad中检查它