Đồ Án Tốt Nghiệp: Xây Dựng Website Bán Cây Sử Dụng ASP.NET Core MVC

Tài liệu nghiên cứu Xây dựng website bán cây sử dụng asp net core mvc, tổng hợp lý thuyết và thực hành, cung cấp kiến thức chuyên sâu về kỹ thuật.

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2014

75
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

1. CHƯƠNG 1: MỞ ĐẦU

1.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI

1.2. MỤC TIÊU CỦA ĐỀ TÀI

1.3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU

1.4. GIỚI HẠN ĐỀ TÀI

1.5. Ý NGHĨA KHOA HỌC VÀ CƠ SỞ THỰC TIỄN

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Giới thiệu về ASP.NET Core MVC

2.2. SQL Server

2.3. Ngăn chặn XSRF/CSRF

2.4. Ngăn chặn tấn công chuyển hướng mở

2.5. Ngăn chặn XSS

2.6. Ngăn chặn SQL Injection

3. CHƯƠNG 3: THIẾT KẾ PHẦN MỀM

3.1. Khảo sát hiện trạng

3.2. Xác định yêu cầu

3.3. Mô hình hóa yêu cầu

3.3.1. Lược đồ use case

3.3.2. Use case quản lí giỏ hàng

3.3.3. Use case đặt hàng

3.3.4. Use case xem lịch sử đơn hàng

3.3.5. Use case quản lí tài khoản

3.3.6. Use case quản lí danh mục

3.3.7. Use case quản lí tin tức

3.3.8. Use case quản lí sản phẩm

3.3.9. Use case quản lí đơn hàng

3.3.10. Use case quản lí đánh giá

3.4. Lưu đồ thuật toán

3.4.1. Lưu đồ thuật toán đăng kí

3.4.2. Lưu đồ thuật toán đăng nhập

3.4.3. Lưu đồ thuật toán thêm sản phẩm vào giỏ hàng

3.4.4. Lưu đồ thuật toán mua hàng

3.4.5. Lưu đồ thuật toán hủy đơn

3.4.6. Lưu đồ thuật toán đánh giá sản phẩm

3.4.7. Lưu đồ thuật toán quản lí quyền truy cập tài khoản

3.5. Thiết kế cơ sở dữ liệu

3.5.1. Cơ sở dữ liệu

3.5.2. Chi tiết các bảng

4. CHƯƠNG 4: THIẾT KẾ GIAO DIỆN

4.1. Giao diện trang chủ

4.2. Giao diện đăng kí và đăng nhập

4.3. Giao diện giới thiệu chung

4.4. Giao diện kiến thức

4.5. Giao diện chi tiết kiến thức

4.6. Giao diện liên hệ

4.7. Giao diện sản phẩm

4.8. Giao diện chi tiết sản phẩm

4.9. Giao diện giỏ hàng

4.10. Giao diện mua hàng

4.11. Giao diện xem lịch sử mua hàng

4.12. Giao diện quản lí sản phẩm

4.13. Giao diện quản lí tin tức

4.14. Giao diện quản lí đơn hàng

4.15. Giao diện chức năng thanh toán VNPAY

5. CHƯƠNG 5: KẾT LUẬN

5.1. Kết quả đạt được

5.2. Nhược điểm

5.3. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Về Xây Dựng Website Bán Cây Sử Dụng ASP

Xây dựng website bán cây sử dụng ASP.NET Core MVC là một xu hướng đang phát triển mạnh mẽ trong lĩnh vực thương mại điện tử. Với sự gia tăng nhu cầu mua sắm trực tuyến, việc tạo ra một nền tảng thương mại điện tử hiệu quả là rất cần thiết. ASP.NET Core MVC cung cấp một framework mạnh mẽ, giúp các nhà phát triển dễ dàng xây dựng và quản lý các ứng dụng web. Bài viết này sẽ đi sâu vào các khía cạnh quan trọng của việc xây dựng website bán cây, từ lý thuyết đến thực tiễn.

1.1. Lợi Ích Của Việc Sử Dụng ASP.NET Core MVC

