1. Trang chủ
  2. » Thể loại khác

Luận văn tìm hiểu và xây dựng modul quản trị người dùng

63 7 0

Đ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

Tiêu đề Luận Văn Tìm Hiểu Và Xây Dựng Modul Quản Trị Người Dùng
Trường học Trường Đại Học Dân Lập Hải Phòng
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2013
Thành phố Hải Phòng
Định dạng
Số trang 63
Dung lượng 1,22 MB

Cấu trúc

  • CHƯƠNG 1: GIỚI THIỆU BÀI TOÁN, LỰA CHỌN HƯỚNG TIẾP CẬN VÀ CÔNG NGHỆ (16)
    • 1.1 PHÁT BIỂU BÀI TOÁN (16)
    • 1.2 HƯỚNG TIẾP CẬN (16)
    • 1.3 LỰA CHỌN CÔNG NGHỆ (19)
    • 1.4 CÔNG NGHỆ WEB (21)
      • 1.4.1 HTTP và HTTPS (21)
      • 1.4.2 Phương thức trong HTTP (22)
      • 1.4.3 HTML (22)
      • 1.4.4 Java Script (22)
      • 1.4.5 Tổng quan về PHP (23)
      • 1.4.6 Tổng quan về MySQL (32)
      • 1.4.7 Kết hợp PHP và MySQL trong ứng dụng Website (34)
      • 1.4.8 Giới thiệu về CSS (35)
      • 1.4.9 Apache và IIS (35)
  • CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG (37)
    • 2.1 KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG (37)
      • 2.1.1 Khảo sát (37)
      • 2.1.2 Phân tích hệ thống (38)
    • 2.2 THIẾT KẾ GIAO DIỆN (51)
    • 2.3 MỘT SỐ KỸ THUẬT LẬP TRÌNH (55)
      • 2.3.1 Kỹ thuật bảo mật tài khoản (55)
      • 2.3.2 Kỹ thuật gửi mail (55)
      • 2.3.3 Kỹ thuật khóa tài khoản (56)
      • 2.3.4 Kỹ thuật phân quyền (57)
  • CHƯƠNG 3: THỬ NGHIỆM CHƯƠNG TRÌNH (58)
    • 3.1 XÂY DỰNG HỆ THỐNG (58)
    • 3.2 MỘT SỐ GIAO DIỆN VÀ KẾT QUẢ KHI THỬ NGHIỆM HỆ THỐNG (0)
  • KẾT LUẬN (61)
  • TÀI LIỆU THAM KHẢO (62)

Nội dung

GIỚI THIỆU BÀI TOÁN, LỰA CHỌN HƯỚNG TIẾP CẬN VÀ CÔNG NGHỆ

PHÁT BIỂU BÀI TOÁN

Module quản trị người dùng cho phép quản trị viên theo dõi và quản lý thông tin người dùng, bao gồm số lượng tài khoản, trạng thái online - offline, và lịch sử hoạt động của từng tài khoản.

Module bao gồm các chức năng:

Người dùng cần đăng ký tài khoản và đăng nhập vào hệ thống để sử dụng Họ có thể cập nhật thông tin cá nhân, đổi mật khẩu và lấy lại mật khẩu khi quên Ngoài ra, người dùng sẽ sử dụng các chức năng được phân quyền bởi người quản trị.

Người quản trị hệ thống có nhiệm vụ quản lý người dùng, bao gồm việc theo dõi số lượng người dùng, thông tin cá nhân và trạng thái của họ Họ cũng có khả năng xóa và khôi phục tài khoản đã bị xóa, phân quyền theo chức năng cho từng tài khoản và quản lý lịch sử hoạt động của người dùng.

HƯỚNG TIẾP CẬN

Có nhiều mô hình phát triển hệ thống, trong đó mô hình dữ liệu tập trung, mô hình Client-Server và mô hình Web-based là những mô hình phổ biến nhất.

