Khóa luận Xây dựng Plugin cho Internet Explorer để chặn các trang Web xấ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.

pdf93 trang | Chia sẻ: tuandn | Lượt xem: 2045 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Khóa luận 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