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
93 trang |
Chia sẻ: netpro | Lượt xem: 1617 | Lượt tải: 1
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:
- Xây dựng Plugin cho Internet Explorer để chạn trang web xấu.pdf