1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo Đồ Án cơ sở 2 Đề tài xây dựng website luyện tập và thi Đấu ctf (capture the flag)

55 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 55
Dung lượng 4,37 MB

Nội dung

Frontend là giao diện người dùng, nơi ngườidùng tương tác trực tiếp với website để rèn luyện kỹ năng an ninh mạng của mình.Backend là phần xử lý logic và quản lý cơ sở dữ liệu, đảm bảo r

Trang 1

KHOA KỸ THUẬT MÁY TÍNH & ĐIỆN TỬ

BÁO CÁO ĐỒ ÁN CƠ SỞ 2

ĐỀ TÀI: XÂY DỰNG WEBSITE LUYỆN TẬP VÀ THI ĐẤU CTF (CAPTURE THE

Trang 2

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG VIỆT - HÀN

KHOA KỸ THUẬT MÁY TÍNH & ĐIỆN TỬ

BÁO CÁO ĐỒ ÁN CƠ SỞ 2

ĐỀ TÀI: XÂY DỰNG WEBSITE LUYỆN TẬP VÀ THI ĐẤU CTF (CAPTURE THE

Trang 4

LỜI CẢM ƠN

Em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đốivới các thầy cô của trường Đại học Công nghệ thông tin vàTruyền thông Việt – Hàn, đặc biệt là các thầy cô trong hai khoa

là khoa Khoa học máy tính và khoa Kỹ thuật máy tính của trường

đã tạo điều kiện cho em thực hiện đồ án Em cũng xin chânthành cảm ơn cô ThS Trần Thu Thủy và cô ThS Phan Phạm Thị

My Ly đã nhiệt tình hướng dẫn em hoàn thành tốt đồ án này Trong quá trình làm đồ án, khó tránh khỏi sai sót, rất mongcác thầy cô bỏ qua Đồng thời do trình độ lý luận cũng như kinhnghiệm thực tiễn còn hạn chế nên bài báo cáo không thể tránhkhỏi những thiếu sót, em rất mong sẽ nhận được ý kiến đóng gópcủa thầy cô để chúng em học thêm được nhiều kinh nghiệm và sẽhoàn thành tốt hơn các bài báo cáo khác trong những năm tới

Em xin chân thành cảm ơn!

Đà Nẵng, ngày 1 tháng 12 năm 2024

Người thực hiện:

Trần Viết Hoàng – 23NS032

Trang 6

NHẬN XÉT

(Của giảng viên hướng dẫn)

-

Trang 7

-MỤC LỤC

LỜI CẢM ƠN i

NHẬN XÉT ii

MỤC LỤC iii

DANH MỤC KÝ HIỆU, CÁC CHỮ VIẾT TẮT vi

DANH MỤC HÌNH VẼ, ĐỒ THỊ vii

CHƯƠNG 1 GIỚI THIỆU CHUNG 1

1.1 Tính cấp thiết của đề tài 1

1.2 Mục tiêu của đề tài 2

1.3 Đối tượng và phạm vi nghiên cứu 2

1.4 Phương pháp nghiên cứu 2

1.5 Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài 3

1.5.1 Ý nghĩa lý luận của đề tài 3

1.5.2 Ý nghĩa thực tiễn của đề tài: 3

1.6 Khảo sát, xác định yêu cầu 4

1.6.1 Mục đích 4

1.6.2 Phạm vi 4

1.7 Bố cục của đề tài 4

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

2.1 Cơ sở lý luận và thực tiễn 5

2.1.1 Giới thiệu Website 5

2.1.2 Tổng quan CSS 5

2.1.3 Lợi ích của website 6

2.1.4 Tổng quan HTML 6

2.1.5 Tổng quan về ngôn ngữ lập trình Javascript 6

2.1.6 Tổng quan về phpMyAdmin 7

2.1.7 Tổng quan về PHP 8

2.1.8 Tổng quan về MySQL 10

2.1.9 Tổng quan về công cụ Visual Studio Code 11

2.2 Giới thiệu sơ lược về các thư viện hỗ trợ 12

2.2.1 Thư viện Laravel 12

Trang 8

2.3 Hướng tiếp cận của đề tài 13

2.3.1 Giới thiệu đồ án 14

2.3.2 Quy mô website 14

CHƯƠNG 3 PHÂN TÍCH THIẾT KẾ HỆ THỐNG 15

3.1 Đặc tả yêu cầu phần mềm (Software Requirements) 15

3.1.1 Người dùng chưa đăng ký 15

3.1.2 Người dùng đã đăng ký 15

3.1.3 Quản trị viên 15

3.2 Sơ đồ Use-case 16

3.2.1 Sơ đồ Use-case tổng quát 16

3.2.2 Sơ đồ phân rã Use-case cho người dùng 17

3.2.3 Sơ đồ phân rã Use-case cho quản trị viên 18

3.3 Sơ đồ lớp (Class Diagram) 19

3.4 Sơ đồ hoạt động (Activity Diagram) 20

3.4.1 Sơ đồ hoạt động tổng quát 20

3.4.2 Sơ đồ hoạt động trang đăng nhập/đăng ký 21

3.4.3 Sơ đồ hoạt động trang luyện tập 21

3.4.4 Sơ đồ hoạt động trang đội thi 22

3.4.5 Sơ đồ hoạt động trang thi đấu 23

3.5 Sơ đồ tuần tự (Sequence Diagram) 24

3.5.1 Sơ đồ tuần tự trang đăng nhập/đăng ký 24

3.5.2 Sơ đồ tuần tự trang đội thi 25

3.5.3 Sơ đồ tuần tự trang luyện tập 26

3.5.4 Sơ đồ tuần tự trang thi đấu 26

CHƯƠNG 4 XÂY DỰNG CHƯƠNG TRÌNH VÀ KIỂM THỬ 27

4.1 Thiết kế giao diện 27

4.2 Giao diện website: 27

4.2.1 Giao diện trang chủ 27

4.2.2 Giao diện đăng nhập/đăng ký 28

4.2.3 Giao diện luật thi đấu 29

4.2.4 Giao diện trang danh sách người dùng 30

Trang 9

4.2.5 Giao diện trang danh sách đội thi 30

4.2.6 Giao diện trang luyện tập 31

4.2.7 Giao diện trang tạo/tham gia đội thi 31

4.2.8 Giao diện trang thi đấu 32

4.2.9 Giao diện trang nộp cờ 33

4.2.10 Giao diện trang bảng xếp hạng 33

4.2.11 Giao diện trang người dùng 34

4.2.12 Giao diện trang thông tin đội thi 34

4.2.13 Giao diện trang quản trị viên 35

4.2.14 Giao diện trang cài đặt 35

4.3 Kiểm thử và đánh giá 35

4.3.1 Kiểm thử 35

4.3.2 Đánh giá 36

CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 37

5.1 Kết quả đạt được: 37

5.2 Hướng nghiên cứu phát triển 38

TÀI LIỆU THAM KHẢO 39

Trang 11

DANH MỤC HÌNH VẼ, ĐỒ THỊ

Hình 2.1 Logo CSS 13

Hình 2.2 Logo HTML 14

Hình 2.3 Logo JavaScript 15

Hình 2.4 Logo phpMyAdmin 16

Hình 2.5 Logo PHP 17

Hình 2.6 Logo MySQL 19

Hình 2.7 Logo Visual Studio Code 20

Hình 2.8 Logo Laravel 21

Hình 3.1 Sơ đồ Use-case tổng quát 24

Hình 3.2 Sơ đồ phân rã Use-case cho người dùng 25

Hình 3.3 Sơ đồ phân rã Use-case cho quản trị viên 26

Hình 3.4 Sơ đồ lớp (Class Diagram) 27

Hình 3.5 Sơ đồ hoạt động tổng quát 28

Hình 3.6 Sơ đồ hoạt động trang đăng nhập/đăng ký 29

Hình 3.7 Sơ đồ hoạt động trang luyện tập 29

Hình 3.8 Sơ đồ hoạt động trang luyện tập 30

Hình 3.9 Sơ đồ hoạt động trang thi đấu 31

Hình 3.10 Sơ đồ tuần tự trang đăng nhập/đăng ký 32

Hình 3.11 Sơ đồ tuần tự trang đội thi 33

Hình 3.12 Sơ đồ tuần tự trang luyện tập 34

Hình 3.13 Sơ đồ tuần tự trang thi đấu 34

Hình 4.1 Giao diện trang chủ 35

Hình 4.2 Giao diện đăng nhập 36

Hình 4.3 Giao diện đăng ký 36

Trang 12

Hình 4.4 Giao diện sau khi đăng nhập thành công 37

Hình 4.5 Giao diện trang luật thi đấu 37

Hình 4.6 Giao diện danh sách người dùng 38

Hình 4.7 Giao diện danh sách đội thi 38

Hình 4.8 Giao diện trang luyện tập 39

Hình 4.9 Giao diện trang tạo đội thi 39

Hình 4.10 Giao diện trang tham gia đội thi 40

Hình 4.11 Giao diện trang thi đấu 40

Hình 4.12 Giao diện trang nộp cờ 41

Hình 4.13 Giao diện trang bảng xếp hạng 41

Hình 4.14 Giao diện trang người dùng 42

Hình 4.15 Giao diện trang thông tin đội thi 42

Hình 4.16 Giao diện trang quản trị viên 43

Hình 4.17 Giao diện trang cài đặt 43

Trang 13

CHƯƠNG 1 GIỚI THIỆU CHUNG

1.1 Tính cấp thiết của đề tài

Đề tài "Xây dựng website luyện tập và thi đấu CTF (CaptureThe Flag)" mang lại nhiều lợi ích và có tính cấp thiết trong nhiềukhía cạnh:

 Đào tạo nhân lực ngành an ninh mạng hiện nay: Với bối cảnh

ngành an ninh mạng đang trở thành mối quan tâm hàngđầu với thế giới trong đó có Việt Nam Việc đào tạo độinhân lực cho ngành an ninh mạng là vô cùng cần thiết CTF

là hình thức thi đấu thực tế, giúp nâng cao kỹ năng thựchành bảo mật, điều tra, phân tích lỗ hổng Các cuộc thiCTF giúp người tham gia rèn luyện tư duy, kỹ năng giảiquyết vấn đề, và cập nhật những kiến thức mới

 Thiếu môi trường thực hành chuyên nghiệp: Tại Việt

Nam, số lượng website rèn luyện kĩ năng bảo mật cho sinhviên và người đi làm đang còn khá ít Hầu hết các nơi rènluyện đều là các website của các trường đại học, tổ chứcđến từ ngoài nước Ngay tại trường Đại học Công nghệthông tin và Truyền thông Việt-Hàn, Đại học Đà Nẵng mớichỉ có một website duy nhất phục vụ cho việc thi đấu CTFnhưng chưa hoạt động rộng rãi

 Thúc đẩy phong trào CTF: Tại VKU, phong trào CTF

trong sinh viên mới chỉ phát triển trong 2 năm trở lại đâynhưng vẫn chưa phổ biến với đa số sinh viên theo họcngành An toàn thông tin và Công nghệ thông tin Các cuộcthi CTF vẫn chưa thực sự thu hút được các bạn sinh viêntrong nhà trường tham gia

 Góp phần nâng cao nhận thức về an ninh mạng:

Website nhằm phục vụ cho sinh viên, người đi làm và được

Trang 14

sử dụng để phổ biến kiến thức cơ bản về an ninh mạng chongười dùng phổ thông, giảm thiểu rủi ro từ các cuộc tấncông mạng.

 Khuyến khích học tập thông qua thực hành: CTF

không chỉ là một cuộc thi mà còn là hình thức học tập quatrải nghiệm, giúp sinh viên và người đi làm nắm vững kiếnthức lý thuyết thông qua các bài toán thực tế Các thửthách trong CTF có thể mô phỏng các tình huống tấn côngthực tế, giúp người học nhanh chóng làm quen và giảiquyết các vấn đề phức tạp

Tóm lại, đề tài này không chỉ mang tính cấp thiết trong việc đàotạo nguồn nhân lực an ninh mạng, mà còn góp phần nâng cao nhậnthức và trình độ bảo mật thông tin trong cộng đồng

1.2 Mục tiêu của đề tài

Ưu tiên giao diện của website được được thiết kế theo phongcách đơn giản kết hợp với các màu sắc nhẹ nhàng, giúp cho ngườidùng không cảm thấy rối mắt khi truy cập vào website Cung cấpcác thông tin chính xác cho người dùng dễ nắm bắt, dễ sử dụng Xâydựng hệ thống luyện tập và thi đấu với đa dạng các thử thách Có hệthống xếp hạng cho việc thi đấu để khuyến khích người tham gia

1.3 Đối tượng và phạm vi nghiên cứu

Đối tượng của nghiên cứu này bao gồm các website luyện tập và thi đấu CTF trênthế giới Các kỹ thuật, phương pháp xây dựng và triển khai website CTF Các phươngpháp bảo mật hệ thống, bảo vệ dữ liệu người dùng khi truy cập vào website

Phạm vi nghiên cứu của đề tài tập trung vào các thành phần cấu thành nênwebsite, bao gồm frontend và backend Frontend là giao diện người dùng, nơi ngườidùng tương tác trực tiếp với website để rèn luyện kỹ năng an ninh mạng của mình.Backend là phần xử lý logic và quản lý cơ sở dữ liệu, đảm bảo rằng quá trình ngườidùng sử dụng đạt hiệu quả Triển khai một cách chính xác và hiệu quả cả hai phần này

sẽ đóng vai trò quan trọng trong việc cung cấp một trải nghiệm người dùng tốt nhấttrên website

Trang 15

1.4 Phương pháp nghiên cứu

Phương pháp nghiên cứu cho đề tài này sẽ bao gồm hai phầnchính: phân tích và khảo sát cũng như triển khai thực nghiệm

 Triển khai thực nghiệm:

- Xây dựng và triển khai website dựa trên các yêu cầu vàphân tích từ phần trước

- Thực nghiệm và kiểm thử tính năng của website với mộtnhóm người dùng thử nghiệm để thu thập phản hồi và đánhgiá hiệu suất của website

- Đánh giá sự đáp ứng của website đối với nhu cầu và mongmuốn của người dùng, cũng như tính chính xác và đáng tincậy của hệ thống

Phương pháp này sẽ giúp đảm bảo rằng website được xây dựngđáp ứng được các yêu cầu của người dùng và mang lại giá trị thực

sự trong việc rèn luyện kỹ năng an ninh mạng

1.5Ý nghĩa lý luận và ý nghĩa thực tiễn của đề tài

1.5.1 Ý nghĩa lý luận của đề tài

Đề tài giúp bổ sung kiến thức về cách xây dựng và triển khaicác hệ thống web phục vụ cho các cuộc thi CTF Qua đó, hiểu rõ hơn

về các nguyên tắc phát triển website, đặc biệt là các yêu cầu về bảomật Đồng thời, giúp nghiên cứu sâu hơn về mô hình tổ chức các

Trang 16

cuộc thi CTF và cách áp dụng vào thực tế, góp phần hoàn thiện lýthuyết về giáo dục và thi đấu trực tuyến trong lĩnh vực này.

1.5.2 Ý nghĩa thực tiễn của đề tài:

Website này không chỉ giúp tạo ra sân chơi cho những ngườiđam mê an ninh mạng mà còn giúp họ nâng cao kỹ năng thông quacác thử thách thực tế Đề tài có thể được ứng dụng trong các trườnghọc hoặc cộng đồng để tổ chức các cuộc thi CTF, từ đó phát hiện vàbồi dưỡng nhân tài trong lĩnh vực an ninh mạng Bên cạnh đó,website cũng tạo cơ hội để người dùng thực hành, thi đấu và học hỏilẫn nhau, góp phần xây dựng cộng đồng an ninh mạng mạnh hơn

1.6Khảo sát, xác định yêu cầu

1.6.1 Mục đích

Giai đoạn này tập trung vào việc thu thập thông tin và tài liệuliên quan đến giao diện của trang web, nhằm xác định các vấn đềcần giải quyết trước khi bắt đầu thiết kế và xây dựng trang web Nộidung cần khảo sát phải phù hợp với yêu cầu của người sử dụng vàquy mô của một trang web về lĩnh vực giáo dục và an ninh mạng Việc phân tích và xác định rõ yêu cầu của người dùng là rấtquan trọng để hiểu được mục đích và mong muốn của họ đối vớitrang web Cần tìm hiểu đầy đủ về các tính năng, chức năng, giaodiện, nội dung và các yêu cầu khác của trang web Điều này giúpngười phát triển có cái nhìn tổng quan về yêu cầu của người dùng

và có thể đưa ra các giải pháp phù hợp

Đích đến cuối cùng của công việc phân tích là tạo ra đặc tả yêucầu, là tài liệu ràng buộc giữa người dùng và người phát triển để đạtđược mục tiêu chung đó là tạo ra một trang web chuyên nghiệp,thân thiện với người sử dụng và đáp ứng đầy đủ các yêu cầu củangười dùng

Trang 17

1.7 Bố cục của đề tài

Nội dung của đồ án gồm có 3 chương:

- Chương 1: Giới thiệu chung

- Chương 2: Cơ sở lý thuyết

- Chương 3: Phân tích và thiết kế hệ thống

- Chương 4: Xây dựng website và kiểm thử

- Chương 5: Kết luận và hướng phát triển

Trang 18

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

2.1 Cơ sở lý luận và thực tiễn

2.1.1 Giới thiệu Website [1]

- Website hay còn gọi là trang web, là một tập hợp trang web,thường chỉ nằm trong một tên miền hoặc tên miền phụ trênWorld Wide Web của Internet Một trang web là tập tin HTMLhoặc XHTML có thể truy nhập dùng giao thức HTTP Trang mạng

có thể được xây dựng từ các tệp tin HTML (trang mạng tĩnh) hoặcvận hành bằng các CMS chạy trên máy chủ (trang mạng động)

- Trang mạng có thể được xây dựng bằng nhiều ngôn ngữ lập trìnhkhác nhau (PHP, Java, )

- Để một website hoạt động cần 3 yếu tố:

 Cần có tên miền (domain)

 Nơi lưu trữ website (server)

 Nội dung các trang web hoặc cơ sở dữ liệu thông tin

2.1.2 Tổng quan CSS [2]

- CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngônngữ được sử dụng để tìm và định dạng lại các phần tử được tạo

ra bởi các ngôn ngữ đánh dấu (ví dụ như HTML)

- Có thể hiểu đơn giản rằng, nếu HTML đóng vai trò định dạngcác phần tử trên website như việc tạo ra các đoạn văn bản, cáctiêu đề, bảng,…thì CSS sẽ giúp chúng ta có thể thêm một chút

“phong cách” vào các phần tử HTML đó như đổi màu sắc trang,đổi màu chữ, thay đổi cấu trúc,…rất nhiều

Trang 19

Hình CƠ SỞ LÝ THUYẾT.1 Logo CSS

2.1.3 Lợi ích của website

- Tăng khả năng tiếp cận khách hàng

- Tăng năng lực cạnh tranh

- Cập nhật thông tin một cách nhanh chóng

- Dễ dàng lấy ý kiến phản hồi từ khách hàng

- Phân tích sản phẩm

2.1.4 Tổng quan HTML [3]

- HTML (viết tắt của từ Hypertext Markup Language, hay là

"Ngôn ngữ Đánh dấu Siêu văn bản") là một ngôn ngữ đánh dấuđược thiết kế ra để tạo nên các trang web trên World Wide Web.Cùng với CSS và JavaScript, HTML là một trong những ngôn ngữquan trọng trong lĩnh vực thiết kế website

- Hiện nay, phiên bản mới nhất của ngôn ngữ này là HTML5

Trang 20

Hình CƠ SỞ LÝ THUYẾT.2 Logo HTML

2.1.5 Tổng quan về ngôn ngữ lập trình Javascript [4]

- JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu với cúpháp phát triển từ C Giống như C, JavaScript có khái niệm từkhoá, do đó, JavaScript gần như không thể được mở rộng.Cũnggiống như C, JavaScript không có bộ xử lý xuất/nhập(input/output) riêng

- Thư viện JavaScript nổi tiếng:

 Bộ khung Prototype kết hợp với thư viện Scriptaculous

 Thư viện jQuery, tiết kiệm thời gian viết mã lệnh cũng nhưcung cấp các hàm tương tác với DOM trên các trình duyệtkhác nhau

 Nodejs, hệ thống chương trình giúp chạy JavaScript ngoàitrình duyệt

Hình CƠ SỞ LÝ THUYẾT.3 Logo JavaScript

Trang 21

2.1.6 Tổng quan về phpMyAdmin

- phpMyAdmin là một công cụ quản trị cơ sở dữ liệu MySQL đượcphát triển dành riêng cho môi trường web Dưới đây là một tổngquan về phpMyAdmin:

 Quản lý Cơ Sở Dữ Liệu MySQL:

 phpMyAdmin cung cấp giao diện web đồ họa cho việc quản

lý cơ sở dữ liệu MySQL một cách dễ dàng và thuận tiện

 Nó cho phép người quản trị cơ sở dữ liệu thực hiện các tác vụnhư tạo cơ sở dữ liệu mới, bảng, chỉnh sửa cấu trúc bảng, vàthêm/xóa dữ liệu

 Hỗ Trợ Nhiều Chức Năng:

 phpMyAdmin cung cấp một loạt các chức năng quản trị cơ sở

dữ liệu như quản lý người dùng và quyền truy cập, sao lưu vàkhôi phục cơ sở dữ liệu, thực thi các truy vấn SQL, và nhiềutính năng khác

 Nó cũng cung cấp một trình soạn thảo SQL tích hợp chophép người dùng tạo và chỉnh sửa các truy vấn một cáchthuận tiện

 Người dùng có thể tải và cài đặt phpMyAdmin một cách miễnphí từ trang web chính thức hoặc sử dụng các gói cài đặt cósẵn trên các hệ điều hành

 Hỗ Trợ và Cộng Đồng:

Trang 22

 phpMyAdmin có một cộng đồng lớn và tích cực, với nhiều tàiliệu, hướng dẫn và diễn đàn trực tuyến để giúp người dùnggiải quyết các vấn đề và học hỏi từ nhau.

- Tóm lại, phpMyAdmin là một công cụ quản trị cơ sở dữ liệuMySQL mạnh mẽ và linh hoạt, giúp người dùng quản lý và tươngtác với cơ sở dữ liệu MySQL một cách dễ dàng thông qua giaodiện web

Hình CƠ SỞ LÝ THUYẾT.4 Logo phpMyAdmin

2.1.7 Tổng quan về PHP

- PHP (Hypertext Preprocessor) là một ngôn ngữ lập trình mãnguồn mở được sử dụng chủ yếu cho việc phát triển ứng dụngweb Dưới đây là một tổng quan về PHP:

Trang 23

 PHP hỗ trợ nhiều cơ sở dữ liệu phổ biến như MySQL,PostgreSQL, và SQLite, cho phép tương tác dễ dàng với dữliệu.

 Nó có thể chạy trên nhiều hệ điều hành như Windows,macOS, và Linux

 Cộng đồng PHP rất lớn và phong phú, cung cấp hàng nghìnthư viện và framework để giúp phát triển ứng dụng một cáchnhanh chóng và hiệu quả

- Tóm lại, PHP là một ngôn ngữ lập trình mạnh mẽ và linh hoạt,được sử dụng rộng rãi trong việc phát triển các ứng dụng webđộng Điều này là do tính linh hoạt, dễ sử dụng, và tính mở rộngcủa nó, cũng như sự hỗ trợ mạnh mẽ từ cộng đồng lập trình viênPHP

Hình CƠ SỞ LÝ THUYẾT.5 Logo PHP

Trang 24

 Hiệu Suất và Khả Năng Mở Rộng:

 MySQL được biết đến với hiệu suất cao và khả năng mở rộng tốt, cho phép

xử lý hàng trăm, thậm chí hàng nghìn truy vấn mỗi giây

 Nó hỗ trợ các cấu trúc dữ liệu và chỉ mục phức tạp, cùng với các kỹ thuật tối

ưu hóa để đảm bảo hiệu suất tối ưu

 Hỗ Trợ Đa Nền Tảng:

 MySQL hoạt động trên nhiều hệ điều hành phổ biến như Windows, macOS

và các bản phân phối của Linux

 Điều này làm cho MySQL trở thành lựa chọn phù hợp cho nhiều môi trườngphát triển ứng dụng khác nhau

Trang 25

- Tóm lại, MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ và linh hoạt, được sửdụng rộng rãi trong cộng đồng phát triển phần mềm và là một trong những lựachọn phổ biến nhất cho việc lưu trữ và quản lý dữ liệu trong các ứng dụng web và

hệ thống thông tin

Hình CƠ SỞ LÝ THUYẾT.6 Logo MySQL

2.1.9 Tổng quan về công cụ Visual Studio Code

- Visual Studio Code (VS Code) là một trình biên tập mã nguồn

mở, được phát triển bởi Microsoft Nó là một trong những công

cụ phổ biến nhất được sử dụng trong cộng đồng lập trình viênhiện nay, đặc biệt là cho việc phát triển phần mềm và ứng dụngweb Dưới đây là một tổng quan về các đặc điểm và tính năngchính của Visual Studio Code:

 Đa Nền Tảng: Visual Studio Code hỗ trợ trên nhiều hệ điềuhành phổ biến như Windows, macOS và Linux, cho phép lậptrình viên sử dụng nó trên môi trường làm việc ưa thích củahọ

 Nhẹ Nhàng và Linh Hoạt: VS Code được thiết kế để có hiệusuất cao và tối ưu cho việc lập trình Giao diện đơn giản và dễ

sử dụng, với khả năng tùy chỉnh linh hoạt để phù hợp với nhucầu cụ thể của từng người dùng

 Hỗ Trợ Ngôn Ngữ Đa Dạng: Visual Studio Code hỗ trợ một loạtcác ngôn ngữ lập trình phổ biến như JavaScript, TypeScript,Python, Java, C#, C++, và nhiều ngôn ngữ khác thông qua cácextension và plugin

Trang 26

 Tích Hợp Git: VS Code tích hợp sẵn Git, cho phép lập trìnhviên quản lý phiên bản mã nguồn một cách thuận tiện từ giaodiện của trình biên tập.

 Công Cụ Debugging và Profiling: Trình biên tập này cung cấpcác công cụ mạnh mẽ để debug và profile ứng dụng, giúpngười dùng tìm và sửa lỗi một cách hiệu quả

 Hỗ Trợ Extension và Plugin: VS Code có một cộng đồng phongphú và năng động, cung cấp hàng ngàn extension và plugincho các tính năng bổ sung như kiểm tra lỗi cú pháp, tự độnghoàn thành mã, quản lý dự án, và nhiều tính năng khác

 Cộng Đồng Phát Triển Mạnh Mẽ: Visual Studio Code được xâydựng và duy trì bởi một cộng đồng phát triển rộng lớn, với sựđóng góp từ hàng ngàn lập trình viên trên toàn thế giới

- Tóm lại, Visual Studio Code là một công cụ phát triển mã nguồn

mở mạnh mẽ, linh hoạt và dễ sử dụng, được sử dụng rộng rãitrong cộng đồng lập trình viên và được đánh giá cao về hiệu suất

và khả năng mở rộng

Hình CƠ SỞ LÝ THUYẾT.7 Logo Visual Studio Code

2.2Giới thiệu sơ lược về các thư viện hỗ trợ

2.2.1 Thư viện Laravel

- Laravel là một framework PHP mã nguồn mở, được thiết kế để phát triển các ứng

dụng web theo mô hình MVC (Model-View-Controller) Laravel được tạo ra bởi

Taylor Otwell vào năm 2011 và đã nhanh chóng trở thành một trong nhữngframework PHP phổ biến nhất hiện nay Laravel được sử dụng rộng rãi nhờ các ưuđiểm sau:

Trang 27

 Cú pháp đơn giản, dễ hiểu

 Laravel cung cấp cú pháp rõ ràng, dễ đọc, giúp người sử dụng viết mã nhanhhơn và dễ bảo trì hơn

 Ứng dụng rộng rãi trong các doanh nghiệp:

 Laravel được sử dụng rộng rãi trong các dự án lớn của các doanh nghiệp nhờkhả năng mở rộng và bảo mật cao

- Tóm lại, Laravel không chỉ là một framework PHP mạnh mẽ mà còn là một công

cụ giúp các nhà phát triển xây dựng các ứng dụng web chuyên nghiệp, hiệu quả vàbảo mật

Hình CƠ SỞ LÝ THUYẾT.8 Logo Laravel

2.3Hướng tiếp cận của đề tài

Trước tiên, cần tìm hiểu các mô hình thi đấu CTF hiện có và cácnền tảng luyện tập phổ biến nhằm xác định các tính năng cốt lõi cần

Ngày đăng: 03/12/2024, 11:43

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w