جزئیات محصول

دانلود کد ایجاد فرم ورود با تایید دو مرحله‌ای با ASP.NET Web Form

دانلود کد ایجاد فرم ورود با تایید دو مرحله‌ای با ASP.NET Web Form

قیمت: 0 تومان

خرید فایل


مشاهده پیشنمایش

پیشنمایش برای محصولاتی که نیاز به نمایش دمو دارند می باشد

 ایجاد یک فرم ورود با تأیید دو مرحله‌ای در ASP.NET Web Forms می‌تواند به افزایش امنیت سیستم شما کمک کند. در این راهنما، ما یک فرم ورود ساده ایجاد خواهیم کرد که پس از وارد کردن نام کاربری و رمز عبور، یک کد تأیید به ایمیل کاربر ارسال می‌کند و کاربر باید این کد را برای تکمیل ورود وارد کند.

 
### مراحل پیاده‌سازی فرم ورود با تأیید دو مرحله‌ای
 
#### 1. ایجاد پروژه ASP.NET Web Forms
 
ابتدا یک پروژه جدید ASP.NET Web Forms در Visual Studio ایجاد کنید.
 
#### 2. طراحی پایگاه داده
 
شما باید یک جدول برای ذخیره اطلاعات کاربران ایجاد کنید. برای مثال:
 
```sql
CREATE TABLE Users (
    UserID INT IDENTITY(1,1) PRIMARY KEY,
    UserName NVARCHAR(50) NOT NULL,
    Password NVARCHAR(255) NOT NULL, -- بهتر است رمزها را هش کنید
    Email NVARCHAR(255) NOT NULL
);
```
 
و چند کاربر آزمایشی اضافه کنید:
 
```sql
INSERT INTO Users (UserName, Password, Email) VALUES ('user1', 'password1', 'user1@example.com');
INSERT INTO Users (UserName, Password, Email) VALUES ('user2', 'password2', 'user2@example.com');
```
 
#### 3. ایجاد فرم ورود
 
حالا یک صفحه جدید به نام `Login.aspx` به پروژه اضافه کنید. این صفحه شامل فرم ورود و یک پنل برای وارد کردن کد تأیید خواهد بود.
 
##### کد HTML برای `Login.aspx`
 
```aspx
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="YourNamespace.Login" %>
    ورود به سیستم
   
   
       
           

ورود به سیستم

           
               
                   
                   
               
               
                   
                   
               
               
           
 
           
               
                   
                   
               
               
           
 
           
       
   
```
 
### 4. کد بی‌هند (Code-Behind برای `Login.aspx.cs`)
 
در این بخش، کد مربوط به مدیریت فرم ورود و ارسال کد تأیید به ایمیل کاربر را اضافه کنید.
 
##### کد برای `Login.aspx.cs`
 
