在ASP.Net C#登录页面中需要帮助

阿姆鲁莎·阿杰

此代码有什么问题?我尝试了很多方法。但是它总是显示登录失败。虽然没有构建错误。我有一个名为honeypot的数据库和一个名为register的表,其中用户名行和密码行为varchars。我正在使用内置的登录控件。有人可以帮忙吗?我正在使用Visual Studio 2013。

home.aspx.cs

enter code here
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.SqlClient;

namespace CodeInjection4
{
public partial class Home : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
        }
    }

    private static int count = 0;

    protected void log1_Authenticate(object sender, AuthenticateEventArgs e)
    {
        if (log1.UserName == "Admin" && log1.Password == "Admin")
        {
            Response.Redirect("Adminhome.aspx");
        }
        else if (YourValidationFunction(log1.UserName, log1.Password))
        {
            Session["User"] = log1.UserName;
            e.Authenticated = true;
            Response.Redirect("userhome.aspx");
            log1.TitleText = "Successfully Logged In";
        }
        else
        {
            e.Authenticated = false;
            count++;
            if (count >= 3)
            {
                count = 0;
                Session["User"] = log1.UserName;
                Server.Transfer("MainPage.aspx");
            }
        }
    }

    private SqlConnection strConnection = new
        SqlConnection("server=.\\SQLEXPRESS;database=honeypot;integrated security=true;");

    private bool YourValidationFunction(string UserName, string Password)
    {
        bool boolReturnValue = false;
        String SQLQuery = "SELECT UserName, Password FROM Register";
        SqlCommand command = new SqlCommand(SQLQuery, strConnection);
        SqlDataReader Dr;
        try
        {
            strConnection.Open();
            Dr = command.ExecuteReader();
            while (Dr.Read())
            {
                if ((UserName == Dr["UserName"].ToString()) & (Password == Dr["Password"].ToString()))
                {
                    boolReturnValue = true;
                }
            }
            Dr.Close();
        }
        catch
        {
        }
        return boolReturnValue;
    }

    protected void lnkRegis_Click(object sender, EventArgs e)
    {
        Response.Redirect("AdUserAcc.aspx");
    }
}
}

Home.aspx

enter code here

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="CodeInjection4.Home" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script runat="server">
</script>
<style type="text/css">
    #form1 {
        text-align: center;
    }
    .auto-style1 {
        width: 981px;
        text-align: left;
    }
    .auto-style2 {
        width: 961px;
    }
    </style>
</head>
<body>
<form id="form1" runat="server">
<div>

    Forestalling Code Injection</div>
    <asp:Login ID="log1" OnAuthenticate="log1_Authenticate" runat="server" Width="1062px">
        <LayoutTemplate>
            <table cellpadding="1" cellspacing="0" style="border-collapse:collapse;">
                <tr>
                    <td>
                        <table cellpadding="0">
                            <tr>
                                <td align="center" colspan="2">Log In</td>
                            </tr>
                            <tr>
                                <td align="right" class="auto-style2">
                                    <asp:Label ID="UserNameLabel" runat="server" AssociatedControlID="UserName">User Name:</asp:Label>
                                </td>
                                <td class="auto-style1">
                                    <asp:TextBox ID="UserName" runat="server"></asp:TextBox>
                                    <asp:RequiredFieldValidator ID="UserNameRequired" runat="server" ControlToValidate="UserName" ErrorMessage="User Name is required." ToolTip="User Name is required." ValidationGroup="log1">*</asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td align="right" class="auto-style2">
                                    <asp:Label ID="PasswordLabel" runat="server" AssociatedControlID="Password">Password:</asp:Label>
                                </td>
                                <td class="auto-style1">
                                    <asp:TextBox ID="Password" runat="server" TextMode="Password"></asp:TextBox>
                                    <asp:RequiredFieldValidator ID="PasswordRequired" runat="server" ControlToValidate="Password" ErrorMessage="Password is required." ToolTip="Password is required." ValidationGroup="log1">*</asp:RequiredFieldValidator>
                                </td>
                            </tr>
                            <tr>
                                <td colspan="2">
                                    <asp:CheckBox ID="RememberMe" runat="server" Text="Remember me next time." />
                                </td>
                            </tr>
                            <tr>
                                <td align="center" colspan="2" style="color:Red;">
                                    <asp:Literal ID="FailureText" runat="server" EnableViewState="False"></asp:Literal>
                                </td>
                            </tr>
                            <tr>
                                <td align="right" colspan="2" style="text-align: center">
                                    <asp:Button ID="LoginButton" runat="server" CommandName="Login" Text="Log In" ValidationGroup="log1" />
                                </td>
                            </tr>
                        </table>
                    </td>
                </tr>
            </table>
        </LayoutTemplate>
    </asp:Login>
    <br />
    <asp:Button ID="Button1" runat="server" Text="Register" PostBackUrl="~/AdUserAcc.aspx" />
</form>
</body>
</html>
沃尔坎·帕克索伊(Volkan Paksoy)