Mô hình dữ liệu tập trung (Centralized database model) là một cấu trúc trong đó tất cả các thành phần xử lý ứng dụng, phần mềm cơ sở dữ liệu và cơ sở dữ liệu đều được lưu trữ trên một bộ xử lý duy nhất Ví dụ, người dùng máy tính cá nhân có thể chạy các chương trình ứng dụng sử dụng phần mềm cơ sở dữ liệu Oracle để truy cập vào cơ sở dữ liệu được lưu trên ổ cứng của máy tính đó Sự kết hợp này giúp tối ưu hóa hiệu suất và quản lý dữ liệu hiệu quả hơn.

Trong môi trường máy tính 24, ứng dụng đã được tối ưu hóa theo mô hình tập trung, với hầu hết công việc xử lý thông tin chính được thực hiện bởi nhiều tổ chức Chẳng hạn, bộ xử lý của máy mainframe sử dụng phần mềm cơ sở dữ liệu IMS hoặc DB2 của IBM có khả năng cung cấp truy cập nhanh chóng tới cơ sở dữ liệu trung tâm cho các trạm làm việc ở vị trí phân tán Tuy nhiên, trong nhiều hệ thống như vậy, cả ba thành phần của ứng dụng cơ sở dữ liệu đều hoạt động trên cùng một máy mainframe, cho thấy rằng cấu hình này vẫn phù hợp với mô hình tập trung.

Mô hình Client-Server là một cấu trúc phổ biến trong mạng máy tính, được áp dụng rộng rãi cho mọi trang web hiện nay Trong mô hình này, máy khách gửi yêu cầu đến máy chủ, và máy chủ sẽ xử lý yêu cầu và trả kết quả về cho máy khách Thuật ngữ "server" chỉ các chương trình cung cấp dịch vụ trên mạng, chấp nhận yêu cầu hợp lệ từ mọi nơi và thực hiện dịch vụ cần thiết Để giao tiếp, chương trình client và server sử dụng thông điệp qua cổng truyền thông IPC (Interprocess Communication) và phải tuân theo một giao thức chung Khi xây dựng mô hình client/server, người dùng có thể tạo giao thức riêng, nhưng thường chỉ thực hiện được ở tầng ứng dụng Hiện nay, nhiều giao thức chuẩn như TCP/IP, SNA, OSI, ISDN, X.25 và NetBIOS được sử dụng rộng rãi để đáp ứng nhu cầu phát triển mạng Máy tính chứa chương trình server được gọi là máy chủ, trong khi máy chứa chương trình client được gọi là máy tớ.

(client) Mô hình mạng trên đó có các máy chủ và máy tớ giao tiếp với nhau theo 1

Mô hình client/server, với 25 hoặc nhiều dịch vụ, là sự mở rộng tự nhiên cho việc truyền thông liên tiến trình trên máy tính cá nhân Mô hình này không chỉ giúp xây dựng các chương trình client/server một cách dễ dàng mà còn tối ưu hóa khả năng tương tác giữa chúng, từ đó nâng cao hiệu quả hoạt động.

Công nghệ dựa trên nền tảng web, hay còn gọi là web-based technology, đề cập đến các ứng dụng và phần mềm có thể truy cập thông qua trình duyệt trên Internet hoặc intranet Những ứng dụng này được phát triển bằng các ngôn ngữ lập trình như HTML và JavaScript, cho phép người dùng sử dụng chúng một cách dễ dàng và thuận tiện.

Các ứng dụng web ngày càng trở nên phổ biến nhờ vào những ưu điểm vượt trội, đặc biệt là tiện lợi cho người sử dụng trên các máy trạm Người dùng có thể truy cập các ứng dụng như Gmail hay các hệ thống bán lẻ mà không cần cài đặt phần mềm, chỉ cần sử dụng trình duyệt web Điều này cũng giúp việc cập nhật và duy trì hệ thống trở nên dễ dàng hơn, vì không yêu cầu cài đặt tại máy trạm Trong khi đó, với các hệ thống như FAST, người dùng vẫn phải cài đặt nhiều phần mềm như Framework, Crystal Report, SQL và các chương trình khác.

Người dùng có thể truy cập máy tính từ xa thông qua trình duyệt, miễn là có kết nối Internet ổn định Trong tương lai, nếu FAST áp dụng công nghệ Web-based, máy chủ tại văn phòng sẽ cài đặt chương trình FAST, cho phép làm việc hiệu quả từ xa.