ASP.NET Core MVC mang lại nhiều lợi ích cho việc xây dựng website bán cây. Đầu tiên, nó hỗ trợ phát triển nhanh chóng với khả năng mở rộng cao. Thứ hai, framework này cho phép tích hợp dễ dàng với các công nghệ khác như Entity Framework và Identity Framework, giúp quản lý cơ sở dữ liệu và xác thực người dùng hiệu quả.

1.2. Các Tính Năng Nổi Bật Của ASP.NET Core MVC

ASP.NET Core MVC cung cấp nhiều tính năng nổi bật như routing linh hoạt, hỗ trợ Razor Pages, và khả năng xử lý các yêu cầu HTTP một cách hiệu quả. Những tính năng này giúp tối ưu hóa trải nghiệm người dùng và tăng cường hiệu suất của website.

II. Thách Thức Trong Việc Xây Dựng Website Bán Cây

Mặc dù việc xây dựng website bán cây sử dụng ASP.NET Core MVC mang lại nhiều lợi ích, nhưng cũng không thiếu thách thức. Các vấn đề như bảo mật, tối ưu hóa SEO và quản lý kho hàng là những yếu tố cần được chú ý. Việc giải quyết những thách thức này sẽ giúp website hoạt động hiệu quả hơn và thu hút được nhiều khách hàng.

2.1. Vấn Đề Bảo Mật Trong Website Thương Mại Điện Tử

Bảo mật là một trong những vấn đề quan trọng nhất khi xây dựng website bán cây. Các cuộc tấn công như SQL Injection và XSS có thể gây ra thiệt hại nghiêm trọng. Việc sử dụng Identity Framework để quản lý người dùng và bảo vệ thông tin cá nhân là rất cần thiết.

2.2. Tối Ưu Hóa SEO Cho Website Bán Cây

Tối ưu hóa SEO là yếu tố quyết định giúp website bán cây tiếp cận được nhiều khách hàng hơn. Việc sử dụng từ khóa phù hợp, tối ưu hóa tốc độ tải trang và cải thiện trải nghiệm người dùng sẽ giúp nâng cao thứ hạng tìm kiếm trên các công cụ tìm kiếm.

III. Phương Pháp Xây Dựng Website Bán Cây Hiệu Quả

Để xây dựng một website bán cây hiệu quả, cần áp dụng các phương pháp và công nghệ hiện đại. Việc sử dụng ASP.NET Core MVC kết hợp với các công nghệ như Entity Framework và SQL Server sẽ giúp tối ưu hóa quy trình phát triển và quản lý dữ liệu.

3.1. Sử Dụng Entity Framework Để Quản Lý Cơ Sở Dữ Liệu

Entity Framework là một công cụ mạnh mẽ giúp quản lý cơ sở dữ liệu một cách hiệu quả. Nó cho phép các nhà phát triển thao tác với dữ liệu thông qua các đối tượng, giúp giảm thiểu mã lệnh và tăng cường khả năng bảo trì.

3.2. Tích Hợp Thanh Toán Trực Tuyến

Việc tích hợp các phương thức thanh toán trực tuyến như VNPAY sẽ giúp khách hàng dễ dàng thực hiện giao dịch. Điều này không chỉ nâng cao trải nghiệm người dùng mà còn tăng cường tính cạnh tranh của website.

IV. Ứng Dụng Thực Tiễn Của Website Bán Cây

Website bán cây không chỉ là một nền tảng thương mại điện tử mà còn là nơi cung cấp thông tin và kiến thức về các loại cây trồng. Việc xây dựng một cộng đồng trực tuyến xung quanh sản phẩm sẽ giúp tăng cường sự gắn kết với khách hàng.

4.1. Cung Cấp Thông Tin Về Sản Phẩm

Cung cấp thông tin chi tiết về các loại cây, cách chăm sóc và lợi ích của từng loại sẽ giúp khách hàng đưa ra quyết định mua sắm thông minh hơn. Điều này cũng giúp tăng cường độ tin cậy của website.

4.2. Quản Lý Đơn Hàng Và Phản Hồi Khách Hàng

