NGày nay, máy vi tính cá nhân (Personal Computer - PC) đã trở nên phổ biến trong cuộc sống hiện đại: từ công sở đến gia đình, từ trường học đến viện nghiên cứu, từ phân xưởng đến bệnh viện... tất cả hoạt động đều cần đến sự có mặt của máy tính. Máy tính, với khả năng của mình, giúp cho quá trình xử lý dữ liệu được nhanh chóng để cho ra kết quả tốt nhất trong thời gian ngắn nhất.
Và cùng với xu thế phổ biến của máy tính, Internet đã ra đời để đáp ứng cho nhu cầu tìm kiếm, chia sẻ thông tin ở mọi nơi trên thế giới cho tất cả các lĩnh vực. Mặc dù Internet cung cấp cho chúng ta nhiều giao thức khác nhau để phục vụ cho nhu cầu trao đổi dữ liệu, hơn 90% giao thức dùng trên Internet là giao thức HTTP (Hypertext Transfer Protocol). Nói cách khác, chúng ta truy cập Internet phần lớn dựa trên giao diện Web...
93 trang |
Chia sẻ: diunt88 | Lượt xem: 2150 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Khóa luận tốt nghiệp Xây dựng Plugin cho Internet Explorer để chặn các trang web xấu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG MÁY TÍNH & VIỄN THÔNG
LÊ NGUYỄN MINH TUẤN – ĐẶNG THANH VI
XÂY DỰNG PLUGIN CHO INTERNET EXPLORER
ĐỂ CHẶN CÁC TRANG WEB XẤU
KHÓA LUẬN CỬ NHÂN TIN HỌC
NIÊN KHÓA 2001 - 2005
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN MẠNG MÁY TÍNH & VIỄN THÔNG
LÊ NGUYỄN MINH TUẤN - 0112468
ĐẶNG THANH VI - 0112455
XÂY DỰNG PLUGIN CHO INTERNET EXPLORER
ĐỂ CHẶN CÁC TRANG WEB XẤU
KHÓA LUẬN CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN
Th.S ĐỖ HOÀNG CƯỜNG
NIÊN KHÓA 2001 – 2005
Lê Nguyễn Minh Tuấn Page 2 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
LỜI CẢM ƠN
Nhóm chúng tôi xin được gởi lời cảm ơn đến các các thầy cô giảng viên trường
Đại học Khoa học Tự nhiên TP.HCM cũng như các bạn đã giúp đỡ chúng tôi nhiều
trong quá trình thực hiện luận văn:
• Các thầy cô giảng viên trong bộ Mạng máy tính và Viễn thông khoa
Công Nghệ Thông Tin đã tạo điều kiện cho chúng tôi thực hiện tốt luận
văn.
• Ban giám hiệu trường Đại học Khoa học Tự nhiên TP.HCM.
• Bạn Phan Trung Hiếu – sinh viên khoa Công Nghệ Thông Tin khóa 2001
đã giúp đỡ hỗ trợ tài liệu cho nhóm chúng tôi trong một số kỹ thuật lập
trình.
• Bạn Vũ Minh Trọng - sinh viên khoa Công Nghệ Thông Tin khóa 2001
đã giúp đỡ nhóm chúng tôi trong việc tìm hiểu các ý tưởng mới cũng như
cung cấp cho chúng tôi các ví dụ thực tế.
• Roberto Antollini , lập trình viên cung cấp các class C++ miễn phí dùng
để truy cập các cơ sở dữ liệu hỗ trợ ADO trên nền desktop chạy Hệ điều
hành Windows(98/2000/XP) ở website www.codeproject.com .
• João Paulo Figueira , lập trình viên chuyển đổi các class ADO miễn phí
của Roberto Antollini sang phiên bản tương thích với nền tảng Microsoft
Windows CE 3.0 ở website www.codeproject.com.
• Thầy Lê Thụy Anh – giảng viên khoa Công Nghệ Thông Tin đã giải đáp
cho chúng tôi một số thắc mắc về trình duyệt Internet Explorer.
Lê Nguyễn Minh Tuấn Page 3 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
Đặc biệt , chúng em xin gởi đến thầy Đỗ Hoàng Cường lời cám ơn sâu sắc vì sự
nỗ lực và tận tâm mà thầy đã giành cho chúng em. Qua quá trình làm việc với
thầy, chúng em đã học được rất nhiều điều bổ ích.
Lê Nguyễn Minh Tuấn Page 4 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
MỤC LỤC
Chương 1: MỞ ĐẦU ........................................................................................12 U
Chương 2: TỔNG QUAN ..................................................................................14
Chương 3: NGHIÊN CỨU LÝ THUYẾT VÀ CÀI ĐẶT THỰC TẾ ...............................16
3.1 Phân tích yêu cầu: ................................................................................16
3.2 Phương pháp , thuật toán chính: ............................................................18
3.2.1 Phương pháp đánh giá website dựa trên địa chỉ URL .........................21
3.2.1.1 Đánh giá dựa trên địa chỉ URL đầy đủ: ........................................................ 22
3.2.1.2 Đánh giá dựa trên URL keyword :................................................................ 24
3.2.1.2.1 Định nghĩa URL keyword: ..................................................................... 25
3.2.1.2.2 Nội dung thuật toán................................................................................. 26
3.2.1.2.3 Đánh giá thuật toán ................................................................................. 28
3.2.2 Phương pháp đánh giá website dựa trên nội dung website.................28
3.2.2.1 Đánh giá dựa trên số lần xuất hiện của các keyword.................................... 30
3.2.2.1.1 Nội dung thuật toán................................................................................. 30
3.2.2.1.2 Đánh giá thuật toán ................................................................................. 32
3.2.2.2 Đánh giá dựa trên trọng số của văn bản........................................................ 33
3.2.2.2.1 Nội dung thuật toán................................................................................. 34
3.2.2.2.2 Đánh giá thuật toán ................................................................................. 37
3.2.2.3 Cải tiến phương pháp đánh giá dựa trên trọng số của văn bản:.................... 38
3.3 Các kỹ thuật lập trình và cài đặt thực tế..................................................38
3.4 Ý tưởng chung của chương trình. ...........................................................40
3.4.1 Encoding của trang web..................................................................42
3.4.2 Thiết kế cơ sở dữ liệu: ....................................................................47
3.4.2.1 Thiết kế logic: ............................................................................................... 47
3.4.2.2 Cài đặt thực tế CSDL.................................................................................... 52
3.4.3 Viết Plug-in bằng ATL COM..............................................................57
3.4.3.1 Một số thông tin:........................................................................................... 57
3.4.3.2 Viết Plug-in cho Internet Explorer bằng ALT COM.................................... 58
3.4.3.2.1 Tạo project bằng ATL COM .................................................................. 58
3.4.3.2.2 Tạo plug-in cho Internet Explorer .......................................................... 60
3.4.3.2.3 Cài đặt code để bắt sự kiện của IE......................................................... 61
3.4.4 Áp dụng các thuật toán vào plug-in..................................................66
3.4.4.1 Class chứa các thuật toán cài đặt .................................................................. 66
3.4.4.2 Kỹ thuật lập trình lấy thông tin của IE phục vụ cho việc đánh giá............... 71
3.4.4.2.1 Lấy URL ................................................................................................. 72
3.4.4.2.2 Lấy nội dung trang web. ......................................................................... 72
3.4.5 Các chính sách ...............................................................................77
3.4.5.1 Sử dụng trong gia đình.................................................................................. 77
3.4.5.2 Sử dụng ở công sở: ....................................................................................... 78
Lê Nguyễn Minh Tuấn Page 5 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
3.5 Giao diện tương tác với plug-in, cách sử dụng chương trình......................80
Chương 4: ĐÁNH GIÁ KẾT QUẢ ĐẠT ĐƯỢC ......................................................89
Chương 5: KẾT LUẬN ......................................................................................90
Chương 6: HƯỚNG PHÁT TRIỂN ......................................................................91
Chương 7: DANH MỤC TÀI LIỆU THAM KHẢO ...................................................92
Lê Nguyễn Minh Tuấn Page 6 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
BẢNG HÌNH VẼ CÁC KÝ HIỆU
Database
Table trong database
User
Database Server
WorkStation
Lê Nguyễn Minh Tuấn Page 7 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
DANH SÁCH CÁC HÌNH TRONG LUẬN VĂN
Hình 1 Các phương pháp đánh giá website...........................................................20
Hình 2 Sơ đồThuật toán đánh giá dựa trên URL đầy đủ .........................................23
Hình 3 Sơ đồ thuật toán đánh giá trên URL keyword. ............................................27
Hình 4 Sơ đồ thuật toán đánh giá trên số lần xuất hiện keyword............................31
Hình 5 Đánh giá dựa trên trọng số của văn bản....................................................36
Hình 6 Các kỹ thuật lập trình và cài đặt thực tế. ...................................................39
Hình 7 Hook toàn cục ........................................................................................40
Hình 8 Chương trình lọc......................................................................................41
Hình 9 . Encoding Unicode ..................................................................................43
Hình 10.Mô hình Encoding ..................................................................................47
Hình 11.Tham chiếu khóa ...................................................................................49
Hình 12. Các table trong cơ sở dữ liệu .................................................................51
Hình 13 Ví dụ dữ liệu trong bảng .........................................................................53
Hình 14. Các ký tự tiếng Việt...............................................................................56
Hình 15. Sơ đồ tham chiếu khóa ngoại. ................................................................57
Hình 16. Chọn project ATL COM ..........................................................................59
Hình 17. Các option trong wizard.........................................................................60
Hình 18. Chọn đối tượng COM.............................................................................61
Hình 19. Sử dụng trong gia đình..........................................................................78
Hình 20. Sử dụng trong văn phòng. .....................................................................80
Hình 21.Giao diện chính của plug-in.....................................................................82
Hình 22. Chọn danh sách. ...................................................................................82
Hình 23. Ví dụ nội dung trong danh sách english keyword. ....................................83
Hình 24.Insert phần tử .......................................................................................84
Hình 25. Edit phần tử sẽ Insert............................................................................84
Hình 26. Hoàn tất Insert .....................................................................................84
Hình 27. Chọn phần tử cần edit trong danh sách chặn...........................................85
Hình 28.Edit phần tử. .........................................................................................86
Hình 29.Hoàn tất edit. ........................................................................................87
Hình 30. Chọn phần tử để delete. ........................................................................88
Lê Nguyễn Minh Tuấn Page 8 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
TÓM TẮT LUẬN VĂN
Thông tin chung về đề tài:
Tên đề tài:
GVHD:
Sinh viên thực hiện:
1. MSSV: Họ và tên:
2. MSSV: Họ và tên:
Tóm tắt nội dung luận văn:
Một số từ khóa chính liên quan đến nội dung đề tài:
Lĩnh vực áp dụng:
Lê Nguyễn Minh Tuấn Page 9 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
Các thuật toán, phương pháp, quy trình chính được nghiên cứu, ứng dụng trong
đề tài
Các công cụ, công nghệ chính được nghiên cứu, ứng dụng trong đề tài
Xác nhận của GVHD
Lê Nguyễn Minh Tuấn Page 10 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
NỘI DUNG CHÍNH
Lê Nguyễn Minh Tuấn Page 11 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
Chương 1: MỞ ĐẦU
Ngày nay, máy vi tính cá nhân (Personal Computer - PC) đã trở nên phổ biến
trong cuộc sống hiện đại : từ công sở đến gia đình, từ trường học đến viện nghiên cứu,
từ phân xưởng đến bệnh viện … tất cả hoạt động đều cần đến sự có mặt của máy tính.
Máy tính , với khả năng của mình , giúp cho quá trình xử lý dữ liệu được nhanh chóng
để cho ra kết quả tốt nhất trong thời gian ngắn nhất.
Và cùng với xu thế phổ biến của máy tính , Internet đã ra đời để đáp ứng cho
nhu cầu tìm kiếm , chia sẻ thông tin ở mọi nơi trên thế giới cho tất cả các lĩnh vực. Mặc
dù Internet cung cấp cho chúng ta rất nhiều giao thức khác nhau để phục vụ cho nhu
cầu trao đổi dữ liệu , hơn 90% giao thức dùng trên Internet là giao thức
HTTP(Hypertext Transfer Protocol). Nói cách khác, chúng ta truy cập Internet phần
lớn dựa trên giao diện Web. Vì thế , các tập đoàn , các công ty lớn trên thế giới trong
lĩnh vực software như Microsoft , Nestcape , Mozilla ,…đua nhau đưa ra các trình
duyệt Internet dựa trên giao thức HTTP nhằm tăng khả năng hỗ trợ người dùng và trên
hết , tiếp thị hình ảnh về công ty của mình. Người dùng Internet cũng được hưởng lợi
từ sự cạnh tranh này : hầu hết các trình duyệt hiện nay như Internet Explorer, Nestcape
Navigator, Mozilla Firefox … đều miễn phí và được hoàn thiện,cập nhật liên tục.Trong
đó trình duyệt Internet Explorer của Microsoft là phổ biến nhất. Nguyên nhân:
+ Internet Explorer được miễn phí kèm theo trên tất cả các phiên bản của
Hệ điều hành Windows.
+ Ít chiếm tài nguyên hệ thống , hoạt động ổn định.
+ Các plug-in từ nhà cung cấp thứ ba (third-party) rất phong phú.
+ Ra đời sớm , chiếm nhiều tình cảm của người dùng...v.v..
Lê Nguyễn Minh Tuấn Page 12 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
ưHiện nay 90% ng ời sử dụng Hệ điều hành Windows dùng trình duyệt Internet
Explorer. Điều này cho thấy , Internet Explorer có 1 ảnh hưởng rất lớn đối với cộng
đồng Internet.
Bên cạnh những khả năng và lợi ích to lớn mà Internet đã và đang đem lại cho
chúng ta, còn tồn tại một số vấn đề khác : thư rác (spam), lừa đảo trên mạng , và đặc
biệt là một số cá nhân hay tổ chức đã sử dụng Internet như một phương tiện để tuyên
truyền các văn hóa đồi trụy, các tư tưởng phản động ….
Trong bối cảnh đó , nhóm chúng tôi gồm :
• Lê Nguyễn Minh Tuấn – mã số sinh viên 0112468
• Đặng Thanh Vi - mã số sinh viên 0112455
đang là sinh viên ở bộ môn Mạng Máy Tính và Viễn Thông , khoa Công Nghệ Thông
Tin trường Đại học Khoa học Tự nhiên TP.HCM , với sự hướng dẫn của Thầy Đỗ
Hoàng Cường – giảng viên khoa Công Nghệ Thông Tin trường Đại học Khoa học Tự
nhiên TP.HCM đã thực hiện đề tài luận văn mang tên :
“Xây dựng plug-in cho trình duyệt Internet Explorer để ngăn chặn các trang web xấu.”
Nhận thức được ý nghĩa của luận văn : vừa là một luận văn tốt nghiệp , vừa có
vai trò ứng dụng thực tế hết sức quan trọng; đồng thời với sự hướng dẫn tận tâm của
thầy Đỗ Hoàng Cường , chúng tôi đã nỗ lực hết sức nhằm để thực hiện tốt đề tài của
mình.
Lê Nguyễn Minh Tuấn Page 13 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
Chương 2: TỔNG QUAN
Trước đây , người dùng sử dụng Internet chỉ để tham khảo , tra cứu thông tin.
Tìm thấy thông tin mà mình cần là đã đạt yêu cầu. Nhưng đi kèm với sự phát triển vượt
bậc mạng Internet, các thông tin xấu hoặc không cần thiết xuất hiện càng nhiều. Do đó
dẫn đến nhu cầu lọc thông tin trên Internet để chỉ lấy ra những thông tin mà người
dùng cần xem hoặc được phép xem. Tuy các phần mềm đọc và phân loại các tin, báo
điện tử hiệu quả đã xuất hiện vài năm nay , việc lọc trang web xấu trên trình duyệt
Internet là một hướng tiếp cận còn mới.
Trên thế giới đã có các phần mềm để ngăn chặn các trang web xấu như Child
Control (download bản dùng thử miễn phí – free trial version - ở www.download.com)
…..Ở Việt Nam hiện nay cũng có một số phần mềm tương tự như Depraved Web
Killer của tác giả Vũ Lương Bằng (chung kết cuộc thi Trí Tuệ Việt Nam 2004).
Depraved Web Killer được tác giả thực hiện trong 18 tháng , viết trên nền Visual
Basic 6.0. Nhìn chung , các phần mềm này hoạt động khá tốt, tuy nhiên xét trên góc độ
nhu cầu quản lý thông tin không chỉ có ở gia đình , mà còn có ở văn phòng , thì các
phần mềm này còn một số chức năng chưa hỗ trợ:
+ administrator(quản trị) muốn các máy tính trong phạm vi quản lý phải sử dụng
chương trình chặn web xấu, và danh sách các trang web xấu cũng như các từ khóa bị
cấm trong trang web được các máy tính trong mạng sử dụng phải đồng bộ với nhau.
+ administrator muốn mình có khả năng thao tác trên danh sách các trang web bị
cấm hoặc các từ khóa bị cấm. Việc thao tác có thể thực hiện trên bất kì máy tính nào
trong mạng LAN có cài chương trình ngăn chặn.
Từ nhận xét đó , chúng tôi cố gắng thực hiện chương trình chặn với mục tiêu đáp ứng
các tiêu chí sau:
Lê Nguyễn Minh Tuấn Page 14 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
+ Nhu cầu quản lý thông tin ở gia đình.
Ví dụ : Bố mẹ cài đặt phần mềm vào máy tính của con cái để kiểm soát
việc truy cập Internet của con.
+ Bổ sung thêm 2 tính năng hỗ trợ trong mạng LAN như đã nêu trên.
Các phần mềm ngăn chặn không phải là giải pháp triệt để để ngăn chặn các trang web
xấu. Mục đích của các phần mềm này là khuyến khích người dùng truy cập những
thông tin có ích trên Internet và tránh các thông tin không lành mạnh.
Lê Nguyễn Minh Tuấn Page 15 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
Chương 3: NGHIÊN CỨU LÝ THUYẾT VÀ CÀI
ĐẶT THỰC TẾ
Phần này sẽ đề cập đến các thuật toán cũng như kỹ thuật lập trình đã sử dụng để
thực hiện luận văn , gồm có:
• Phân tích yêu cầu luận văn.
• Phương pháp, thuật toán chính
• Các kỹ thuật lập trình và cài đặt thực tế.
Ghi chú: Có một số kỹ thuật lập trình không nêu ra trong báo cáo này vì mục tiêu
của báo cáo là giúp người đọc nắm được các ý tưởng chính, các kỹ thuật chính để
thực hiện đề tài.
3.1 Phân tích yêu cầu:
Từ yêu cầu của luận văn , có thể chia công việc làm 2 nội dung chính:
• Nhận dạng thế nào là trang web xấu(Phương pháp, thuật toán chính).
• Viết plug-in cho Internet Explorer (Các kỹ thuật lập trình và cài đặt
thực tế).
và sẽ được đề cập tương ứng với phần Phương pháp, thuật toán chính và Các kỹ
thuật lập trình và cài đặt thực tế .
Ở đây chúng ta phải làm rõ khái niệm thế nào là một “trang web xấu”
Gần đây , chúng ta quan tâm rất nhiều đến cái gọi là “trang web xấu” . Mọi người tùy
theo nhận thức và quan điểm của mình có thể có các đánh giá khác nhau. Tuy nhiên,
chúng ta đều thống nhất với nhau rằng 1 trang web là “xấu” khi có một trong 2 điều
kiện sau đây:
Lê Nguyễn Minh Tuấn Page 16 of 93 Đặng Thanh Vi
Mssv: 0112468 Mssv:0112455
Luận văn tốt nghiệp Mạng máy tính GVHD: ThS Đỗ Hoàng Cường
+ có nội dung mang tính chất phản động chính trị.
+ có nội dung khiêu dâm hoặc đồi trụy.
Các trang web có nội dung phản động:
Do các cá nhân hoặc tổ chức phản động thiết lập với mục đích tuyên truyền , rêu
rao các tư tưởng phản động , chống phá nhà nước , kêu gọi mọi người hưởng ứng “tự
do chính trị” , “đa nguyên đa đảng” , bôi bác chủ tịch Hồ Chí Minh , các vị tổng bí thư
và các quan chức chính phủ.
Các trang web này có rất nhiều , chủ yếu host ở các site nước ngoài , sử dụng
tiếng Việt là ngôn ngữ chính để tuyên truyền. Hệ quả của sự tồn tại các website này
hẳn nhiên là làm chia rẽ nội bộ, làm mất phương hướng các thanh thiếu niên trẻ , kích
động các phần tử vốn đã manh nha tư tưởng phản động. Chúng ta phải có cái nhìn
nghiêm túc đối với các trang web loại này, không thể vì lý do “tự do ngôn luận” mà bỏ
qua khi mà có cá nhân h