Khách hàng có thể truy cập dịch vụ từ bất kỳ máy tính nào có kết nối Internet, điều này mang lại sự thuận lợi cho việc làm việc từ xa và mở rộng khả năng làm việc toàn cầu.

Bên cạnh những lợi ích vượt trội của máy trạm, ứng dụng web còn mang lại nhiều ưu điểm khác, chẳng hạn như khả năng tự động cập nhật chương trình thông qua việc cập nhật trực tuyến.

Việc sử dụng trình duyệt để làm việc trên 26 máy chủ cho phép người dùng kết hợp với các ứng dụng web khác như email và công cụ tìm kiếm Người dùng có thể chạy chương trình trên mọi hệ điều hành, bao gồm Windows, Linux và Mac, chỉ cần có trình duyệt để thực hiện công việc.

Ngoài ra, máy tính của chúng ta cũng ko cần đòi hỏi quá cao về cấu hình, đĩa trống…

Từ những phân tích trên với bài toán trong đồ án này em lựa chọn mô hình

Web-based và phân tích theo hướng chức năng.

LỰA CHỌN CÔNG NGHỆ

Có 2 công nghệ đƣợc sử dụng trong phát triển phần mềm là công nghệ nguồn mở và công nghệ nguồn đóng

Công nghệ nguồn đóng đề cập đến phần mềm mà mã nguồn không được công khai, yêu cầu người dùng phải mua bản quyền từ các nhà phân phối chính thức Việc sao chép và sử dụng phần mềm nguồn đóng mà không có sự cho phép được xem là hành vi vi phạm pháp luật Các ngôn ngữ lập trình liên quan đến công nghệ nguồn đóng thường được mã hóa khi đóng gói, với ASP.NET là một ví dụ tiêu biểu trong lập trình web, thường kết hợp với hệ quản trị SQL Server.

ASP.NET là nền tảng ứng dụng web do Microsoft phát triển, cho phép lập trình viên tạo ra trang web động, ứng dụng web và dịch vụ web Được giới thiệu lần đầu vào tháng 2 năm 2002 với phiên bản 1.0 của NET framework, ASP.NET là công nghệ kế thừa của Active Server Pages (ASP) và được biên dịch dưới dạng Common Language.

Runtime (CLR), cho phép những người lập trình viết mã ASP.NET với bất kỳ ngôn ngữ nào được hỗ trợ bởi NET language

SQL Server is a relational database management system (RDBMS) that utilizes Transact-SQL for data exchange between client computers and SQL Server instances An RDBMS consists of various components that facilitate efficient data management and retrieval.

SQL Server 2005 là một hệ quản trị cơ sở dữ liệu mạnh mẽ, hỗ trợ quản lý 27 cơ sở dữ liệu và các ứng dụng khác nhau trong RDBMS, được tối ưu cho môi trường cơ sở dữ liệu lớn lên đến Tera-Byte và phục vụ hàng ngàn người dùng cùng lúc Nó có khả năng tích hợp với các máy chủ khác như Microsoft Internet Information Server (IIS), E-Commerce Server và Proxy Server Hiện nay, các phiên bản phổ biến là Microsoft SQL Server 2005 và Microsoft SQL Server 2008.

Công nghệ nguồn mở là phần mềm có mã nguồn công khai và sử dụng giấy phép nguồn mở (General Public Licence – GPL), cho phép người dùng nghiên cứu, thay đổi, cải tiến và phân phối phần mềm Hiện nay, công nghệ nguồn mở ngày càng phổ biến nhờ vào kho mã nguồn phong phú với các module và template miễn phí hoặc một phần, phục vụ cho nhu cầu xây dựng hình ảnh và mạng lưới kinh doanh của cá nhân và tổ chức Người dùng có thể dễ dàng sử dụng hoặc tùy chỉnh phần mềm theo yêu cầu của mình Trong lĩnh vực lập trình web, PHP là một ngôn ngữ điển hình, thường kết hợp với hệ quản trị cơ sở dữ liệu MySQL.