Quản lý đơn hàng hiệu quả và phản hồi nhanh chóng từ khách hàng sẽ tạo ra trải nghiệm mua sắm tích cực. Việc sử dụng các công cụ quản lý đơn hàng sẽ giúp tối ưu hóa quy trình này.

V. Kết Luận Về Xây Dựng Website Bán Cây

Xây dựng website bán cây sử dụng ASP.NET Core MVC là một dự án đầy tiềm năng. Với sự phát triển của thương mại điện tử, việc tạo ra một nền tảng trực tuyến hiệu quả sẽ giúp các doanh nghiệp tiếp cận được nhiều khách hàng hơn. Tương lai của thương mại điện tử tại Việt Nam hứa hẹn sẽ còn phát triển mạnh mẽ hơn nữa.

5.1. Tương Lai Của Thương Mại Điện Tử Tại Việt Nam

Thương mại điện tử tại Việt Nam đang trên đà phát triển mạnh mẽ. Việc xây dựng các website bán hàng chất lượng sẽ góp phần thúc đẩy nền kinh tế số của đất nước.

5.2. Khuyến Khích Đổi Mới Sáng Tạo Trong Ngành

Ngành thương mại điện tử cần khuyến khích sự đổi mới sáng tạo để đáp ứng nhu cầu ngày càng cao của người tiêu dùng. Việc áp dụng công nghệ mới sẽ giúp nâng cao hiệu quả kinh doanh.

10/07/2025

Trích đoạn nội dung tài liệu

MỞ ĐẦU 1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI Trong những năm gần đây, thế giới nói chung và Việt Nam nói riêng đã phải trải qua thời kì đại dịch của COVID – 19 với vô vàn khó khăn, trắc trở. Trong thời gian dịch bệnh, ngành thương mại, dịch vụ truyền thống bị suy giảm đáng kể do ban hành các lệnh phong tỏa. Nhưng đây lại là cơ hội mạnh mẽ cho sự phát triển vượt bậc của thương mại điện tử bởi sự tiện lợi mang lại cho người tiêu dùng như mua hàng từ xa, tra cứu, so sánh giá cả. Điển hình là các sàn thương mại điện tử lớn như Shopee, Tiki, Lazada… Nắm bắt được xu hướng và tiềm năng phát triển, chúng tôi đã chọn đề tài “Xây dựng website bán cây sử dụng ASP.NET Core MVC” để người tiêu dùng có thể thuận tiện trao đổi mua bán sản phẩm, đẩy mạnh nên thương mại nước nhà.

Để thực hiện đề tài này, tôi đã thực hiện việc khảo sát và nghiên cứu hiện trạng các website bán cây hiện nay như “Cây để bàn | cây văn phòng Locat” [1], “Cây Xinh - Hệ Thống Bán Sỉ & Lẻ Cây Cảnh Hàng Đầu Việt Nam” [2], “9X GARDEN | #1 Shop Cây Cảnh Mini Không Cần Đất” [3]…Nhìn chung các website khá đầy đủ các chức năng tuy nhiên vẫn còn một vài thiếu sót như việc hiển thị đánh giá của sản phẩm, chức năng thanh toán online, cần tối ưu thời gian mua bán cho khách hàng… 1.2 MỤC TIÊU CỦA ĐỀ TÀI Mục tiêu của đề tài bao gồm: - Hiểu và có khả năng xây dựng website sử dụng ASP.NET Core MVC kết nối cơ sở dữ liệu SQL – Server và các công nghệ liên quan. - Xây dựng một website bán cây với các tính năng sau: hiển thị tin tức, thông tin sản phẩm, chức năng mua hàng, thanh toán online, quản lí danh sách khách hàng, quản lí danh sách sản phẩm, quản lí danh sách tin tức, quản lí danh sách đơn hàng, quản lí danh sách đánh giá, đa ngôn ngữ. - Tìm hiểu và ngăn chặn các lỗ hổng trong xây dựng website.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU Đối tượng của nghiên cứu của đề tài: - Người dùng cuối: Nghiên cứu trải nghiệm mua sắm trực bao gồm cả việc tìm kiếm, xem sản phẩm, thêm vào giỏ hàng, thanh toán và quản lý đơn hàng. - Quản trị viên: Nghiên cứu về cách quản lý sản phẩm, đơn hàng, khách hàng…từ giao diện quản trị.