```csharp
using System;
using System.Data.SqlClient;
using System.Net;
using System.Net.Mail;
using System.Configuration;
 
namespace YourNamespace
{
    public partial class Login : System.Web.UI.Page
    {
        private static string verificationCode;
        private static string userEmail;
 
        protected void Page_Load(object sender, EventArgs e)
        {
        }
 
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            string username = txtUsername.Text;
            string password = txtPassword.Text;
 
            if (AuthenticateUser(username, password))
            {
                userEmail = GetUserEmail(username);
                verificationCode = GenerateVerificationCode();
 
                SendVerificationCode(userEmail, verificationCode);
                pnlLogin.Visible = false;
                pnlVerification.Visible = true;
                lblMessage.Text = "کد تأیید به ایمیل شما ارسال شد.";
            }
            else
            {
                lblMessage.Text = "نام کاربری یا رمز عبور نادرست است.";
            }
        }
 
        protected void btnVerify_Click(object sender, EventArgs e)
        {
            if (txtVerificationCode.Text == verificationCode)
            {
                Response.Redirect("Home.aspx"); // به صفحه اصلی یا صفحه دیگر هدایت کنید
            }
            else
            {
                lblMessage.Text = "کد تأیید نادرست است.";
            }
        }
 
        private bool AuthenticateUser(string username, string password)
        {
            string connectionString = ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString;
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string query = "SELECT COUNT(*) FROM Users WHERE UserName = @UserName AND Password = @Password";
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    command.Parameters.AddWithValue("@UserName", username);
                    command.Parameters.AddWithValue("@Password", password); // در عمل، از هش کردن رمز عبور استفاده کنید
                    connection.Open();
                    int userCount = (int)command.ExecuteScalar();
                    return userCount > 0;
                }
            }
        }
 
        private string GetUserEmail(string username)
        {
            string email = string.Empty;
            string connectionString = ConfigurationManager.ConnectionStrings["YourConnectionString"].ConnectionString;
            using (SqlConnection connection = new SqlConnection(connectionString))
            {
                string query = "SELECT Email FROM Users WHERE UserName = @UserName";
                using (SqlCommand command = new SqlCommand(query, connection))
                {
                    command.Parameters.AddWithValue("@UserName", username);
                    connection.Open();
                    email = command.ExecuteScalar()?.ToString();
                }
            }
            return email;
        }
 
        private string GenerateVerificationCode()
        {
            Random random = new Random();
            return random.Next(100000, 999999).ToString(); // تولید یک کد 6 رقمی
        }
 
        private void SendVerificationCode(string email, string code)
        {
            MailMessage mail = new MailMessage();
            mail.From = new MailAddress("your-email@example.com"); // آدرس ایمیل فرستنده
            mail.To.Add(email);
            mail.Subject = "کد تأیید ورود";
            mail.Body = $"کد تأیید شما: {code}";
            mail.IsBodyHtml = false;
 
            SmtpClient smtpClient = new SmtpClient("smtp.example.com"); // سرور SMTP
            smtpClient.Port = 587; // پورت SMTP
            smtpClient.Credentials = new NetworkCredential("your-email@example.com", "your-email-password"); // اعتبارنامه
            smtpClient.EnableSsl = true;
 
            smtpClient.Send(mail);
        }
    }
}
```
 
### 5. تنظیمات Web.config
 
شما باید رشته اتصال به پایگاه داده و تنظیمات SMTP را در فایل `Web.config` خود تنظیم کنید:
 
```xml
 
   
 
 
   
     
       
     
   
 
```
 
### 6. اجرای پروژه
 
حالا پروژه را اجرا کنید و به صفحه `Login.aspx` بروید. با وارد کردن نام کاربری و رمز عبور، یک کد تأیید به ایمیل شما ارسال خواهد شد. سپس باید این کد را وارد کرده و بر روی دکمه تأیید کلیک کنید تا وارد سیستم شوید.
 
### نکات اضافی
 
- **هش کردن رمز عبور**: در این مثال، رمز عبور به صورت متن ساده ذخیره شده است. بهتر است از الگوریتم‌های هش کردن مانند SHA-256 برای محافظت از رمزهای عبور استفاده کنید.
- **مدیریت خطا**: مدیریت خطا را در کد اضافه کنید تا در صورت بروز مشکلات، پیام‌های مناسب نمایش داده شوند.
- **استفاده از توکن**: برای امنیت بیشتر، می‌توانید از توکن‌های امنیتی برای تأیید دو مرحله‌ای استفاده کنید.
 
با دنبال کردن این مراحل، شما می‌توانید یک فرم ورود با تأیید دو مرحله‌ای در ASP.NET Web Forms پیاده‌سازی کنید. اگر سوال یا نیاز به اطلاعات بیشتری دارید، خوشحال می‌شوم کمک کنم!
| صفحه قابل مشاهده: دانلود کد ایجاد فرم ورود با تایید دو مرحله‌ای با ASP.NET Web Form می‌باشد شما در حال مشاهده محصول "دانلود کد ایجاد فرم ورود با تایید دو مرحله‌ای با ASP.NET Web Form" با شناسه 24764 هستید که تاکنون 28 بار مشاهده شده و در تاریخ Sep 29 2024 3:45AM طراحی و تولید شده است. این محصول با دقت و خلاقیت توسط تیم حرفه‌ای پرپروژه آماده شده است. قیمت این محصول 0 تومان می‌باشد و در دسته‌بندی با شناسه 11776 قرار دارد.