PHP (viết tắt của "PHP: Hypertext Preprocessor") là một ngôn ngữ lập trình kịch bản mã nguồn mở, chủ yếu được sử dụng để phát triển các ứng dụng trên máy chủ Với khả năng nhúng dễ dàng vào trang HTML và tối ưu hóa cho các ứng dụng web, PHP nổi bật với tốc độ nhanh, cú pháp giống C và Java, cùng với độ dễ học, giúp rút ngắn thời gian xây dựng sản phẩm Chính vì những ưu điểm này, PHP đã nhanh chóng trở thành ngôn ngữ lập trình web phổ biến nhất trên toàn thế giới.

Ngôn ngữ PHP được phát triển nhờ sự đóng góp mạnh mẽ từ cộng đồng và Zend Inc., công ty của các nhà phát triển cốt lõi Các thư viện và tài liệu gốc của PHP là sản phẩm của sự hợp tác này.

PHP lập nên nhằm tạo ra một môi trường chuyên nghiệp để đưa PHP phát triển ở quy mô doanh nghiệp

MySQL là hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở phổ biến nhất thế giới, được ưa chuộng bởi các nhà phát triển trong quá trình phát triển ứng dụng Với tốc độ cao, tính ổn định và dễ sử dụng, MySQL hoạt động trên nhiều hệ điều hành và cung cấp nhiều hàm tiện ích mạnh mẽ Nhờ tính bảo mật cao, MySQL rất phù hợp cho các ứng dụng truy cập cơ sở dữ liệu trên Internet Quan trọng hơn, MySQL hoàn toàn miễn phí, cho phép người dùng tải về từ trang chủ.

CÔNG NGHỆ WEB

1.4.1 HTTP và HTTPS a) HTTP (Tiếng Anh: HyperText Transfer Protocol - Giao thức truyền tải siêu văn bản) là một trong năm giao thức chuẩn về mạng Internet, đƣợc dùng để liên hệ thông tin giữa Máy cung cấp dịch vụ (Web server) và Máy sử dụng dịch vụ (Web client) là giao thức Client/Server dùng cho World Wide Web-WWW, HTTP là một giao thức ứng dụng của bộ giao thức TCP/IP (các giao thức nền tảng cho Internet)

HTTPS, viết tắt của "Hypertext Transfer Protocol Secure", là sự kết hợp giữa giao thức HTTP và các giao thức bảo mật SSL hoặc TLS, nhằm đảm bảo việc trao đổi thông tin an toàn trên Internet Giao thức này thường được sử dụng cho các giao dịch nhạy cảm, nơi yêu cầu tính bảo mật cao.

Các phương thức HTTP được sử dụng để chỉ thị cho server thực hiện các tác vụ đặc biệt, trong đó IIS chỉ hỗ trợ ba phương thức chính Đầu tiên, phương thức GET yêu cầu server gửi một đối tượng như website, file hoặc hình ảnh thông qua địa chỉ URL Thứ hai, phương thức HEAD tương tự như GET nhưng chỉ trả về thông tin header của đối tượng mà không bao gồm toàn bộ dữ liệu Cuối cùng, phương thức POST cho phép HTTP Client gửi một đối tượng lên server.

HTML, viết tắt của HyperText Markup Language, là ngôn ngữ đánh dấu được thiết kế để tạo ra các trang web với thông tin trình bày trên World Wide Web Được định nghĩa như một ứng dụng đơn giản của SGML, HTML được sử dụng trong các tổ chức có yêu cầu xuất bản phức tạp và đã trở thành một tiêu chuẩn quan trọng trong lĩnh vực phát triển web.

Internet được duy trì bởi tổ chức World Wide Web Consortium (W3C), với phiên bản chính thức mới nhất của HTML là HTML 4.01 ra mắt vào năm 1999 Sau đó, XHTML đã được các nhà phát triển thay thế Hiện tại, HTML đang trong quá trình phát triển với phiên bản HTML5, hứa hẹn mang đến diện mạo mới cho Web.

JavaScript là ngôn ngữ lập trình kịch bản dựa trên đối tượng, phát triển từ các khái niệm nguyên mẫu Ngôn ngữ này được sử dụng phổ biến trên các trang web.