Phạm vi nghiên cứu của đề tài: - ASP.NET Core MVC 5.0 là nền tảng xây dựng website lớn của Microsoft - SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) được phát triển bởi Microsoft. - Ngôn ngữ lập trình C#, Javascript. - Các framework hỗ trợ: Entity Framework, Identity Framework… 1.4 GIỚI HẠN ĐỀ TÀI - Chưa xác thực email, số điện thoại. - Chưa liên kết với đơn vị vận chuyển để tính phí vận chuyển, giúp khách hàng xem chi tiết vị trí đơn hàng.

- Chưa cho khách hàng gửi video đánh giá sản phẩm.5 Ý NGHĨA KHOA HỌC VÀ CƠ SỞ THỰC TIỄN Đề tài đề cao khả năng lập trình thông qua việc học hỏi, tiếp thu công nghệ kỹ thuật để xây dựng website thương mại, hiểu và nắm rõ các tính năng cần có trong một website. Bên cạnh ý nghĩa khoa học, đề tài mong muốn mang đến một môi trường công bằng, cạnh tranh và an toàn cho người tiêu dùng. Người mua có thể tìm được sản phẩm mình cần và mua với giá có thể trải qua chọn lọc, người bán có thể giới thiệu sản phẩm tới nhiều người hơn. Qua đó, thúc đẩy sự phát triển của thương mại điện tử nước ta.

2 CHƯƠNG 2 CƠ SỞ LÝ THUYẾT 2.NET CORE MVC 2.1 Giới thiệu về ASP.NET Core ASP.NET Core là một framework mã nguồn mở , đa nền tảng, hiệu suất cao để xây dựng các ứng dụng kết nối Internet hiện đại, hỗ trợ đám mây.NET Core là một thiết kế lại của ASP.x, bao gồm những thay đổi về kiến trúc dẫn đến một khung mô-đun gọn gàng hơn, nhiều mô-đun hơn.2 Mô hình MVC ASP.NET Core MVC là một framework phong phú để xây dựng các ứng dụng web và API bằng cách sử dụng mẫu thiết kế Model-View-Controller. 1: Mô hình MVC .[5] Mẫu kiến trúc MVC tách ứng dụng thành ba nhóm thành phần chính: - Model: Đại diện cho dữ liệu và logic xử lý dữ liệu. Model thường bao gồm các lớp đối tượng (object classes) để biểu diễn dữ liệu và các logic xử lý dữ liệu như truy xuất cơ sở dữ liệu. - View: Đại diện cho giao diện người dùng.

View là nơi hiển thị dữ liệu cho người dùng và tương tác với họ thông qua các trình duyệt web. 3 - Controller: Đại diện cho bộ điều khiển của ứng dụng. Controller xử lý các yêu cầu từ người dùng, nếu cần tương tác với Model để lấy dữ liệu thì chuyển dữ liệu đó đến View để hiển thị cho người dùng còn không thì chuyển trực tiếp tới View để hiển thị cho người dùng. Mô hình MVC trong ASP.NET Core giúp tách biệt giao diện, logic xử lý dữ liệu, quy trình điều khiển, giúp cho việc phát triển và bảo trì trở nên dễ dàng hơn.

Đồng thời cũng tạo điều kiện cho việc tái sử dụng code và phân chia rõ ràng công việc cho FrontEnd Developer và BackEnd Developer.2 SQL SERVER Microsoft SQL Server là một hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS). Các ứng dụng và công cụ kết nối với phiên bản hoặc cơ sở dữ liệu SQL Server và giao tiếp bằng Transact-SQL (T-SQL).[6] Các thành phần và công nghệ của SQL Server bao gồm: - Database Engine: cơ sở dữ liệu là dịch vụ cốt lõi để lưu trữ, xử lý và bảo mật dữ liệu. - Machine Learning Services: hỗ trợ tích hợp học máy. - Integration Services: là nền tảng giúp xây dựng các giải pháp tích hợp dữ liệu hiệu suất cao, bao gồm các gói cung cấp khả năng xử lý trích xuất, chuyển đổi và tải (ETL) cho kho dữ liệu.

