جزئیات محصول

دانلود کد پیاده‌سازی سیستم تغییر رمز عبور با تایید ایمیل با ASP.NET Web Form

دانلود کد پیاده‌سازی سیستم تغییر رمز عبور با تایید ایمیل با ASP.NET Web Form

قیمت: 35,000 تومان

خرید فایل


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

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

 پیاده‌سازی یک سیستم برای تغییر رمز عبور با تأیید ایمیل در ASP.NET Web Forms شامل مراحل زیر است:

 
1. **ایجاد صفحه تغییر رمز عبور**
2. **ارسال لینک تأیید به ایمیل**
3. **تأیید لینک و تغییر رمز عبور**
 
### مراحل پیاده‌سازی
 
#### 1. ایجاد پروژه ASP.NET Web Forms
 
در **Visual Studio**، یک پروژه جدید از نوع **ASP.NET Web Application** با الگوی **Web Forms** ایجاد کنید.
 
#### 2. ایجاد مدل کاربر
 
اگر هنوز مدلی برای کاربر ایجاد نکرده‌اید، از کد زیر استفاده کنید:
 
```csharp
public class User
{
    public int Id { get; set; }
    public string Username { get; set; }
    public string Password { get; set; } // در عمل، بهتر است این رمز را هش کنید
    public string Email { get; set; }
}
```
 
#### 3. ایجاد پایگاه داده
 
اگر هنوز پایگاه داده را ایجاد نکرده‌اید، یک پایگاه داده به نام **UserManagementDB** ایجاد کنید و جدولی برای کاربران بسازید:
 
```sql
CREATE TABLE Users (
    Id INT PRIMARY KEY IDENTITY(1,1),
    Username NVARCHAR(100) UNIQUE,
    Password NVARCHAR(100),
    Email NVARCHAR(100) UNIQUE
);
```
 
#### 4. ایجاد صفحه درخواست تغییر رمز عبور (RequestChangePassword.aspx)
 
یک صفحه جدید به نام **RequestChangePassword.aspx** ایجاد کنید و کد زیر را در آن قرار دهید:
 
```html
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="RequestChangePassword.aspx.cs" Inherits="RequestChangePassword" %>
 
    درخواست تغییر رمز عبور
   
       
           

تغییر رمز عبور

           
           
           
           
           
       
   
```
 
#### 5. نوشتن کد برای درخواست تغییر رمز عبور در RequestChangePassword.aspx.cs
 
در فایل **RequestChangePassword.aspx.cs**، کد زیر را برای ارسال ایمیل به کاربر بنویسید:
 
```csharp
using System;
using System.Configuration;
using System.Data.SqlClient;
using System.Net.Mail;
using System.Web;
 
public partial class RequestChangePassword : System.Web.UI.Page
{
    private string connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
 
    protected void btnRequest_Click(object sender, EventArgs e)
    {
        string email = txtEmail.Text;
 
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand("SELECT * FROM Users WHERE Email = @Email", connection);
            command.Parameters.AddWithValue("@Email", email);
 
            connection.Open();
            SqlDataReader reader = command.ExecuteReader();
            if (reader.HasRows)
            {
                // ارسال ایمیل با لینک تغییر رمز عبور
                string token = Guid.NewGuid().ToString(); // توکن تصادفی
                string link = $"http://localhost:1234/ChangePassword.aspx?token={token}&email={email}"; // آدرس URL شما
                
                // ذخیره توکن در پایگاه داده برای تأیید
                SaveToken(email, token);
 
                SendEmail(email, link);
                lblStatus.Text = "لینک تغییر رمز عبور به ایمیل شما ارسال شد.";
            }
            else
            {
                lblStatus.Text = "ایمیل وارد شده وجود ندارد.";
            }
        }
    }
 
    private void SaveToken(string email, string token)
    {
        // ذخیره توکن در پایگاه داده یا سیستم دیگر برای تأیید
        // (شما می‌توانید این توکن را در یک جدول جدید ذخیره کنید)
    }
 
    private void SendEmail(string email, string link)
    {
        MailMessage mail = new MailMessage("your-email@example.com", email);
        mail.Subject = "تغییر رمز عبور";
        mail.Body = $"برای تغییر رمز عبور، لطفاً روی لینک زیر کلیک کنید:\n{link}";
        SmtpClient smtpClient = new SmtpClient("smtp.your-email-provider.com");
        smtpClient.Port = 587; // یا پورت SMTP مناسب
        smtpClient.Credentials = new System.Net.NetworkCredential("your-email@example.com", "your-email-password");
        smtpClient.EnableSsl = true;
 
        smtpClient.Send(mail);
    }
}
```
 