JavaScript, được phát triển bởi Brendan Eich tại Netscape, ban đầu có tên là Mocha, sau đó đổi thành LiveScript và cuối cùng là JavaScript Nó cho phép viết script sử dụng các đối tượng có sẵn trong ứng dụng, với cú pháp tương tự như C, giống như Java Phần mở rộng thường dùng cho tập tin mã nguồn JavaScript là js.

JavaScript là một ngôn ngữ lập trình dựa trên nguyên mẫu, có cú pháp phát triển từ C Tương tự như C, JavaScript sử dụng khái niệm từ khóa, điều này khiến cho việc mở rộng ngôn ngữ trở nên khó khăn.

PHP được phát triển từ sản phẩm PHP/FI do Rasmus Lerdorf tạo ra vào năm 1995 Ban đầu, PHP/FI được xem như một tập con đơn giản của mã kịch bản Perl, nhằm theo dõi tình hình truy cập đến bản sơ yếu lý lịch của ông trên mạng Bộ mã kịch bản này được Lerdorf đặt tên là 'Personal Home Page Tools'.

PHP 3.0 là phiên bản đầu tiên cho chúng ta thấy một hình ảnh gần gũi với các phiên bản PHP mà chúng ta đƣợc biết ngày nay Nó đã đƣợc Andi Gutmans và Zeev Suraski tạo ra năm 1997 sau khi viết lại hoàn toàn bộ mã nguồn trước đó PHP

3.0 đã chính thức đƣợc công bố vào tháng 6 năm 1998, sau thời gian 9 tháng đƣợc cộng đồng kiểm nghiệm

Vào mùa đông năm 1998, ngay sau khi PHP 3.0 chính thức đƣợc công bố,

Andi Gutmans và Zeev Suraski đã bắt đầu bắt tay vào việc viết lại phần lõi của PHP

Một động cơ mới, có tên 'Zend Engine' (ghép từ các chữ đầu trong tên của Zeev và

Vào giữa năm 1999, PHP 4.0 đã được giới thiệu thành công, đáp ứng các nhu cầu thiết kế với động cơ mạnh mẽ.

31 với hàng loạt các tính năng mới bổ sung, đã chính thức đƣợc công bố vào tháng 5 năm 2000, gần 2 năm sau khi bản PHP 3.0 ra đời

Sự thành công vang dội của PHP 4.0 không khiến nhóm phát triển PHP tự mãn, mà ngược lại, cộng đồng đã nhanh chóng chỉ ra những điểm yếu như hỗ trợ lập trình hướng đối tượng (OOP) hạn chế, xử lý XML kém, và không tương thích với các giao thức máy khách mới của MySQL 4.1 và 5.0 Những vấn đề này đã thúc đẩy Zeev và Andi phát triển Zend Engine 2.0, nền tảng của PHP 5.0 Ngày 29 tháng 6 năm 2003, PHP 5 Beta 1 đã được công bố chính thức, đánh dấu phiên bản đầu tiên sử dụng Zend Engine 2.0.

Vào tháng 10 năm 2003, phiên bản Beta 2 của PHP 5 đã ra mắt, giới thiệu hai tính năng được mong đợi là Iterators và Reflection, trong khi đó tính năng gây tranh cãi là namespaces đã bị loại bỏ khỏi mã nguồn Ngày 21 tháng 12 năm 2003, PHP 5 chính thức ra mắt.

Beta 3 đã đƣợc công bố để kiểm tra với việc phân phối kèm với Tidy, bỏ hỗ trợ Windows 95, khả năng gọi các hàm PHP bên trong XSLT, sửa chữa nhiều lỗi và thêm khá nhiều hàm mới PHP 5 bản chính thức đã ra mắt ngày 13 tháng 7 năm

Năm 2004, sau nhiều giai đoạn thử nghiệm như Beta 4, RC 1, RC 2 và RC 3, PHP 5.0 chính thức ra mắt Dù được xem là phiên bản sản xuất đầu tiên, PHP 5.0 vẫn tồn tại một số lỗi, trong đó lỗi xác thực HTTP là vấn đề đáng chú ý.

PHP cũng có thẻ bắt đầu và kết thúc giống với ngôn ngữ HTML Chỉ khác, đối với PHP chúng ta có nhiều cách để thể hiện

Cách 2: Cú pháp ngắn gọn

Cách 3: Cú pháp giống với ASP

Cách 4: Cú pháp bắt đầu bằng script

Mặc dù có 4 cách thể hiện Nhƣng đối với 1 lập trình viên có kinh nghiệm thì việc sử dụng cách 1 vẫn là lựa chon tối ƣu

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

KHẢO SÁT VÀ PHÂN TÍCH HỆ THỐNG

Quản lý người dùng là một yếu tố quan trọng đối với bất kỳ trang web nào, giúp người quản trị theo dõi tình trạng hoạt động như lượt xem và số lượng người sử dụng hệ thống Do đó, việc phát triển và xây dựng module quản lý người dùng đóng vai trò thiết yếu trong việc tối ưu hóa hiệu suất và trải nghiệm người dùng trên trang web.

Trong đồ án này, tôi sẽ nghiên cứu sâu về việc phát triển module quản lý người dùng, bao gồm ba vai trò chính: Người quản trị, Người dùng hệ thống (có tài khoản) và Người dùng bình thường (chưa có tài khoản).

- Các yêu cầu xây dựng module:

Người quản trị có khả năng quản lý số lượng và tình trạng người sử dụng hệ thống, bao gồm cả người dùng có tài khoản và khách không có tài khoản.

Phân quyền hệ thống cho người dùng có tài khoản nhằm quản lý hiệu quả các chức năng, bao gồm theo dõi lịch sử hoạt động như đăng nhập, đăng xuất, tạo và xóa tài khoản.

Người dùng có thể xem và thay đổi thông tin cá nhân và thực hiện các quyền mà người quản trị cho phép

Khi người dùng sử dụng chức năng quên mật khẩu, hệ thống sẽ tự động gửi Email phản hồi Để khôi phục mật khẩu, khách hàng cần cung cấp thông tin chính xác và mã xác nhận tự động (captcha).

2.1.2 Phân tích hệ thống a) Quy trình hoạt động của hệ thống đối với module quản lý người dùng