- Analysis Services: là nền tảng dữ liệu phân tích. - Reporting Services: cung cấp chức năng báo cáo. - Replication: là tập hợp các công nghệ nhằm sao chép và phân phối dữ liệu sau đó đồng bộ hóa để duy trì tính nhất quán. - Data Quality Services: cung cấp các giải pháp làm sạch dữ liệu.

- Master Data Services: là giải pháp SQL Server để quản lý dữ liệu chính.1 Hash password Hass Password là kĩ thuật biến đổi mật khẩu thành một chuỗi dữ liệu khác giúp ngăn chặn việc kẻ tấn công dễ dàng đánh cắp. Việc hash password được coi 4 là một phần quan trọng của việc bảo vệ hệ thống. Dưới đây là các tác dụng của việc hash password: - Bảo vệ hệ thống: khi mật khẩu được lưu trữ dưới dạng chuỗi hash, ngay cả khi bị đánh cắp thì mật khẩu gốc cũng không dễ dàng bị lộ ra ngoài. - Khi hash password các mật khẩu gốc giống nhau thì chuỗi hash được tạo sẽ khác nhau.

- Bảo vệ quyền riêng tư của người dùng: việc hash password giúp ngăn ngừa việc xâm nhập và đánh cắp trái phép tài khoản người dùng. - Tuân thủ quy định bảo mật. Trong dự án của tôi có sử dụng Identity Framework để hỗ trợ chức năng đăng kí, đăng nhập…Với Identity Framework việc hash password mặc định sử dụng thuật toán PBKDF2 (Password-Based Key Derivation Function 2). Dưới đây là công thức thuật toán PBKDF2: Key=PBKDF2(Password, Salt, Iterations-count, Hash-function, Derived-key-len) Giải thích dữ liệu đầu vào PBKDF2 bao gồm: - Password: mật khẩu đầu vào.

- Salt: là một chuỗi bit ngẫu nhiên được tạo để tăng cường tính bảo mật của quá trình băm. - Iterations-count: số lần lặp của quá trình băm giúp tăng độ phức tạp. - Hash-function: là hàm hash được sử dụng, ví dụ như SHA-1, SHA-256, SHA-512. - Derived-key-len: là độ dài của khóa tạo ra.[7] Để tăng độ phức tạp của mật khẩu khi đăng kí, Identity Framwork hỗ trợ các cài đặt được thực hiện bên trong file Startup.

2: Các lựa chọn tăng cường độ mạnh mật khẩu 5 2.2 Ngăn chặn XSRF/CSRF XSRF/ CSRF (Cross-site request forgery) là kiểu tấn công bằng cách kẻ tấn công lừa người dùng thực hiện hành động không mong muốn trong website với tài khoản đăng nhập của chính họ. Cuộc tấn công này thường xảy ra khi người dùng đăng nhập vào trang web sau đó lỡ truy cập vào một trang web khác thuộc quyền quản lí của kẻ tấn công. Khi trang web độc hại được tải, các yêu cầu không mong muốn gửi đến trang web ban đầu mà người dùng đã đăng nhập để thực hiện các hành động xâm nhập, tấn công, chiếm đoạt tài khoản,…[8] ASP.NET Core MVC hỗ trợ ngăn chặn các tấn công XSRF/CSRF qua: - FormTagHelper: để tạo ra một form Html trong Razor Views giúp đưa mã thông báo chống giả mạo vào các phần tử biểu mẫu HTML. Đánh dấu sau trong tệp Razor sẽ tự động tạo mã thông báo chống giả mạo.

