Luận văn Xây dựng Plugin cho Internet Explorer để chặn trang web xấu

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

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

pdf93 trang | Chia sẻ: netpro | Lượt xem: 1537 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Xây dựng Plugin cho Internet Explorer để chặn trang web xấu, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
húng tôi thấy có các nhân tố khách quan và chủ quan sau: + Hiện thời khả năng đánh giá văn bản theo hướng đọc hiểu chưa có kết quả rõ ràng (đối với các ứng dụng phổ biến) , và với tốc độ xứ lý của máy tính hiện nay, tiếp cận theo hướng đọc hiểu đòi hỏi tốn nhiều thời gian và tài nguyên của hệ thống . + Tính đến thời điểm thực hiện đề tài ,công nghệ phân tích hình ảnh cũng chỉ đang ở mức nhận dạng người , chưa có khả năng nhận dạng được những hình ảnh liên quan đến chính trị và sex. Vì vậy , chúng tôi đã đi theo hướng tiếp cận (3). Mặt khác, do thời gian có hạn và một số khó khăn trong kỹ thuật xử lý ngôn ngữ nên hiện thời chúng tôi chỉ dừng lại ở việc áp dụng chặn trên nội dung đối với các trang web có nội dung sex .Ngôn ngữ được quan tâm là cả tiếng Việt Nam và tiếng Anh. Hướng tiếp cận trong phần này dựa trên cách thống kê các keyword xuất hiện trong nội dung trang web. Trong đó keyword là các từ hoặc cụm từ dùng để miêu tả hình ảnh, hoạt động , trạng thái … liên quan đến sex. Hướng tiếp cận này có hai thuật toán được áp dụng: Thuật toán 1: Lê Nguyễn Minh Tuấn Page 29 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 Đánh giá dựa trên số lần xuất hiện của các keyword. Thuật toán 2: Đánh giá dựa trên trọng số của văn bản. Ngoài ra, còn có phần: Cải tiến thuật toán 2. 3.2.2.1 Đánh giá dựa trên số lần xuất hiện của các keyword. 3.2.2.1.1 Nội dung thuật toán Thuật toán này như sau: B1. Trình duyệt load trang web. B2. Duyệt qua trang web. B3. Đếm tổng số keyword xuất hiện trong trang web. B4. Nếu số keyword lớn hơn hoặc bằng ngưỡng qui định ► web xấu , block trang web.Đưa URL vào database. Ngược lại , ►là trang web thông thường, trả về cho trình duyệt. Lê Nguyễn Minh Tuấn Page 30 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 Hình 4 Sơ đồ thuật toán đánh giá trên số lần xuất hiện keyword Lê Nguyễn Minh Tuấn Page 31 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.2.2.1.2 Đánh giá thuật toán Ưu điểm của thuật toán: + Thuật toán khá hiệu quả với các trang web sex. + Chỉ sử dụng danh sách keyword nên không gian chiếm dụng trên database rất ít. + Không đòi hỏi nhiều tài nguyên khi xử lý. + Thời gian thực thi khá nhanh. Khuyết điểm + Các keyword khác nhau có thể có mức độ thể hiện nội dung sex khác nhau nhưng vẫn được xem là như nhau khi thực hiện đếm trên trang web, nên có thể gây hiểu nhầm về mức độ sex của trang web đó. Ví dụ: Các từ như “xxx” có mức độ sex cao hơn từ “áo lót”. Và chẳn hạn, ta qui định ngưỡng bị cấm là xuất hiện từ 4 keyword trở lên. Khi đó chúng ta chặn được trang web chứa đoạn văn bản sau đây: (trích từ website www.truyenviet.com) “……xxx1……………xxx2…………………………………xxx3……………… ……………xxx4……………………… “ (bị chặn , không nêu ra ở đây) Lê Nguyễn Minh Tuấn Page 32 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 Nhưng đoạn văn bản sau có thể bị nhầm là chứa nội dung sex nếu xét theo tiêu chuẩn trên: “Các phụ nữ mặc áo lót quá nhiều giờ trong ngày có thể gặp một số bệnh về hô hấp.Các bác sĩ khuyên phụ nữ không nên mặc áo lót trước khi đi ngủ…..Mặc khác, áo lót làm từ các chất liệu không phù hợp còn có thể gây các bệnh về da.Tố nhất nên chọn loại áo lót bằng cotton mịn, có thể co giãn, kích thước không quá chật.” + Chỉ quét được nội dung text , còn hình ảnh không thể biết được. 3.2.2.2 Đánh giá dựa trên trọng số của văn bản. Được áp dụng để lọc các trang web có nội dung đồi trụy. Nhắc lại: phương pháp đánh giá dựa trên số lần xuất hiện của keyword có nhược điểm chính là đánh đồng các keyword khác nhau mặc dù các keyword này có thể có mức độ sex khác nhau. Trong phương pháp đánh giá dựa trên trọng số của văn bản, văn bản cũng được duyệt dựa trên các keyword, tuy nhiên có một số điểm ta cần quan tâm sau đây: • trọng số của keyword là một giá trị thể hiện mức độ khiêu dâm của keyword. • mỗi keyword được gán cho một trọng số khác nhau • Trọng số của văn bản là tổng trọng số của các keyword được tìm thấy trong văn bản. Lê Nguyễn Minh Tuấn Page 33 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.2.2.2.1 Nội dung thuật toán Thuật toán cho phương pháp này như sau: B1. Trình duyệt load trang web. B2. Trọng số của trang web gán = 0. B3. Duyệt qua trang web. B4. Nếu tìm thấy keyword, cộng trọng số của keyword đó vào trọng số của trang web. B5. Nếu trọng số của trang web >= trọng số qui định trước ► trang web xấu ►Block trang web. ►Đưa URL của trang web vào database. Ngược lại, ►là trang web thông thường, trả về cho trình duyệt. Lê Nguyễn Minh Tuấn Page 34 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 Database chứa danh sách keyword bị cấm Trình duyệt load trang web Duyệt qua trang web Còn keyword Nếu trọng số < ngưỡng Trang web thông thường Nếu trọng số >= ngưỡng 7/19/2005 Thuật toán đánh giá dựa trên số điểm của văn bản Trả về cho trình duyệt Trang web xấu Nếu tìm thấy keyword, tăng trọng số của trang web. Hết keyword Block trang web,đưa URL vào database Lê Nguyễn Minh Tuấn Page 35 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 Hình 5 Đánh giá dựa trên trọng số của văn bản Ví dụ: Xét lại 2 website chứa 2 đoạn văn bản đã dùng ở ví dụ trên: Đoạn văn bản đầu tiên chứa nội dung sex: “……xxx1……………xxx2…………………………………xxx3……………… ……………xxx4……………………… “ (bị chặn , không nêu ra ở đây)(1) Còn đoạn văn sau đây mang nội dung bình thường “Các phụ nữ mặc áo lót quá nhiều giờ trong ngày có thể gặp một số bệnh về hô hấp.Các bác sĩ khuyên phụ nữ không nên mặc áo lót trước khi đi ngủ…..Mặc khác, áo lót làm từ các chất liệu không phù hợp còn có thể gây các bệnh về da.Tốt nhất nên chọn loại áo lót bằng vải cotton mịn, có thể co giãn, kích thước không quá chật.” (2) Giả sử ta có bảng trọng số sau đây cho các keyword: Keyword Trọng số xxx1 10 xxx2 10 xxx3 10 xxx4 10 áo lót 5 Và giả sử ta đặt ngưỡng giới hạn cho trọng số của 1 trang web là 40 (tất cả các website có trọng số >= 40 được xem là trang web có nội dung đồi trụy) Lê Nguyễn Minh Tuấn Page 36 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 Khi đó , trọng số của (1) là 40, trọng số của (2) chỉ là 20. Î Block (1) ,nhưng không block (2). Như vậy ta giải quyết được trường hợp nhầm lẫn mà phương pháp đánh giá dựa vào số lần xuất hiện của keyword mắc phải. Ghi chú Có thể người đọc sẽ thắc mắc : tại sao không nâng giới hạn về số lần xuất hiện của các keyword để tránh nhầm lẫn các trang web không sex là trang web sex ? Câu trả lời là vì nếu làm như thế sẽ bỏ qua một số trang web có nội dung sex nhưng dùng ít từ ngữ gợi sex hơn mức qui định. 3.2.2.2.2 Đánh giá thuật toán Ưu điểm của thuật toán: + Chỉ sử dụng danh sách keyword nên không gian chiếm dụng trên database rất ít. + Không đòi hỏi nhiều tài nguyên khi xử lý. + Thời gian thực thi khá nhanh. Khuyết điểm của thuật toán: + Chỉ quét được nội dung text , còn hình ảnh không thể biết được. Lê Nguyễn Minh Tuấn Page 37 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.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: Thuật toán đánh giá dựa trên trọng số văn bản gặp khó khăn với một số website khiêu dâm chỉ chứa toàn hình ảnh và có rất ít nội dung chữ (những website này đa số không nổi tiếng , nhưng vẫn là dạng xấu và cần chúng ta quan tâm). Khi gặp những website này , có một số trường hợp , phương pháp đánh giá dựa trên trọng số của văn bản không phát hiện được . Nguyên nhân là do có quá ít nội dung bằng chữ khiến cho trọng số của trang web không đạt tới ngưỡng (mặc dù đây là các nội dung khiêu dâm) Để khắc phục hiện tượng này, ta cải tiến thuật toán đánh giá dựa trên trọng số như sau: Sau khi quét nội dung trang web, nếu trang web đạt một trọng số nhất định (nhưng nhỏ hơn ngưỡng qui định) mà chiều dài nội dung chữ trong trang web đó quá ít thì nó cũng bị xem là trang web xấu. 3.3 Các kỹ thuật lập trình và cài đặt thực tế Trong phần này sẽ đề cập đến việc cài đặt thực tế chương trình của đề tài và các kỹ thuật lập trình cần thiết để thực hiện việc cài đặt. Ở phần 2, chúng ta đã xem xét qua các phương pháp , thuật toán có thể áp dụng để chặn trang web xấu. Trong quá trình xem xét , phân tích các hướng tiếp cận đó, chúng ta đều thấy rằng: + Các phương pháp bổ sung, gia tăng hiệu quả cho nhau. + Không có phương án nào thật sự hoàn thiện. Lê Nguyễn Minh Tuấn Page 38 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 Do đó , khi cài đặt thực tế , tất cả các phương pháp đã đề cập trong phần 2, đều được áp dụng vào chương trình. Các nội dung chính sẽ bao gồm: Các kỹ thuật lập trình và cài đặt thực tế Thiết kế cơ sở dữ liệu Encoding của trang web Viết plug-in bằng ATL COM Áp dụng các thuật toán vào plug-in Ý tưởng chung của chương trình Các chính sách Hình 6 Các kỹ thuật lập trình và cài đặt thực tế. Lê Nguyễn Minh Tuấn Page 39 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.4 Ý tưởng chung của chương trình. Chương trình chúng ta viết sẽ có chức năng như bộ lọc để ngăn chặn các trang web xấu mỗi khi người dùng truy cập Internet bằng trình duyệt Internet Explorer. Ta hãy xem lại cách mà một Hook toàn cục trong Windows hoạt động: Trước khi bất cứ một thông điệp nào (thuộc dạng mà Hook đã đăng ký) được gởi từ hàng đợi hệ thống đến hàng đợi của ứng dụng, thông điệp đó phải đi qua Hook. Hình 7 Hook toàn cục Tương tự như thế, chương trình (plug-in) của chúng ta cũng có thể xem là một “Hook” đối với trình duyệt Internet Explorer: “Mỗi khi trình duyệt load một trang web, thì trang web đó phải đi qua chương trình của chúng ta trước khi được hiển thị cho người xem” Lê Nguyễn Minh Tuấn Page 40 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 Hình 8 Chương trình lọc Ghi chú: Có một chút khác biệt so với Hook : • Đối với Hook, người cung cấp thông điệp (hàng đợi hệ thống) và người nhận thông điệp (hàng đợi ứng dụng) là khác nhau. • Đối với bộ lọc của chúng ta, người cung cấp và người nhận nội dung trang web đều là trình duyệt Internet Explorer. Nguyên tắc lọc của chương trình sẽ như sau: B1. Người dùng nhập vào URL mới. B2. Chương trình kiểm tra URL keyword. (Phương pháp đánh giá dựa trên URL keyword) Nếu là trang xấu ►Block trang web. Lê Nguyễn Minh Tuấn Page 41 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 Ngược lại ►là trang web thông thường, trả về trình duyệt. Quay lại B1. B3. Chương trình kiểm tra URL. (Phương pháp đánh giá dựa trên URL) Nếu là trang xấu ►Block trang web. Ngược lại ►là trang web thông thường, trả về trình duyệt. Quay lại B1. B4. Trình duyệt load nội dung trang web. B5. Chương trình kiểm tra nội dung. (Phương pháp đánh giá dựa trên nội dung) Nếu là trang xấu ►Block trang web. Đưa URL của trang đó vào database. Ngược lại ►là trang web thông thường, trả về trình duyệt. Quay lại B1. 3.4.1 Encoding của trang web. Vì sao chúng ta phải quan tâm tới Encoding của trang web? Nguyên nhân là t rong phương pháp đánh giá dựa trên nội dung, chúng ta phải lấy ra nội dung text của trang web, mà việc này lại liên quan đến encoding của trang web đó. Khái niệm về encoding: Lê Nguyễn Minh Tuấn Page 42 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 Đối với giao thức HTTP, mỗi trang web khi load về cho trình duyệt đều phải được encode (mã hóa) theo một chuẩn nào đó , mà ta gọi là encoding. Chúng ta hãy tưởng tượng khi mở một file .doc bằng chương trình Microsoft Word thì trong máy phải có sẵn font chữ của thích hợp , nếu không thì văn bản hiển thị sẽ không đúng và không xem được file .doc đó. Cũng tương tự như vậy , trình duyệt phải hiểu được encoding của trang web thì mới hiển thị đúng. Ví dụ: Trang web sau trích từ website www.vnexpress.net, được encoding bằng chuẩn Unicode(UTF-8). Khi hiển thị bằng trình duyệt Internet Explorer , thiết lập encoding cho trình duyệt là Unicode(UTF-8) thì nội dung hiển thị đúng: Hình 9 . Encoding Unicode Lê Nguyễn Minh Tuấn Page 43 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 Nhưng nếu ta thiết lập encoding cho Internet Explorer là Western European (Windows) thì kết quả sẽ là không xem được trang web này. Hoặc nếu ta thiết lập encoding cho Internet Explorer là Chinese Traditional (Big5) thì kết quả như sau: Lê Nguyễn Minh Tuấn Page 44 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 Ghi chú:Hầu hết các trình duyệt Internet đều có thể tự động chọn encoding phù hợp với trang web(chức năng AutoSelect). Như vậy, khi cài đặt ứng với mỗi dạng encoding (chủ yếu là tương ứng với tiếng Việt) ta phải có một danh sách URL, URL keyword và keyword riêng biệt. Điều này gặp khó khăn vì số lượng các dạng encoding rất nhiều. Tuy nhiên, do hầu hết các website hiện nay đều sử dụng chuẩn encoding là: • Unicode hoặc Unicode(UTF-8) cho các trang tiếng Viêt.(1) • Họ Western hoặc Unicode(UTF-8) cho các trang tiếng Anh.(2) Lê Nguyễn Minh Tuấn Page 45 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 ta chỉ tập trung vào các dạng encoding ở (1) và (2). Cả hai trường hợp trên, chỉ cần thiết lập một phiên bản danh sách các • URL • URL keyword • keyword (dành cho nội dung) được mã hóa bằng bảng mã Unicode là đủ.(SẼ GIẢI THÍCH THÊM ở phần sau). Danh sách của được chứa trong database , mà hầu hết các database hiện nay như Microsoft SQL Server, Oracle, Microsoft Access đều hỗ trợ Unicode chuẩn mặc định nên chúng ta không gặp khó khăn gì khi thiết lập các danh sách này. Mô hình Encoding sẽ như sau: Lê Nguyễn Minh Tuấn Page 46 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 Hình 10.Mô hình Encoding 3.4.2 Thiết kế cơ sở dữ liệu: Vì chương trình lọc của chúng ta cần đến một cơ sở dữ liệu , nên trong phần này ta sẽ thiết kế và triển khai một cơ sở dữ liệu phù hợp với các thuật toán đã tìm hiểu. 3.4.2.1 Thiết kế logic: Về cơ bản , cơ sở dữ liệu (CSDL) của ta chỉ bao gồm một số bảng dữ liệu để chứa các danh sách cần thiết trong thuật toán như sau: Lê Nguyễn Minh Tuấn Page 47 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 URL bị cấm. • Danh sách các URL keyword. • Danh sách các keyword bị cấm (dành cho nội dung). Ngoài ra, còn cần đến 2 bảng dữ liệu : • Danh sách các user có quyền thao tác trên CSDL. • Các URL ngoại lệ (luôn đươc phép truy cập). Ta biết rằng , trong phương pháp đánh giá dựa trên nội dung, các keyword có mức độ sex khác nhau sẽ có trọng số tương ứng khác nhau. Vì thế , trong bảng chứa các keyword (dành cho nội dung) sẽ phải thể hiện được trọng số của từng keyword. Nếu ta chứa trong CSDL các cặp dữ liệu dạng: ( keyword, trọng số) thì ở hiện tại sẽ đáp ứng được nhu cầu trên. Ví dụ:Bảng chứa các keyword bị cấm Keyword Điểm số Keyword1 10 Keyword2 5 Keyword3 2 …….. ….. Tuy nhiên, sau này chúng ta muốn thay đổi trọng số của một số keyword có cùng mức độ sex (chẳn hặn ta thấy rằng keyword “nõn nà”,”trắng hồng” ,…..nên giảm bớt trọng Lê Nguyễn Minh Tuấn Page 48 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 số từ 10 xuống 5) thì phải tìm và thay đổi một loạt các vị trí . Điều này sẽ hơi khó khăn và phiền phức vì số lượng các keyword không dưới 200 từ ( cho cả tiếng Anh và tiếng Việt). Do đó, để chứa được danh sách các keyword và trọng số tương ứng, ta cần 2 bảng: • một bảng chứa danh sách các keyword và loại keyword. • một bảng chứa danh sách loại keyword và trọng số của loại đó. Hình 11.Tham chiếu khóa Lê Nguyễn Minh Tuấn Page 49 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ặt khác, khi cài đặt chương trình thực tế, ta sẽ có một xử lý như sau: + Lấy nội dung text từ trang web về. + Biến tất kí tự hoa trong nội dung này thành chữ thường , rồi duyệt trang web. (***) Chúng tôi sẽ giải thích vì sau như vậy ở phần Áp dụng thuật toán vào plug-in, bây giờ ta cần biết là để thực hiện thao tác (***) cần có danh sách các kí tự hoa và thường tương ứng. Với tiếng Anh, ta có thể sử dụng ngay các hàm có sẵn trong ngôn ngữ lập trình để biến một đoạn văn bản từ chữ hoa thành thương, nhưng các ngôn ngữ lập trình hiện nay đều không hỗ trợ việc đó đối với tiếng Việt. Do đó, ta phải lập các cặp hoa-thường tương ứng trong tiếng Việt. Ví dụ: Đ Æ đ I Æ i Ế Æ ế ả Æ ả (Nên nhớ là đối với tiếng Việt thì I, Í ,Ì , Ị phải có kí tự thường tương ứng là i, í , ì, ị.) Vậy , CSDL của ta sẽ bao gồm các bảng sau: Lê Nguyễn Minh Tuấn Page 50 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 Hình 12. Các table trong cơ sở dữ liệu Lê Nguyễn Minh Tuấn Page 51 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.4.2.2 Cài đặt thực tế CSDL Ta có thể cài đặt cơ sở dữ liệu trên Microsoft Acess hoặc Microsoft SQL Server , cả 2 hệ quản trị này đều hỗ trợ Unicode mặc định và chương trình lọc có thể truy xuất cả Access và SQL Server. Ta chọn cài đặt CSDL trên SQL Server. Cơ sở dữ liệu thực tế như sau: • Kinds_Keyword: Chứa danh sách các loại keyword và trọng số tương ứng từng loại. Các column: . ID : loại keyword. . Kind of keyword: ghi chú. . Mark : trọng số của keyword đó. Loại keyword (ID) có 3 dạng : danh từ , động từ , tính từ. Ở mỗi dạng sẽ được phân thành các cấp độ thể hiện sex khác nhau: mạnh , vừa phải, nhẹ. Mức độ thể hiện sex càng cao thì trọng số càng lớn. Ví dụ , dữ liệu trong bảng này như sau: Lê Nguyễn Minh Tuấn Page 52 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 . Hình 13 Ví dụ dữ liệu trong bảng . ID = 11: 1 đầu tiên là danh từ, 1 kế tiếp chỉ từ thể hiện sex mạnh Æ trọng số đạt tối đa là 10.Tương tự: . ID = 12: danh từ sex vừa phải . ID = 13: danh từ sex nhẹ. . ID = 21: động từ sex mạnh. . ID = 22: động từ sex vừa phải . ID = 31: tính từ sex mạnh . ………… • Text_Keyword_1_1: Chứa danh sách các keyword bằng tiếng Việt. Các column: . ID : loại keyword. . Keyword: giá trị của keyword. (vì lý do tế nhị nên sẽ không ví dụ về các record có trong bảng này) Lê Nguyễn Minh Tuấn Page 53 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 • Text_Keyword_1_2: Chứa danh sách các keyword bằng tiếng Anh. Các column: . ID : loại keyword. . Keyword: giá trị của keyword. (vì lý do tế nhị nên sẽ không ví dụ về các record có trong bảng này) • URL: Chứa danh sách các URL bị cấm truy xuất. Các column: . URL : chứa URL bị cấm . Last Used: thời gian sử dụng trước đó.Dùng phục vụ cho các chính sách cập nhật. Ví dụ dữ liệu trong bảng này như sau: Lê Nguyễn Minh Tuấn Page 54 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 • URL_Exception: Chứa danh sách các URL ngoại lệ. Các URL nằm trong bảng này luôn được phép truy cập. • URL_Keyword Chứa các keyword bị cấm trong URL Các column: . Keyword: giá trị của URL keyword. Ví dụ dữ liệu trong bảng này như sau: Lê Nguyễn Minh Tuấn Page 55 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 • VietNamese_Vowel: Chứa các ký tự hoa-thường tương ứng trong tiếng Việt. Các column: . Upper_case: kí tự hoa. . Lower_case: kí tự thường. Ví dụ dữ liệu trong bảng này như sau: Hình 14. Các ký tự tiếng Việt. Cuối cùng, sơ đồ tham chiếu khóa ngoại: Lê Nguyễn Minh Tuấn Page 56 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 Hình 15. Sơ đồ tham chiếu khóa ngoại. 3.4.3 Viết Plug-in bằng ATL COM 3.4.3.1 Một số thông tin: Khái niệm về COM: Component Object Model (COM) là một mô hình software , trong đó các ứng dụng hay hệ thống có thể xây dựng từ các module được cung cấp bởi các hãng khác nhau. Ví dụ: Khi ta cài Norton Antivirus vào máy tính có sẵn Microsoft Office, thì trong Norton Antivirus có một module gắn vào trong Microsoft Office thực hiện chức năng quét các file .doc. Module này chính là một COM. Các dạng COM: COM có nhiều dạng như ATL COM, DCOM, COM+, ActiveX… Trình soạn thảo Visual C++ 6.0 cung cấp bởi Microsoft hỗ trợ 2 nền tảng COM là ALT COM và MFC ActiveX. Lê Nguyễn Minh Tuấn Page 57 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.4.3.2 Viết Plug-in cho Internet Explorer bằng ALT COM Qui trình để tạo một plug-in cho Internet Explorer bằng ATL COM: • B1: Tạo project ATL COM bằng VC++6.0. • B2: Tạo mới một đối tượng COM dạng “Internet Explorer Object”. • B3: Overwrite các event handler của đối tượng COM để yêu cầu IE gởi thông điệp cho đối tượng COM. • B4: Dựa trên các thông điệp của IE để xử lý theo yêu cầu. • B5: Đăng ký COM với COM server của máy hiện hành và với trình duyệt IE bằng registrar script code (RGS). 3.4.3.2.1 Tạo project bằng ATL COM Mở VC++, chọn Project ATLCOM AppWizard. Điền các thông tin khác theo qui định thông thường (Project Name, Location) . Chon OK Lê Nguyễn Minh Tuấn Page 58 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 Hình 16. Chọn project ATL COM Kế tiếp , chọn file thực thi là DLL, check vào option: support MFC. File DLL chứa COM sẽ được load theo IE mỗi khi IE chạy. Option support MFC để chúng ta có sự hỗ trợ tốt khi lập trình bằng thư viên MFC của Microsoft. Lê Nguyễn Minh Tuấn Page 59 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 Hình 17. Các option trong wizard 3.4.3.2.2 Tạo plug-in cho Internet Explorer Chọn Menu Insert/New ATL Object. Cửa sổ dialog mở ra. + Ở mục Category chọn Objects. + Ở mục Objects chọn Internet Explorer Object. Lê Nguyễn Minh Tuấn Page 60 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 Hình 18. Chọn đối tượng COM Chọn Next, sau đó điền các thông tin : + shortname :AtlComPlugin. + Các thông tin khác để mặc định Chọn OK. VC ++ sẽ tự động tạo ra 1 class COM ở dạng plug-in vào trình duyệt Internet Explorer có tên là CAtlComPlugin. 3.4.3.2.3 Cài đặt code để bắt sự kiện của IE. Chi tiết về source code xin tham khảo trong thư mục đi kèm. Ở đây chỉ giới thiệu các điểm chính khi coding. Một plug-in vào trình duyệt Internet Explorer ngoài việc kế thừa các class COM cơ bản : CComObjectRootEx, CComCoClass , còn kế thừa 2 interface là + IObjectWithSiteImpl Lê Nguyễn Minh Tuấn Page 61 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 + IDispatchImpl Đây là 2 interface rất quan trọng.Chúng ta override các hàm virtual của 2 interface này trong class CAtlComPlugin.(Tức là ta bổ sung các phương thức của Class CAltComPlugin có tên trùng khớp với tên các phương thức đã định nghĩa của các interface) // IObjectWithSite public: STDMETHOD(SetSite)(IUnknown *pUnkSite); // IDispatch public: BOOL Navigate2(CString strURL); void GetBrowserWindow(); void DisplayForbidden(); STDMETHOD(Invoke)(DISPID, REFIID, LCID, WORD, DISPPARAMS*, VARIANT*, EXCEPINFO*, UINT*); Đồng thời bổ sung thêm vào class một số phương thức: //IAtlComPlugin private: STDMETHOD(OnBeforeNavigate2)(DISPPARAMS* pDispParams); STDMETHOD(OnDocumentComplete)(); STDMETHOD(Connect)(void); STDMETHOD(Disconnect)(void); //Phuo

Các file đính kèm theo tài liệu này:

  • pdfXây dựng Plugin cho Internet Explorer để chạn trang web xấu.pdf