Khi khách hàng đăng nhập vào hệ thống, hệ thống sẽ kiểm tra xem người dùng đã có mật khẩu hay chưa Nếu chưa, khách cần đăng ký tài khoản Trong quá trình đăng ký, hệ thống sẽ xác nhận xem người dùng đã nhập đầy đủ thông tin hay chưa; nếu chưa, sẽ có thông báo yêu cầu "Nhập đầy đủ thông tin!" Sau đó, hệ thống kiểm tra tính chính xác của mật khẩu nhập lại, nếu sai, người dùng cần nhập lại Nếu mật khẩu đúng, hệ thống sẽ tiếp tục kiểm tra mã an toàn; nếu mã sai, người dùng sẽ được yêu cầu nhập lại Khi tất cả thông tin đều chính xác, hệ thống sẽ kiểm tra xem tài khoản đã tồn tại hay chưa Nếu tài khoản đã có, hệ thống thông báo "Tài khoản đã có" Nếu chưa, quá trình đăng ký sẽ hoàn tất và hệ thống sẽ tự động chuyển sang trang đăng nhập.

Khi quên mật khẩu, người dùng chỉ cần nhấp vào “Quên mật khẩu” để được chuyển đến trang Thay đổi mật khẩu Tại đây, người dùng cần nhập tài khoản, mật khẩu mới, xác nhận lại mật khẩu mới và địa chỉ email đã đăng ký.

Khi người dùng đáp ứng đầy đủ các điều kiện, họ sẽ đăng nhập thành công vào hệ thống và được phép sử dụng các chức năng mà quản trị viên đã phân quyền cho mình.

Người quản trị đăng nhập vào hệ thống sẽ được kiểm tra quyền truy cập; nếu đủ điều kiện, họ sẽ được phép vào trang quản lý thông tin người dùng, ngược lại sẽ bị từ chối quyền truy cập.

 Quản lý thông tin cá nhân

 Trạng thái của các tài khoản đăng nhập hệ thống

 Thông tin của các tài khoản, lịch sử

 Phân quyền theo chức năng cho các tài khoản

 Cập nhật thông tin cá nhân

 Sử dụng các chức năng đƣợc cấp trong hệ thống c) Lưu đồ hoạt động