3: Cách sử dụng form trong FormTagHelper - Phương thức Html.BeginForm: cũng giúp tự động đưa thông báo chống giả mạo vào các phần tử biểu mẫu HTML. 4: Cách sử dụng phương thức Html.BeginForm - ValidateAntiForgeryToken: thêm trực tiếp mã thông báo chống giả mạo vào một <form>. Đầu tiên, thêm @Html.AntiForgeryToken() vào trong <form>: Hình 2. 5: Cách thêm @Html.AntiForgeryToken() 6 Sau đó, thêm [ValidateAntiForgeryToken] trước Action trong Controller: Hình 2.

6: Cách gọi [ValidateAntiForgeryToken] - AutoValidateAntiforgeryToken: giúp tự động thêm mã thông báo chống giả mạo cho tất cả các action= “post” trong controller mà không cần phải thêm từng ValidateAntiForgeryToken vào các action= “post”.3 Ngăn chặn tấn công chuyển hướng mở Tấn công chuyển hướng mở là do các website thường xuyên chuyển hướng người dùng đến trang đăng nhập khi họ truy cập vào các nguồn tài nguyên yêu cầu xác thực. Việc chuyển hướng bao gồm một tham số chuỗi truy vấn để người dùng có thể quay lại Url ban đầu sau khi đăng nhập thành công. Vì Url đích được chỉ định trong chuỗi truy vấn của yêu cầu nên kẻ tấn công có thể giả mạo chuỗi truy vấn. Chuỗi truy vấn bị giả mạo có thể cho phép website chuyển hướng người dùng đến một trang web độc hại bên ngoài.

Trang web độc hại có thể giả mạo trang đăng nhập của web thực và yêu cầu người dùng nhập lại tài khoản đăng nhập. Nếu người dùng không để ý và đăng nhập lại thì thông tin tài khoản sẽ bị kẻ tấn công xâm nhập, tấn công, chiếm đoạt.[9] Ngoài giả mạo các trang đăng nhập thì kẻ tấn công có thể chuyển hướng người dùng tới nguyên website giả giống hệt website thực với đường dẫn Url gần giống (điều mà người dùng ít quan tâm) và tiến hành tấn công khi đánh cắp khi người dùng thực hiện đăng nhập trên website giả. Để ngăn chặn tấn công chuyển hưởng mở, hãy coi tất cả dữ liệu từ người dùng cung cấp là không tin cậy.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Tài liệu "Xây Dựng Website Bán Cây Sử Dụng ASP.NET Core MVC" cung cấp một cái nhìn tổng quan về quy trình phát triển một trang web thương mại điện tử chuyên về cây cảnh, sử dụng công nghệ ASP.NET Core MVC. Tài liệu này không chỉ hướng dẫn chi tiết về cách thiết lập và triển khai website, mà còn nhấn mạnh các lợi ích của việc sử dụng ASP.NET Core MVC, như khả năng mở rộng, hiệu suất cao và tính bảo mật. Độc giả sẽ tìm thấy những thông tin hữu ích về cách tối ưu hóa SEO cho website, giúp tăng cường khả năng hiển thị trên các công cụ tìm kiếm.

Nếu bạn muốn mở rộng kiến thức của mình về phát triển website, hãy tham khảo thêm tài liệu Phát triển website quản lý cửa hàng bán máy đào coin sử dụng angular và net framework đồ án tốt nghiệp, nơi bạn có thể tìm hiểu về việc áp dụng Angular và .NET Framework trong phát triển web. Ngoài ra, tài liệu Phát triển website quản lý bán hàng thời trang sober sử dụng reactjs nodejs mongo đồ án tốt nghiệp sẽ cung cấp cho bạn cái nhìn sâu sắc về việc sử dụng ReactJS và NodeJS trong lĩnh vực thương mại điện tử. Cuối cùng, tài liệu Đồ án tốt nghiệp công nghệ thông tin thiết kế website bán hải sản cũng là một nguồn tài liệu quý giá cho những ai quan tâm đến việc xây dựng các trang web bán hàng. Những liên kết này sẽ giúp bạn khám phá thêm nhiều khía cạnh khác nhau trong lĩnh vực phát triển website.