您正在选择所有用户并在他们之间循环。如果找到匹配的用户名和密码(例如,

if ((UserName == Dr["UserName"].ToString()) & (Password == Dr["Password"].ToString()))
{
    boolReturnValue = true;
    break;
}

否则,下一个用户将其设置回false。

一些注意事项:

  1. 选择所有用户并对其进行遍历是不可扩展的,并且效果不佳。相反,您可以在WHERE子句中输入用户名和密码。如果匹配,则登录信息正确。

  2. 我建议使用逻辑与运算符(&&)而不是按位与(&)。这是一个带有相关讨论的SO线程:用法&vs &&&

  3. 考虑使用加盐的密码散列而不是纯文本密码。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将exportPDF函数从页面移到帮助程序类,替换“ this”。在ASP.NET C#中

来自分类Dev

使用C#在ASP.NET和SQL Server中的登录页面

来自分类Dev

使用C#在ASP.NET和SQL Server中的登录页面

来自分类Dev

我需要检测是否在c#的asp.net页面加载中启用了javascript

来自分类Dev

在C#应用程序中的ASP.NET登录

来自分类Dev

在ASP.NET MVC中需要帮助Chart.js

来自分类Dev

asp.net页面的登录页面

来自分类Dev

asp.net页面的登录页面

来自分类Dev

扩展ASP.net帮助页面主页

来自分类Dev

asp.net中的登录页面。查询有问题吗?

来自分类Dev

在ASP.NET Core MVC中设置新的登录页面

来自分类Dev

登录页面在VB ASP.NET中不起作用

来自分类Dev

ASP.NET WebAPI默认登录页面

来自分类Dev

显示登录用户的帖子-C#,asp.net

来自分类Dev

如果asp.net页面<%...%>中的代码,则在c#中获取RepeaterItem

来自分类Dev

如何在ASP.NET C#中的新选项卡(NOT WINDOW)中打开页面?

来自分类Dev

在ASP .NET C#中路由多个页面

来自分类Dev

使链接不可编辑 asp.net c# 页面

来自分类Dev

需要在 TextBox 控件中获取 HttpPost 值 Unsing ASP.NET C#

来自分类Dev

对于asp.net(C#)页面回发在Firefox中不起作用

来自分类Dev

使用C#在asp.net中的页面加载时调用Java脚本函数

来自分类Dev

如何在asp.net C#中为社交网络创建个人资料页面

来自分类Dev

c# asp.net - 如何在不同线程中查找当前页面 URL?

来自分类Dev

尝试使用 Bootstrap 使日期选择器在 asp.net C# 页面中工作

来自分类Dev

防止已登录的用户访问asp.net mvc 5中的登录页面

来自分类Dev

在ASP.NET中的FormAuthentication登录页面的每次登录时为用户分配角色?

来自分类Dev

Salesforce中的ASP.net登录超时

来自分类Dev

ASP.net:如何从CreateHostBuilder()中登录?

来自分类Dev

ASP.NET身份登录

Related 相关文章

  1. 1

    将exportPDF函数从页面移到帮助程序类,替换“ this”。在ASP.NET C#中

  2. 2

    使用C#在ASP.NET和SQL Server中的登录页面

  3. 3

    使用C#在ASP.NET和SQL Server中的登录页面

  4. 4

    我需要检测是否在c#的asp.net页面加载中启用了javascript

  5. 5

    在C#应用程序中的ASP.NET登录

  6. 6

    在ASP.NET MVC中需要帮助Chart.js

  7. 7

    asp.net页面的登录页面

  8. 8

    asp.net页面的登录页面

  9. 9

    扩展ASP.net帮助页面主页

  10. 10

    asp.net中的登录页面。查询有问题吗?

  11. 11

    在ASP.NET Core MVC中设置新的登录页面

  12. 12

    登录页面在VB ASP.NET中不起作用

  13. 13

    ASP.NET WebAPI默认登录页面

  14. 14

    显示登录用户的帖子-C#,asp.net

  15. 15

    如果asp.net页面<%...%>中的代码,则在c#中获取RepeaterItem

  16. 16

    如何在ASP.NET C#中的新选项卡(NOT WINDOW)中打开页面?

  17. 17

    在ASP .NET C#中路由多个页面

  18. 18

    使链接不可编辑 asp.net c# 页面

  19. 19

    需要在 TextBox 控件中获取 HttpPost 值 Unsing ASP.NET C#

  20. 20

    对于asp.net(C#)页面回发在Firefox中不起作用

  21. 21

    使用C#在asp.net中的页面加载时调用Java脚本函数

  22. 22

    如何在asp.net C#中为社交网络创建个人资料页面

  23. 23

    c# asp.net - 如何在不同线程中查找当前页面 URL?

  24. 24

    尝试使用 Bootstrap 使日期选择器在 asp.net C# 页面中工作

  25. 25

    防止已登录的用户访问asp.net mvc 5中的登录页面

  26. 26

    在ASP.NET中的FormAuthentication登录页面的每次登录时为用户分配角色?

  27. 27

    Salesforce中的ASP.net登录超时

  28. 28

    ASP.net:如何从CreateHostBuilder()中登录?

  29. 29

    ASP.NET身份登录

热门标签

归档