Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 49 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
49
Dung lượng
0,91 MB
Nội dung
Luận án Xây dựng phần mềm báo điểm tuyển sinh qua mạng Trang 1 CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI 1.1 Hướng Chọn Đề tài: Phần mềm nguồn mở đã trở thành một trong những hướng đi chiến lược trong việc phát triển Công nghệ thông tin của nước ta hiện nay. Đặc biệt với sự phát triển bùng nổ của hệ thống mạng thông tin Internet, việc ứng dụng phần mềm nguồn mở đã trở thành một cơ hội cho phép tiếp cận các công nghệ mới một cách dễ dàng với chi phí hợp lý. Ngày càng nhiều phần mềm nguồn mở được đánh giá cao và được đưa vào ứng dụng tại nhiều tổ chức nổi tiếng trên thế giới. Ở Việt Nam, việc nghiên cứu phát triển và ứng dụng các sản phẩm phần mềm nguồn mở đã trở thành một nhu cầu cấp thiết vì nhiều lý do : Nhu cầu về phát triển Công nghệ Thông tin trong nước: trong hoàn cảnh Công nghệ Thông tin thế giới đã có một quãng thời gian phát triển khá lâu với rất nhiều thành tựu trong khi Công nghệ thông tin Việt Nam mới chỉ đạt được ở mức khiêm tốn, để có thể bắt kịp các nước phát triển, việc tiếp cận với hệ thống phần mềm nguồn mở là một hướng đi đúng đắn giúp Công nghệ thông tin Việt Nam có một nền tảng để hội nhập. Vấn đề bản quyền và chi phí: hiện nay, phần lớn các sản phẩm phần mềm thương mại đang được sử dụng ở Việt Nam đều không có đăng ký bản quyền. Trong điều kiện tình hình sắp tới, khi các điều luật về bản quyền được thắt chặt sẽ làm cho việc sử dụng phần mềm thương mại sẽ không còn dễ dàng. Với phần mềm phần mềm nguồn mở, người sử dụng có thể yên tâm hoàn toàn vào hoạt động của phần mềm. Do phần mềm nguồn mở có một cộng đồng sử dụng đông đảo luôn trao đổi thông tin với nhau thông qua Internet, các lỗ hổng trong phần mềm nguồn mở không ngừng được tìm và sửa chữa. Trang 2 Hàng năm, số lượng thí sinh tham dự vào các kỳ thi đại học ngày càng tăng. Bên cạnh đó, kể từ khi mạng Internet lần đầu tiên xuất hiện ở Việt Nam, đến nay Internet đã được phủ khắp ở hầu hết các tỉnh, thành phố trên phạm vi cả nước. Xuất phát từ tình hình trên, chúng tôi đã chọn Đề tài : “Xây dựng phần mềm báo điểm tuyển sinh qua mạng”. Đề tài của chúng tôi ứng dụng OpenLDAP, Webserver Apache, PHP. Chương trình hoạt động dựa trên nền hệ điều hành Linux (một hệ điều hành nguồn mở mà tên tuổi của nó đã trở nên quá quen thuộc với Công nghệ thông tin Việt Nam kể từ năm 2000) để tổ chức dữ liệu và thông báo điểm tuyển sinh một cách trực tuyến thông qua giao diện web. 1.2.Giới thiệu các phần mềm sử dụng cho đề tài : Các phần mềm sử dụng để thực hiện Đề tài “Xây dựng phần mềm báo điểm tuyển sinh qua mạng” đều là các phần mềm nguồn mở. OpenLDAP (http://www.openldap.org): sản phẩm phần mềm nguồn mở này được phát triển từ năm 1998 và được sử dụng bởi rất nhiều tổ chức trên thế giới. OpenLDAP hoạt động trên nền giao thức TCP cho phép tổ chức lưu trữ thông tin người dùng một cách tối ưu theo cấu trúc cây phân cấp, giúp người dùng truy cập thông tin một cách nhanh chóng. - Apache (http://www.apache.org) : Web server được sử dụng rộng rãi nhất trên thế giới với độ bảo mật và tin cậy cao, cung cấp dịch vụ web, webhosting, hỗ trợ virtual host, dynamic module và các công nghệ Web tiên tiến. Giống như Linux, PHP, MySQL, nó là một dự án nguồn mở, Apache được hỗ trợ rất tốt trên môi trường Unix (và cả trên môi trường hệ điều hành Windows ® ) ở đây PHP hoạt động với tư cách là một phần mở rộng của Apache và người ta gọi là Module của Apache. - Ngôn ngữ lập trình PHP : là ngôn ngữ có tốc độ thực thi nhanh dễ sử dụng, cung cấp các tính năng mạnh mẽ để xây dựng ứng dụng web một cách nhanh Trang 3 chóng, ổn định và có thể chạy trên nhiều hệ điều hành khác nhau như WindowsNT/2000/2003, Unix, Linux với sự hỗ trợ của IIS và Apache. PHP hỗ trợ truy cập nhiều hệ CSDL khác nhau, luôn được cải tiến và cập nhật. Bên cạnh đó, PHP có một cộng đồng sử dụng rất lớn và chúng ta có thể nhận được sự hỗ trợ rất tốt. Trang 4 CHƯƠNG 2 : GIỚI THIỆU VỀ LDAP 2.1 Định nghĩa : 2.1.1.Định nghĩa : LDAP viết tắt từ cụm từ Lightweight Directory Access Protocol có nghĩa là giao thức truy cập thư mục. Nó là một giao thức cho việc truy cập các dịch vụ thư mục, đặc biệt là dịch vụ thư mục tương thích chuẩn X500. LDAP có thể chạy trên mạng dựa trên giao thức TCP/IP hoặc các mạng khác có hỗ trợ tầng vận chuyển (transport layer). Kiến trúc của LDAP được nói rõ ở RFC2251 và RFD3377 bao gồm các đặc tính kỷ thuật của nó. LDAP v3 được xem là chuẩn Internet. Phiên bản thứ ba này hỗ trợ đa ngôn ngữ (Unicode). 2.1.2. Giới thiệu về X.500 : Xét trên phương diện kỹ thuật, LDAP là một giao thức truy cập đến một dịch vụ thư mục tương thích chuẩn X.500, đây là một dịch vụ thư mục trong mô hình OSI. Đầu tiên các máy client truy cập các gateway đến dịch vụ thư mục X.500. Gateway này chạy LDAP máy client và gateway, còn giao thức DAP của X.500 thì chạy giữa gateway và X.500 server. Giao thức DAP (Directory Access Protocol) là giao thức quan trọng nhưng DAP đòi hỏi mô hình mạng OSI đầy đủ và nhiều tài nguyên tính toán hơn trong một máy tính thường. LDAP là một phiên bản cải tiến của DAP mà không cần nhiều tài nguyên hệ thống như DAP. Ưu điểm của LDAP là chạy trên mạng TCP/IP và có thể truy cập đến các dịch vụ X.500 có sẵn. * * Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục 1. Introduction to OpenLDAP Directory Services 1.2 What is LDAP? 1.4. What about X.500? Trang 5 Một tiện ích độc lập của LDAP có tên là slap được xem như là một server thư mục X.500. Có nghĩa là nó không thự thi giao thức DAP của X.500. Với tư cách là một directory server, slap chỉ thực thi một tập con của mô hình X.500. 2.2. Cách thức tổ chức dữ liệu 2.2.1. Các lọai dữ liệu được lưu trữ trong thư mục : Mô hình thông tin LDAP dựa vào các mục. Mỗi một mục là một tập hợp các thuộc tính có một tên riêng biệt là DN (distinguished name). DN là tên xác định tất cả các mục chứa đựng tạo thành đường đi từ đầu cây đến một nút (node) lá nào đó. Mỗi một thuộc tính của một mục có một kiểu và một hoặc nhiều giá trị tương ứng. Kiểu thường là một chuỗi gợi nhớ ví dụ như “cn” thuộc kiểu common name (tên riêng), hoặc là “mail” thuộc kiểu email address. Ví dụ một thuộc tính cn có thể có giá trị Bab Jensen. Thuộc tính mail có thể có giá trị babs@example.com. Một thuộc tính jpegPhoto chứa một hình ảnh dạng jpeg (hay dữ liệu dạng nhị phân nói chung). 2.2.2. Cách thức tổ chức dữ liệu: Cây thư mục LDAP có cấu trúc dạng cây phân cấp. Cấu trúc này nói lên ranh giới địa lý và tổ chức (để dễ quản lý, thực hiện theo dạng phân cách). Các mục tượng trưng cho quốc gia thường đứng ở đỉnh cây. Dưới đó là các mục tượng trưng cho bang và các tổ chức nhà nước, bậc dưới nữa là các mục dành cho đơn vị và tổ chức tiếp theo là người, máy in, tài liệu …. Hình 2.1 là ví dụ về cây thư mục LDAP sử dụng cách đặt tên truyền thống * Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục 1. Introduction to OpenLDAP Directory Services 1.2 What is LDAP? Trang 6 VD : Về nước Việt Nam Cây thư mục cũng có thể được sắp xếp dựa trên cấu trúc tên miền ở mạng Internet. Phương pháp đặt tên này đang được sử dụng phổ biến bởi vì có cho phép các dịch vụ thư mục được định vị trí theo phương pháp tên miền DNS. Hình 2.2 là một ví dụ về cây thư mục LDAP sử dụng cách đặt tên theo tên miền * * Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục 1. Introduction to OpenLDAP Directory Services 1.2 What is LDAP? c=Mỹ st = TP Hồ Chí Minh c = Việt Nam o= Sở GD&ĐT ou = Trường THPT Ngô Quyền Person cn = Học sinh The Organization Organization Unit ou = TT GDTX Hình 2.1 : LDAP cây thư mục (sử dụng cách đặt tên truyền thống) Trang 7 Ngoài ra, LDAP còn cho phép kiểm soát các thuộc tính nào cần thiết có mặt trong một mục bằng cách sử dụng một thuộc tính đặc biệt có tên là lớp đối tượng (ObjectClass). Giá trị của thuộc tính lớp đối tượng sẽ quyết định các qui tắc của lược đồ mà mục đó cần phải tuân theo. (mở rộng ra có thể định nghĩa lớp đối tượng riêng) * 2.2.3. Cách tham chiếu của thông tin: * Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục 1. Introduction to OpenLDAP Directory Services 1.2 What is LDAP? dc=net dc= example dc = D E ou = Marketing Person The Organization Organization Unit ou = People dc = DE uid=babs Hình 2.2 : LDAP cây thư mục (sử dụng cách đặt tên theo tên miền) Trang 8 Một mục được tham chiếu bằng tên phân biệt của nó (DN) và tổ chức của cây tương ứng. Tên này được tạo ra bằng cách ghép tên của mục (hay còn gọi là tên phân biệt quan hệ hoặc RDN) với tên mục ở cấp trên nó. Ví dụ: trong hình 2.2 tên mục Barbara Jensen có tên RDN là uid=babs và DN là uid=babs, ou=people, dc= example, dc=com 2.2.4. Cách truy cập thông tin : LDAP định nghĩa các thao tác cho việc truy vấn và cập nhật thư mục. Một số thao tác được dùng để thêm và xoá một mục từ thư mục, để thay đổi một mục có sẵn, và thay đổi tên của một mục. Tuy nhiên, phần lớn thời gian LDAP được sử dụng để tìm kiếm thông tin trong thư mục. Thao tác tìm kiếm của LDAP cho phép tìm kiếm các mục mà thoả điều kiện của công cụ lọc trong một phần của thư mục. Thông tin có thể được yêu cầu từ mỗi mục mà thoả điều kiện. Ví dụ, bạn có thể muốn tìm người có tên Babara Jensen trên một cây thư mục con bắt đầu từ dc=example,dc=com trở xuống để lấy thông tin địa chỉ email của từng mục mà thoả điều kiện. LDAP cho phép chúng ta làm việc này một cách dễ dàng. Hoặc nếu bạn muốn tìm kiếm các tổ chức mà tên nó có cụm từ Acme và phải có số fax từ các mục dưới mục st=Caliornia, c=US. LDAP cũng cho phép bạn làm được điều này. * * Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục 1. Introduction to OpenLDAP Directory Services 1.2 What is LDAP? Trang 9 2.2.5. Cách bảo vệ Thông tin trước sự truy cập trái phép : Một vài dịch vụ thư mục không có cơ chế bảo vệ thông tin, nó cho phép mọi người có thể truy cập và xem toàn bộ thông tin. LDAP cung cấp nhiều cơ chế khác nhau để xác thực và chứng minh danh tính của một người sử dụng khi họ truy cập vào thư mục chủ. Do đó nó cho phép bảo vệ thông tin mà chúng ta lưu trên máy chủ. LDAP cũng hỗ trợ các công cụ cho phép đảm bảo tính cá nhân. 2.3 Giới thiệu về SLAPD : 2.3.1 Khái niệm về slapd : Slapd là một LDAP directory server mà có thể chạy trên nhiều Platform khác nhau. Bạn có thể dùng nó để tạo một directory server riêng của bạn directory của bạn có thể chứa được nhiều dữ liệu mà bạn muốn lưu. Bạn có thể kết nối đến các dịch vụ LDAP directory khác hay là chạy nó một cách độc lập. 2.3.2 Đặc tính và chức năng của tiến trình Slapd : 2.3.2.1 Đặc tính của slapd : Slapd thực thi phiên bản 3 của giao thức LDAP. Slapd hỗ trợ giao thức LDAP trong môi trường địa chỉ IP phiên bản 4 và phiên bản 6 (IPv4 và IPv6). Tầng đăng nhập và bảo mật đơn giản : Slapd hỗ trợ sự đăng nhập một cách chặt chẽ hơn bằng cách sử dụng SASL. SASL được thực thi bằng cách sử dụng phần mềm Cyrus SASL. Phần mềm này được cung cấp một số cơ chế mã hoá sau: DIGEST-MD5, EXTERNAL, and GSSAPI. * * Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục 1. Introduction to OpenLDAP Directory Services 1.2 What is LDAP? 1.6 What is slapd and what can it do ? [...]... [group[/][/] [.]] = [peername[.]=] Trang 26 [sockname[.]=] [domain[.]=] [sockurl[.]=] [set=] [aci=] ::=[self] {| } ::= none | auth | compare | search | read | write ::= {= |+| - } {w| r| s| c| x} + ::= [ stop | continue | break ] Trong đó phần ... ] + ::= * | [dn[.]= | dn.=] [filter=] [attrs=] ::= regex | exact ::= base | one | subtree | children ::= | , ::= | entry | children ::= * | [anonymous] | users | self | dn [.basic-style> = | dn. =] [dnattr =]... Chỉ thị này có tác dụng đánh dấu sự khai báo về một thực thể CSDL phải là một trong những loại có trong bảng CSDL phụ trợ Ví dụ: database bdb * * Tài liệu viết phần này được lấy ở trang Web http://www.openldap.org mục 6.2.2.1.backend 6.2.3 General Database Directives Trang 18 readonly {on | off} Chỉ thị này có tác dụng khai báo CSDL ở chế độ chỉ đọc “read-only” Nếu CSDL đang ở chế... xuất hiện trong file config Slapd sẽ kết thúc phần mà thỏa các điều kiện các mục Trang 30 hay thuộc tính Các chỉ thị truy cập tương ứng là cái mà slapd sẽ sử dụng để đánh giá quyền truy cập Bước kế tiếp, slapd sẽ so sánh các thực thể yêu cầu quyền truy cập với phần của các chỉ thị truy cập được chọn ở trên theo trật tự xuất hiện của nó Nó dừng ở phần đầu tiên mà thỏa điều kiện của người... CSDL dùng để xử lý các phần các nhau của cây thư mục X.500 Cả hai CSDL liệu đều thuộc loại BDB Chữ số ở đầu dòng chỉ có tác dụng để giúp cho việc giải thích ý nghĩa và tác dụng của từng câu lệnh Do đó trong file cấu hình sẽ không có những con số này Đầu tiên là phần khai báo cấu hình toàn cục 1 # example config file – global configuration section (ví dụ về file cấu hình, phần khai báo cấu hình toàn cục)... dụng đối với CSDL kiểu BDB Các chỉ thị loại này phải được khai báo đứng sau dòng “database bdb” và đứng trước các khai báo tiếp theo của phụ trợ và CSDL directory directory Chỉ thị này xác định thư mục chứa các file dữ liệu BDB và các chỉ mục liên quan Giá trị mặc định của nó là directory /usr/local/var/openldap-data Các chỉ thị của CSDL kiểu LDBM Trang 23 Các chỉ thị trong... 11 #backend definition backend < backend-specific directives > #first database definition & config directives database #second database definition & config directives database #second database definition & config directives database #subsequent backend & database... thông báo lỗi là đã vượt quá thời gian quy định Chỉ thị phụ trợ Các chỉ thị của phần này được áp dụng cho các phụ trợ mà chúng định nghĩa Chúng được hỗ trợ bởi tất cả các loại phụ trợ Các chỉ thị phụ trợ áp dụng được cho tất cả các CSDL cùng loại và tùy theo từng loại chỉ thị chúng có thể định nghĩa lại bởi chỉ thị CSDL backend backend Chỉ thị này có tác dụng đánh dấu sự khai báo phụ... + ::= [ stop | continue | break ] Trong đó phần sẽ xác định các mục và thuộc tính, phần sẽ xác định các thực thể được phân quyền và phần sẽ xác định rõ các quyền Các thực thể có thể được gán các quyền khác nhau cho cùng một bộ các mục và thuộc tính .Kiểm soát truy cập : Phần sẽ xác định các mục và các thuộc tính nào bị kiểm soát truy cập Thông thường các mục được... dụng dấu “*” để lựa chọn tất cả .Ai được cấp quyền: Phần xác định các thực thể nào được phân quyền truy cập Từ khóa chỉ định Phạm vi * Tất cả user Anonymous Các user vô danh (các user không được chứng thực) Users Các user được chứng thực Self Các user được gán cho một mục dn[.]= Các user thỏa một điều kiện nào đó dn []= Các user ở trong một phạm vi của một . thông báo điểm tuyển sinh một cách trực tuyến thông qua giao diện web. 1.2.Giới thiệu các phần mềm sử dụng cho đề tài : Các phần mềm sử dụng để thực hiện Đề tài Xây dựng phần mềm báo điểm tuyển. Luận án Xây dựng phần mềm báo điểm tuyển sinh qua mạng Trang 1 CHƯƠNG 1 : GIỚI THIỆU ĐỀ TÀI 1.1 Hướng Chọn Đề tài: Phần mềm nguồn mở đã trở thành một trong. phạm vi cả nước. Xuất phát từ tình hình trên, chúng tôi đã chọn Đề tài : Xây dựng phần mềm báo điểm tuyển sinh qua mạng . Đề tài của chúng tôi ứng dụng OpenLDAP, Webserver Apache, PHP. Chương