- Cho tiến trình đăng ký

User Admin Hồ sơ dữ liệu

User Admin Hồ sơ dữ liệu

User Admin Hồ sơ dữ liệu d) Vẽ biểu đồ ngữ cảnh

Hình 2 1: Biểu đồ ngữ cảnh Module quản trị người dùng Đăng nhập

Danh sách quyền Kiểm tra tài khoản

Email thông báo Phản hồi

49 e) Xác định biểu đồ phân rã chức năng

Lập bảng phân tích Động từ + Bổ ngữ

- Phân quyền cho người dùng

- Cập nhật danh sách người dùng

Lập bảng nhóm các thành phần Động từ + Bổ ngữ Chức năng hệ thống

-Nhận phản hồi Đăng ký

- Cập nhật danh sách người dùng

- Phân quyền cho người dùng Quản trị

Vẽ biểu đồ phân rã chức năng

Hình 2 2: Biểu đồ phân rã chức năng Module quản trị người dùng

MODULE QUẢN TRỊ NGƯỜI DÙNG

3.2 Cập nhật danh sách người dùng

52 f) Liệt kê hồ sơ g) Vẽ ma trận

Các thực thể chức năng a Danh sách người dùng b Danh sách quyền c Danh sách lịch sử

Các chức năng nhiệm vụ a b c

Hình 2 3: Ma trận thực thể chức năng h) Thiết kế mô hình thực thể ER :

- Xác định kiểu thực thể, các thuộc tính và các thuộc tính khóa của thực thể

STT Kiểu thực thể Thuộc tính Thuộc tính khóa

Các hồ sơ a: Danh sách người dùng c: Danh sách quyền e: Danh sách lịch sử

3 HT_INFO ID_HT,HT_Name ID_HT

- Xác định các kiểu liên kết

TB_ACCOUNT Có TB_TYPEINFO

TB_ACCOUNT Có HT_INFO

55 i) Thiết kế cơ sở dữ liệu:

Thiết kế các bảng dữ liệu: Để thiết kế các bảng dữ liệu dưới đây ta dùng hệ quản trị cơ sở dữ liệu MySQL

Là bảng lưu thông tin các Account, thông tin lưu trữ bao gồm:

Tên Trường Kiểu Dữ Liệu Độ dài Ghi Chú

ID INT 11 Mã Tài Khoản

Là bảng lưu thông tin của tài khoản, thông tin lưu trữ gồm:

Tên Trường Kiểu Dữ Liệu Độ dài Ghi Chú

ID INT 11 Mã Tài Khoản

FullName VARCHAR 255 Tên đầy đủ

Email TEXT Địa chỉ mail

Phone TEXT Số điện thoại

Là bảng lưu nowtime và trạng thái, thông tin lưu trữ gồm:

Tên Trường Kiểu Dữ Liệu Độ dài Ghi Chú

ID INT 11 Mã Tài Khoản

Là bảng lưu thông tin id cấp quyền, thông tin lưu trữ gồm:

Tên Trường Kiểu Dữ Liệu Độ dài Ghi Chú

ID INT 11 Mã tài khoản

Là bảng lưu thông tin quyên, thông tin lưu trữ gồm:

Tên Trường Kiểu Dữ Liệu Độ dài Ghi Chú

Là bảng lưu thông tin các loại lịch sử, thông tin gồm:

Tên Trường Kiểu Dữ Liệu Độ dài Ghi Chú

ID_History INT 11 Mã lịch sử

History_Name Char 255 Tên loại lịch sử

Là bảng lưu thông tin chi tiết lịch sử, thông tin gồm:

Tên Trường Kiểu Dữ Liệu Độ dài Ghi Chú

Date_time DATETIME Ngày tháng

ID INT 11 Mã tài khoản

ID_history INT 11 Mã lịch sử

IP CHAR 255 IP của người dùng

Info VARCHAR 255 Chi tiết loại lịch sử

Hình 2 5: Mô hình quan hệ

THIẾT KẾ GIAO DIỆN

Hình 2 6: Giao diện đăng nhập hệ thống Đăng ký:

