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 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 14 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) CHƯƠNG 2.1 Cơ sở lý luận và thực tiễn 2.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ên World Wide Web của Internet. Một trang web là tập tin HTML hoặ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ặc vậ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ình khá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.2 Tổng quan CSS [2] - CSS là chữ viết tắt của Cascading Style Sheets, nó là một ngôn ngữ đượ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ạng các phần tử trên website như việc tạo ra các đoạn văn bản, các tiê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. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 15 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) Hình CƠ SỞ LÝ THUYẾT.3 Lợi ích của website - Tăng khả năng tiếp cận khách hàng. - Tăng phạm vi khách hàng.
- Tăng tính tương tác. - Xúc tiến kinh doanh hiệu quả. - Dịch vụ khách hàng hiệu quả. - Nền tảng cho sản phẩm bán hàng.
- Xây dựng thương hiệu. - Xác định khách hàng tiềm năng. - Dễ dàng tuyển dụ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.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.
Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 16 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) - Hiện nay, phiên bản mới nhất của ngôn ngữ này là HTML5. Hình CƠ SỞ LÝ THUYẾT.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ũng giố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ệt khác nhau. Nodejs, hệ thống chương trình giúp chạy JavaScript ngoài trình duyệt. Hình CƠ SỞ LÝ THUYẾT.3 Logo JavaScript Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 17 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 2.6 Tổng quan về phpMyAdmin - phpMyAdmin là một công cụ quản trị cơ sở dữ liệu MySQL được phát triển dành riêng cho môi trường web. Dưới đây là một tổng quan 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ều tính năng khác. Nó cũng cung cấp một trình soạn thảo SQL tích hợp cho phép người dùng tạo và chỉnh sửa các truy vấn một cách thuận tiện. Giao Diện Dễ Sử Dụng: Giao diện của phpMyAdmin được thiết kế đơn giản và dễ hiểu, giúp người dùng dễ dàng thực hiện các tác vụ quản trị cơ sở dữ liệu mà không cần kiến thức chuyên sâu về SQL hoặc quản trị hệ thống cơ sở dữ liệu.
Đa Nền Tảng và Mã Nguồn Mở: phpMyAdmin là một ứng dụng web mã nguồn mở và hoạt động trên nhiều nền tảng hệ điều hành như Windows, macOS và Linux. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 18 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) Người dùng có thể tải và cài đặt phpMyAdmin một cách miễn phí 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: phpMyAdmin có một cộng đồng lớn và tích cực, với nhiều tài liệu, hướng dẫn và diễn đàn trực tuyến để giúp người dùng giả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ệu MySQL mạnh mẽ và linh hoạt, giúp người dùng quản lý và tương tác với cơ sở dữ liệu MySQL một cách dễ dàng thông qua giao diện web.
Hình CƠ SỞ LÝ THUYẾT.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ụng web. Dưới đây là một tổng quan về PHP: Mục Đích và Ứng Dụng: PHP được sử dụng chủ yếu để phát triển các trang web động và ứng dụng web. Nó có thể được sử dụng để tạo các trang web tĩnh, các hệ thống quản lý nội dung (CMS) như WordPress, Joomla, và Drupal, cũng như các ứng dụng web phức tạp như cửa hàng trực tuyến, diễn đàn, và hệ thống quản lý dữ liệu. Cú Pháp và Cấu Trúc: Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 19 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) PHP được nhúng trực tiếp vào mã HTML, cho phép tạo ra các trang web động một cách dễ dàng.
Cú pháp của PHP tương tự như các ngôn ngữ lập trình khác như C, Java, và JavaScript, giúp lập trình viên dễ dàng học và sử dụng. Tính Linh Hoạt và Mở Rộng: 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ìn thư viện và framework để giúp phát triển ứng dụng một cách nhanh chóng và hiệu quả.
Tính Bảo Mật: PHP được cập nhật và duy trì đều đặn để bảo vệ khỏi các lỗ hổng bảo mật mới. Có các phương pháp bảo mật như mã hóa và kiểm tra đầu vào để đảm bảo an toàn cho ứng dụng web. Hỗ Trợ Tốt từ Cộng Đồng: Cộng đồng PHP rất lớn và năng động, với nhiều tài liệu, hướng dẫn, và diễn đàn trực tuyến giúp lập trình viên giải quyết các vấn đề và học hỏi từ nhau. - 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ộng của nó, cũng như sự hỗ trợ mạnh mẽ từ cộng đồng lập trình viên PHP. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 20 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) Hình CƠ SỞ LÝ THUYẾT.8 Tổng quan về MySQL - MySQL là một hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến được sử dụng rộng rãi trên toàn thế giới. Dưới đây là một tổng quan về MySQL: Mục Đích và Ứng Dụng: MySQL được sử dụng chủ yếu để lưu trữ và quản lý dữ liệu trong các ứng dụng web và hệ thống thông tin. Nó thích hợp cho các ứng dụng như trang web, hệ thống quản lý nội dung (CMS), cửa hàng trực tuyến, diễn đàn, ứng dụng di động và nhiều ứng dụng khác.
Đặc Điểm Kỹ Thuật: MySQL là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) được xây dựng dựa trên ngôn ngữ SQL (Structured Query Language). Nó hỗ trợ nhiều tính năng quan trọng như các loại dữ liệu phong phú, giao dịch ACID (Atomicity, Consistency, Isolation, Durability), truy cập đa người dùng và nhiều hơn nữa. 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. Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) 21 Trần Viết Hoàng – 23NS032 – Website luyện tập và thi đấu CTF (Capture The Flag) Điều này làm cho MySQL trở thành lựa chọn phù hợp cho nhiều môi trường phát triển ứng dụng khác nhau. Mã Nguồn Mở và Cộng Đồng: MySQL là một dự án mã nguồn mở, cho phép người dùng tải và sử dụng miễn phí. Có một cộng đồng lớn và tích cực của các lập trình viên và chuyên gia trong lĩnh vực cơ sở dữ liệu, cung cấp hỗ trợ, tài liệu và các nguồn tài nguyên phong phú.