#### 6. ایجاد صفحه تغییر رمز عبور (ChangePassword.aspx)
 
یک صفحه جدید به نام **ChangePassword.aspx** ایجاد کنید و کد زیر را در آن قرار دهید:
 
```html
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChangePassword.aspx.cs" Inherits="ChangePassword" %>
 
    تغییر رمز عبور
   
       
           

تغییر رمز عبور

           
           
           
           
           
       
   
```
 
#### 7. نوشتن کد برای تغییر رمز عبور در ChangePassword.aspx.cs
 
در فایل **ChangePassword.aspx.cs**، کد زیر را برای تغییر رمز عبور بنویسید:
 
```csharp
using System;
using System.Configuration;
using System.Data.SqlClient;
 
public partial class ChangePassword : System.Web.UI.Page
{
    private string connectionString = ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString;
 
    protected void Page_Load(object sender, EventArgs e)
    {
        if (Request.QueryString["token"] == null || Request.QueryString["email"] == null)
        {
            Response.Redirect("RequestChangePassword.aspx");
        }
    }
 
    protected void btnChange_Click(object sender, EventArgs e)
    {
        string newPassword = txtNewPassword.Text;
        string email = Request.QueryString["email"];
        string token = Request.QueryString["token"];
 
        // بررسی توکن در پایگاه داده (شما باید بررسی کنید که آیا این توکن معتبر است)
 
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            SqlCommand command = new SqlCommand("UPDATE Users SET Password = @NewPassword WHERE Email = @Email", connection);
            command.Parameters.AddWithValue("@Email", email);
            command.Parameters.AddWithValue("@NewPassword", newPassword); // در عمل، باید هش شود
 
            connection.Open();
            int rowsAffected = command.ExecuteNonQuery();
            if (rowsAffected > 0)
            {
                lblStatus.Text = "رمز عبور با موفقیت تغییر یافت.";
                // همچنین می‌توانید توکن را پس از استفاده حذف کنید
            }
            else
            {
                lblStatus.Text = "تغییر رمز عبور ناموفق بود.";
            }
        }
    }
}
```
 
### 8. تست و اجرای پروژه
 
پس از انجام مراحل بالا، پروژه را اجرا کنید و فرآیند درخواست تغییر رمز عبور و تغییر رمز عبور را تست کنید.
 
### نکات اضافی
 
- **ایمنی و اعتبارسنجی**: حتماً از اعتبارسنجی مناسب برای ورودی‌های کاربر و امنیت اطلاعات (هش کردن رمز عبور و ...) استفاده کنید.
- **مدیریت توکن**: برای ذخیره و مدیریت توکن‌ها می‌توانید یک جدول جدید به پایگاه داده اضافه کنید.
- **UI و UX**: می‌توانید از CSS و JavaScript برای طراحی زیباتر و بهبود تجربه کاربری استفاده کنید.
- **مدیریت خطاها**: بهتر است برای مدیریت خطاها از `try-catch` استفاده کنید.
 
با این مراحل، شما یک سیستم تغییر رمز عبور با تأیید ایمیل با استفاده از **ASP.NET Web Forms** پیاده‌سازی کرده‌اید. اگر سوال یا نکته‌ای دارید، خوشحال می‌شوم کمک کنم!
| صفحه قابل مشاهده: دانلود کد پیاده‌سازی سیستم تغییر رمز عبور با تایید ایمیل با ASP.NET Web Form می‌باشد