Hình 2 7: Giao diện đăng ký tài khoản Đổi mật khẩu :

Hình 2 8: Giao diện đổi mật khẩu

Hình 2 9: Giao diện quên mật khẩu

Hình 2 10: Giao diện thông tin cá nhân

Quản lý thông tin thành viên:

Hình 2 11: Giao diện quản lý thông tin thành viên

MỘT SỐ KỸ THUẬT LẬP TRÌNH

2.3.1 Kỹ thuật bảo mật tài khoản

Khi người dùng đăng ký tài khoản trên hệ thống, mật khẩu sẽ được mã hóa bằng kỹ thuật MD5 để đảm bảo an toàn Ngoài ra, hệ thống cũng sử dụng mã CAPTCHA nhằm ngăn chặn các tài khoản ảo.

$pass=md5($pass); // mã hóa mật khẩu bằng md5

// Insert tai khoản vào hệ thống với pass đƣợc mã hóa

$str="insert into tb_account value('{$maxID}','{$user}','{$pass}')";

Khi người dùng quên mật khẩu, hệ thống sẽ tự động gửi một mã xác nhận đến email đã đăng ký của tài khoản, nhờ vào sự hỗ trợ của phpmailer và SMTP Người dùng có thể sử dụng mã xác nhận này để thay đổi mật khẩu cho tài khoản của mình.

Ví dụ Code gửi mail khi quên tài khoản

$s = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvw xyz0123456789'; mt_srand ((double)microtime() * 1000000);

$sscode = substr($s, (mt_rand()%(strlen($s))), 1);

$_SESSION['sec_code_cpass']=$sscode;

$mail = new PHPMailer(); // create a new object

$mail->SMTPDebug = 0; // debugging:1 = errors and messages, 2 = messages only

$mail->SMTPAuth = true; // authentication enabled

$mail->SMTPSecure = 'ssl'; // secure transfer enabled REQUIRED for GMail

$mail->Host = 'smtp.gmail.com';

$mail->Username = "quangvuct1201@gmail.com"; // tai khoan dang nhap de gui email

$mail->Password = "vuct1201"; // mat khau gui email

$mail->From = "quangvuct1201@gmail.com"; // email se duoc thay the email trong smtp

$mail->AddReplyTo("quangvuct1201@gmail.com"); // email cho phep nguoi dung reply lai

$mail->FromName = "Administrator"; // ho ten nguoi gui email

$mail->IsHTML('text/html'); //text/html | text/plain, default:text/html

$mail->AltBody = "usermanager"; //Text Body

$mail->Body = "Your security code : ".$sscode." "; //HTML Body

$mail->AddAddress($email); // email nguoi nhan

2.3.3 Kỹ thuật khóa tài khoản

Khi quản trị viên muốn dừng hoạt động tài khoản, họ sẽ sử dụng chức năng Delete trong quản lý thông tin người dùng Để khôi phục tài khoản, quản trị viên cần kích hoạt chế độ phục hồi Nếu muốn xóa hẳn tài khoản khỏi hệ thống, chức năng Clear sẽ được sử dụng để thực hiện việc này.

Để ngăn chặn tài khoản đăng nhập vào hệ thống, người quản trị có thể thiết lập chế độ “Lose” cho tài khoản đó trong bảng “tb_typeinfo” của cơ sở dữ liệu.

Khi một tài khoản đăng ký vào hệ thống, tài khoản đó sẽ tự động được phép đăng nhập Để xác định quyền hạn của người dùng, quản trị viên sẽ phân quyền cho tài khoản đó, cho phép người dùng thực hiện các chức năng nhất định trong hệ thống Khi đăng nhập, người dùng sẽ có quyền truy cập vào các chức năng đã được phân quyền.

// Lấy toàn bộ danh sách các quyền trong csdl

$sql = "SELECT * from từ bảng chứa các quyền";

$result = mysql_query($sql, $conn);

// Phân quyền cho tài khoản nào thi tích vào những quyền muốn phân cho tài khoản đó sử dụng các nút checkbox

Ngày đăng: 05/08/2021, 22:02

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

TÀI LIỆU LIÊN QUAN