Đăng ký Đăng nhập
Trang chủ Báo cáo đồ án cuối kì bảo mật web đề tài website bán hàng tạp hóa...

Tài liệu Báo cáo đồ án cuối kì bảo mật web đề tài website bán hàng tạp hóa

.DOCX
174
1
128

Mô tả:

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ PHẦN MỀM ---------- BÁO CÁO ĐỒ ÁN CUỐI KÌ BẢO MẬT WEB ĐỀ TÀI: WEBSITE BÁN HÀNG TẠP HÓA Sinh viên thực hiện: Nhóm 1 Giảng viên hướng dẫn: ThS. Lê Thị Minh Châu TP. HỒ CHÍ MINH – THÁNG 07 NĂM 2020 2 ĐH SƯ PHẠM KỸ THUẬT TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ****** CỘNG HÒA XHCN VIỆT NAM Độc lập – Tự do – Hạnh phúc ****** PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN Họ và tên Sinh viên 1: MSSV 1: Họ và tên Sinh viên 2: MSSV 2: Chuyên ngành: Công nghệ phần mềm Tên đề tài: WEBSITE BÁN HÀNG TẠP HÓA Họ và tên giảng viên hướng dẫn: ThS. Lê Thị Minh Châu NHẬN XÉT 1. Về nội dung đề tài và khối lượng thực hiện ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………… 2. Ưu điểm ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………… 3. Khuyết điểm ……………………………………………………………………………………………… ……………………………………………………………………………………………… ……………………………………………………………………… 4. Đánh giá loại: ………………………………………………………………………….................... 5. Điểm: ……………………………………………………………………………………… TP. Hồ Chí Minh, ngày…tháng…năm 2020 Giảng viên hướng dẫn (Ký & ghi rõ họ tên) Website bán hàng tạp hóa 3 LỜI CẢM ƠN Nhóm thực hiêṇ đê tài xin chânn thành cam ơn Cô Lê Thị̀ Minh Chânn – giáo viên khoa Công nghê ̣ thông tin trương Đai học Sư pham ky thnân ̣t TP.HCM, đa giup đơ chung em rât nhiên trong viê ̣c lựa chọn đê tài, hương dân thực hiên, ̣ nên ý kiên nhân ̣n xet, cnng câp tài liêṇ tham khao trong qná trình thực hiêṇ đê tài. Chung em con gưi lơi cam ơn đên qný thầy cô khoa Công nghê ̣ thông tin trương đa giup đơ, giai đáp th́c ḿc trong qná trình thực hiê ̣n. Đồng thơi cam ơn các anh chị̀ khóa trươc đa cnng câp nhiên thông tin, tài liê ̣n tham khao; các ban cung khóa cung nhan trao đôi kinh nghiêm ̣ đê thực hiêṇ đê tài tôt hơn. Nhóm chung em rât mong nhân ̣n được những ý kiên đóng góp cua qný thầy cô và các ban đê đê tài ngày càng hoàn thiên. ̣ Xin chânn thành cam ơnm Nhóm thực hiê ̣n đê tài. TP.HCM, ngày 1 tháng 0 năm 2 2 Nhóm SV thực hiê ̣n Website bán hàng tạp hóa 1 MỤC LỤC PHIẾU NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN......................................................................2 LỜI CẢM ƠN............................................................................................................................................3 MỤC LỤC..................................................................................................................................................1 1. MỤC ĐÍCH - YÊU CẦU - TỔNG QUAN...........................................................................................4 2. TRÌNH BÀY BÀI TẬP LỚN................................................................................................................5 2.1 Phân tích yêu cầu.............................................................................................................................5 2.2 Thiết kế chức năng..........................................................................................................................6 2.2.1 Nhận diện từng tác nhân và chức năng trong sơ đồ...............................................................6 2.2.2 Các lược đồ Usecase..................................................................................................................9 2.2.3 Đặc tả các Usecase..................................................................................................................13 2.3 Thiết kế giao diện...........................................................................................................................19 2.3.1 Màn hình trang chủ................................................................................................................24 2.3.2 Màn hình chi tiết sản phẩm....................................................................................................25 2.3.3 Màn hình giỏ hàng..................................................................................................................25 2.3.4 Màn hình xác nhận đã đặt hàng............................................................................................26 2.3.5 Màn hình đăng nhập...............................................................................................................26 2.3.6 Màn hình Quên mật khẩu......................................................................................................26 2.3.7 Màn hình Quản lý tài khoản - Thông tin..............................................................................27 2.3.8 Màn hình Quản lý tài khoản - Đổi mật khẩu........................................................................27 2.3.9 Màn hình Quản lý loại mặt hàng và các màn hình liên quan..............................................27 2.3.10 Màn hình Quản lý mặt hàng và các màn hình liên quan...................................................29 2.3.11 Màn hình Quản lý Tag và các màn hình liên quan............................................................31 2.3.12 Màn hình Quản lý nhà cung cấp và các màn hình liên quan.............................................32 2.3.13 Màn hình Quản lý sản phẩm và các màn hình liên quan...................................................34 2.3.14 Màn hình Quản lý nhân viên và các màn hình liên quan..................................................36 2.3.15 Màn hình Quản lý đơn hàng và các màn hình liên quan...................................................37 2.4 Thiết kế cơ sở dữ liệu.....................................................................................................................39 2.4.1 ERD..........................................................................................................................................39 2.4.2 Lược đồ quan hệ.....................................................................................................................40 2.5 Thiết kế code..................................................................................................................................41 2.5.1 Area..........................................................................................................................................43 Website bán hàng tạp hóa 2 2.5.2 Data..........................................................................................................................................61 2.5.3 Extensions................................................................................................................................62 2.5.4 Models......................................................................................................................................65 2.5.5 TagHelpers..............................................................................................................................67 2.5.6 Utility.......................................................................................................................................68 2.5.7 ViewComponents....................................................................................................................68 2.5.8 Views........................................................................................................................................69 3. CÀI ĐẶT MÔI TRƯỜNG..................................................................................................................71 3.1 SQL Server.....................................................................................................................................71 3.1.1 Download SQL Server............................................................................................................71 3.1.2 Cài đặt SQL Server.................................................................................................................74 3.2 Visual Studio..................................................................................................................................85 3.2.1 Download Visual Studio 2019................................................................................................85 3.1.1 Cài đặt Visual Studio..............................................................................................................86 4. CHẠY CHƯƠNG TRÌNH..................................................................................................................91 1. Cài đặt CSDL...................................................................................................................................91 2. Cấu hình project trong Visual Studio..........................................................................................100 3. Deploy và Host project với IIS trên Windows.............................................................................105 4. Nâng cao tính bảo mật của trang sử dụng Secure Socket Layer SSL........................................126 5. CÁC LỖI BẢO MẬT – NGUYÊN NHÂN – GIẢI PHÁP NGĂN CHẶN CŨNG NHƯ CHỈNH SỬA CÁC LỖI XUẤT HIỆN TRONG PROJECT.............................................................................134 5.1 Phương pháp thủ công với các lỗi bảo mật thông dụng............................................................134 5.1.2. Broken Authentication:.......................................................................................................137 5.1.3. Sensitive Data Exposure:.....................................................................................................140 5.1.4. XML External Entities (XXE):...........................................................................................140 5.1.5. Broken Access Control:.......................................................................................................142 5.1.6. Security Misconfiguration:..................................................................................................145 5.1.7. Cross-Site Scripting (XSS):.................................................................................................146 5.1.8. Insecure Deserialization:.....................................................................................................147 5.1.9. Using Components with Known Vulnerabilities:..............................................................148 5.1.10. Insufficent Logging & Monitoring:..................................................................................149 5.2 Sử dung các công cụ quét lỗ hỏng bảo mật web........................................................................151 5.2.1 SQLMap................................................................................................................................151 Website bán hàng tạp hóa 3 5.2.2 OWASP Zed Attack Proxy (OWASP ZAP)........................................................................155 5.2.3 Burp Suite Professsional.......................................................................................................163 BẢNG PHÂN CÔNG CÔNG VIỆC.....................................................................................................170 TÀI LIỆU THAM KHẢO.....................................................................................................................171 Website bán hàng tạp hóa Mục đích – Yêu cầu – Tổng quan Trang 4 1. MỤC ĐÍCH - YÊU CẦU - TỔNG QUAN Mục đích: - Tìm hiểu, phát hiện các lỗ hổng có thể tấn công vào trang web sau đó tiến hành kiểm thử và sửa lỗ hổng đó. Yêu cầu: - Hiểu rõ được các phương thức tấn công, kiểm thử các tấn công đó và sửa thành công các lỗ hổng phát sinh. Tổng quan về trang web: - Website được phát triển bằng ASP.NET Core MVC của Microsoft và sử dụng phương pháp Code first để thiết kế và xây dựng thành 1 website phục vụ kinh doanh online cho một cửa hàng tạp hóa. - Người quản trị và nhân viên sẽ có thể thông qua website để nhận đơn hàng qua đó dễ dàng quản lí đơn hàng và có thể chuẩn bị sản phẩm trước cho khách hàng nhằm tiết kiệm thời gian cho khách hàng. Đồng thời, website sẽ là phương tiện quảng bá hình ảnh và giới thiệu sản phẩm cho các khách hàng chưa có điều kiện đến xem tại cửa hàng. Website bán hàng tạp hóa Trình bày bài tập lớn Trang 5 2. TRÌNH BÀY BÀI TẬP LỚN 2.1 Phân tích yêu cầu Các chức năng của website: Website đảm bảo các yếu tố cơ bản của xác thực và phân quyền như: mỗi nhân viên, người quản trị có một tài khoản riêng, các nhân viên không thể truy cập các trang của người quản trị, người quản trị có thể khóa tài khoản của một nhân viên và mỗi nhân viên sẽ chỉ có thể quản lí những đơn hàng đã được giao cho mình. Chức năng của khách hàng: - Xem danh sách sản phẩm của cửa hàng - Tạo đơn đặt hàng với các thông tin sản phẩm cần mua, thông tin liên lạc và ngày giờ nhận hàng. Chức năng của người quản trị: - Quản lí danh sách sản phẩm của website thông qua việc quản lí từng danh mục: loại mặt hàng (Thực phẩm, đồ uống, đồ dùng gia đình…), mặt hàng (mì, bánh ngọt, đồ uống có gas, nước ngọt, bàn chải, kem đánh răng…) và sản phẩm (gói mì Hảo Hảo, thùng mì Hảo Hảo, bánh mì ngọt Kinh Đô vị dứa, bánh mì ngọt Kinh đô vị bơ…) - Quản lí danh sách các Tag (được gắn cho sản phẩm với các Tag thông dụng như Hot, New, Sale…) - Quản lí danh sách các Nhà cung cấp - Quản lí danh sách Nhân viên và tạo tài khoản cho Nhân viên mới. - Quản lí danh sách Đơn hàng: xem, duyệt hoặc giao đơn cho một Nhân viên. - Quản lí tài khoản cá nhân: đổi mật khẩu, đổi email liên lạc, xác nhận email để phục hồi mật khẩu. Chức năng của nhân viên: Website bán hàng tạp hóa Trình bày bài tập lớn - Trang 6 Quản lí danh sách đơn hàng được chỉ định cho mình để qua thông tin đơn hàng đó liên hệ khách hàng xác nhận đơn và chuẩn bị sản phẩm. - Quản lí tài khoản cá nhân: đổi mật khẩu, đổi email liên lạc, xác nhận email để phục hồi mật khẩu. 2.2 Thiết kế chức năng 2.2.1 Nhận diện từng tác nhân và chức năng trong sơ đồ Tên tác nhân Khách hàng Chức năng - Đăng nhập - Thêm hàng vào giỏ - Bỏ hàng ra khỏi giỏ - Thanh toán - Quên mật khẩu (Khôi phục mật - khẩu) Quản lý đơn hàng o Xem danh sách đơn hàng o Tìm kiếm đơn hàng o Duyệt đơn hàng Nhân viên o Xóa đơn hàng o Chỉnh sửa thông tin đơn hàng Người quản trị - Đổi mật khẩu tài khoản - Đăng xuất Quản lý đơn hàng o Xem danh sách đơn hàng o Tìm kiếm đơn hàng o Duyệt đơn hàng o Xóa đơn hàng o Chỉnh sửa thông tin đơn Website bán hàng tạp hóa Trình bày bài tập lớn Trang 7 hàng - Đổi mật khẩu tài khoản - Đăng xuất - Quản lý loại mặt hàng o Xem danh sách loại mặt hàng o Thêm loại mặt hàng o Chỉnh sửa loại mặt hàng o Xóa loại mặt hàng - Quản lý mặt hàng o Xem danh sách mặt hàng o Thêm mặt hàng o Chỉnh sửa mặt hàng o Xóa mặt hàng - Quản lý nhà cung cấp o Xem danh sách nhà cung cấp o Thêm nhà cung cấp o Chỉnh sửa nhà cung cấp o Xóa nhà cung cấp - Quản lý Tag o Xem danh sách Tag o Thêm Tag o Chỉnh sửa thông tin Tag o Xóa Tag - Quản lý nhân viên o Xem danh sách nhân viên Website bán hàng tạp hóa Trình bày bài tập lớn Trang 8 o Thêm nhân viên o Chỉnh sửa thông tin nhân viên o Xóa nhân viên - Quản lý sản phẩm o Xem danh sách sản phẩm o Thêm sản phẩm o Chỉnh sửa thông tin sản phẩm o Xóa sản phẩm Website bán hàng tạp hóa Trình bày bài tập lớn 2.2.2 Các lược đồ Usecase Usecase Website Bán hàng tạp hóa Chi tiết hóa Usecase quản lý đơn hàng Website bán hàng tạp hóa Trang 9 Trình bày bài tập lớn Chi tiết hóa Usecase Quan ly loai mat hang Chi tiết hóa Usecase Quan ly mat hang Website bán hàng tạp hóa Trang 10 Trình bày bài tập lớn Chi tiết hóa Usecase Quan ly nha cung cap Chi tiết hóa Usecase Quan ly nhan vien Website bán hàng tạp hóa Trang 11 Trình bày bài tập lớn Chi tiết hóa Usecase Quan ly san pham Chi tiết hóa Usecase quan ly tag Website bán hàng tạp hóa Trang 12 Trình bày bài tập lớn Trang 13 2.2.3 Đặc tả các Usecase Use case Đăng nhập Mô tả Dành cho người quản trị, nhân viên đăng nhập vào tài khoản cá Tác nhân kích hoạt Tiền điều kiện Các bước thực hiện nhân để thực hiện các chức năng của mình. Người quản trị, nhân viên Chưa có tài khoản nào đăng nhập (1) Chọn nút “Đăng Nhập” trên Navbar (2) Nhập thông tin tài khoản và mật khẩu (3) Chọn nút “Đăng nhập” (4) Hệ thống kiểm tra thông tin đã nhập, trả về trang chủ với giao diện có chắc chức năng tương ứng của tài khoản đã nhập và báo lỗi nếu thông tin đã nhập không chính xác. Use case Thêm sản phẩm vào giỏ hàng Mô tả Cho phép khách hàng thêm sản phẩm cần đặt vào giỏ hàng Tác nhân kích hoạt Khách hàng Tiền điều kiện Sản phẩm muốn thêm chưa có trong giỏ hàng Các bước thực hiện (1) Từ giao diện thông tin chi tiết sản phẩm (2) Chọn số lượng của sản phẩm đang xem. (3) Chọn nút “Thêm vào giỏ” để thêm sản phẩm vào giỏ hàng và lưu thay đổi trong CSDL. Use case Bỏ sản phẩm khỏi giỏ hàng Mô tả Cho phép khách hàng bỏ sản phẩm khỏi giỏ hàng. Tác nhân kích hoạt Khách hàng Tiền điều kiện Sản phẩm muốn bỏ phải đang có trong giỏ hàng Các bước thực hiện (1) Ấn vào Giỏ hàng trên Navbar (2) Ấn vào nút “Xóa” (có hình Thùng rác) nằm cạnh sản Website bán hàng tạp hóa Trình bày bài tập lớn Trang 14 phẩm muốn bỏ khỏi giỏ. Hoặc (1) Từ giao diện thông tin chi tiết sản phẩm. (2) Chọn nút “Bỏ khỏi giỏ” để bỏ sản phẩm khỏi giỏ hàng. Use case Đặt hàng Mô tả Cho phép khách hàng đặt mua những sản phẩm đang có trong Tác nhân kích hoạt Tiền điều kiện Các bước thực hiện giỏ hàng của mình Khách hàng Người dùng có ít nhất 1 sản phẩm trong giỏ hàng (1) Chọn nút “Giỏ hàng” trên Navbar để truy cập giao diện đặt hàng với thông tin giỏ hàng hiện tại. (2) Kiểm tra các sản phẩm trong giỏ (có thể bỏ sản phẩm không muốn trong giỏ nếu đổi ý), điền các thông tin cần thiết để tạo đơn hàng như: Tên khách hàng, số điện thoại, địa chỉ, ngày nhận hàng, giờ nhận. (3) Chọn nút “Đặt hàng” (4) Sau khi đặt hàng thành công sẽ đưa người dùng đến trang thông báo tạo đơn hàng thành công với thông tin đơn hàng đã được tạo. Use case Duyệt đơn hàng Mô tả Cho phép người quản trị, nhân viên duyệt đơn cho khách hàng Tác nhân kích hoạt Tiền điều kiện Các bước thực hiện hoặc cho phép người quản trị giao đơn cho 1 nhân viên xử lí. Người quản trị, nhân viên Nếu người quản trị muốn giao đơn cho nhân viên: Website bán hàng tạp hóa Trình bày bài tập lớn Trang 15 (1) Tại giao diện quản lí đơn hàng, người quản trị chọn nút “Chi tiết” của đơn hàng muốn giao. (2) Kiểm tra thông tin đơn hàng . (3) Chọn nhân viên để giao đơn xử lí. (4) Ấn nút “Cập nhật” để lưu thay đổi. Nếu muốn duyệt đơn cho khách hàng: (1) Tại giao diện quản lí đơn hàng, người quản trị chọn nút “Chi tiết” của đơn hàng muốn duyệt. (2) Kiểm tra thông tin đơn hàng và chuẩn bị hàng (3) Nếu là người quản trị sẽ có thể chọn nhân viên đã xử lí đơn (giống như là giao đơn cho người đó xử lí nếu trước đó chưa giao) (4) Tích chọn trong ô Trạng thái để đánh đấu đơn đã duyệt (5) Ấn nút “Cập nhật” để lưu thay đổi. Website bán hàng tạp hóa Trình bày bài tập lớn Trang 16 Use case Thêm sản phẩm mới Mô tả Cho phép người quản trị thêm sản phẩm mới Tác nhân kích hoạt Người quản trị Tiền điều kiện Các bước thực hiện (1) Chọn nút “Sản phẩm” trên Navbar để truy cập giao diện quản lí sản phẩm. (2) Tại giao diện quản lí sản phẩm. Chọn “Tạo sản phẩm mới”. (3) Điền thông tin sản phẩm mới sẽ thêm bao gồm: Tên, giá, mặt hàng, tag, nhà cung cấp, mô tả sản phẩm, hình, trạng thái. Lưu ý: các thông tin như mặt hàng, tag, nhà cung cấp sẽ chọn 1 trong các đổi tượng có trong CSDL, hình sẽ chọn hình từ máy tính để làm ảnh đại diện sản phẩm. (4) Chọn nút “Tạo” để thêm sản phẩm vào CSDL. Use case Sửa thông tin sản phẩm Mô tả Cho phép người quản trị thay đổi thông tin một sản phẩm. Tác nhân kích hoạt Người quản trị Tiền điều kiện Sản phẩm muốn thay đổi đã có trong CSDL Các bước thực hiện Tại giao diện quản lí sản phẩm: (1) Chọn nút “Chi tiết” của sản phẩm muốn sửa thông tin. (2) Điền thông tin muốn thay đổi (3) Chọn nút “Lưu” để lưu thay đổi. Use case Xóa sản phẩm Mô tả Cho phép người quản trị xóa một sản phẩm Tác nhân kích hoạt Người quản trị Tiền điều kiện Sản phẩm muốn xóa đã có trong CSDL Website bán hàng tạp hóa Trình bày bài tập lớn Các bước thực hiện Trang 17 Tại giao diện quản lí sản phẩm: (1) Chọn nút “Xóa” của sản phẩm muốn xóa. (2) Kiểm tra thông tin muốn xóa (3) Chọn nút “Xóa” để xóa sản phẩm khỏi CSDL. Use case Thêm nhân viên mới (Tạo tài khoản mới) Mô tả Cho phép người quản trị thêm một nhân viên (hay tạo một tài Tác nhân kích hoạt Tiền điều kiện Các bước thực hiện khoản mới tương ứng cho nhân viên mới) Người quản trị (1) Chọn nút “Nhân viên” trên Navbar để truy cập giao diện quản lí nhân viên. (2) Tại giao diện quản lí nhân viên. Chọn “Thêm nhân viên mới”. (3) Điền thông tin nhân viên mới sẽ thêm bao gồm: Email, mật khẩu, xác nhận mật khẩu, tên nhân viên, số điện thoại, địa chỉ và tích chọn Quản lí nếu nhân viên mới cần thêm là 1 người quản trị. (4) Chọn nút “Đăng kí” để thêm nhân viên mới và tạo tài khoản mới vào CSDL. Use case Đổi mật khẩu Mô tả Cho phép người quản trị, nhân viên thay đổi mật khẩu tài Tác nhân kích hoạt Tiền điều kiện Các bước thực hiện khoản cá nhân. Người quản trị, nhân viên (1) Chọn nút “Chào! [Tên nhân viên]” trên Navbar để truy cập giao diện quản lí tài khoản. (2) Tại giao diện quản lí tài khoản. Chọn nút “Đổi mật Website bán hàng tạp hóa
- Xem thêm -

Tài liệu liên quan