2008-08-05 36 views

Trả lời

11

Vì các chương trình như AdBlock thực sự không bao giờ yêu cầu quảng cáo, bạn sẽ phải tìm nhật ký máy chủ để xem liệu cùng một người dùng đã truy cập một trang web nhưng không truy cập vào một quảng cáo. Đây là giả định quảng cáo là trên cùng một máy chủ.

Nếu quảng cáo của bạn nằm trên một máy chủ riêng biệt, thì tôi khuyên bạn không thể làm như vậy.

Cách tốt nhất để ngăn chặn người dùng chặn quảng cáo, là có quảng cáo văn bản nội tuyến được tạo bởi máy chủ và dished lên bên trong html của bạn.

3

Tôi giả sử bạn có thể so sánh quảng cáo in với lượt xem trang trên trang web của bạn (bạn có thể lấy từ phần mềm phân tích của mình).

10

Thêm id người dùng yêu cầu cho quảng cáo:

<img src="./ads/viagra.jpg?{user.id}"/> 

cách mà bạn có thể kiểm tra những gì quảng cáo được nhìn thấy bởi người dùng nào.

4

Bạn cần suy nghĩ về các cách khác nhau mà quảng cáo bị chặn. Điều đầu tiên để xem xét là liệu họ có đang chạy noscript hay không, vì vậy bạn có thể thêm một tập lệnh để kiểm tra điều đó.

Điều tiếp theo là xem liệu chúng có chặn flash hay không, một bộ phim nhỏ nên làm điều đó.

Nếu bạn nhìn vào các trang web adblock, có một số dấu hiệu của nó như thế nào không chặn:
How does element hiding work?

Nếu bạn nhìn xa hơn xuống trang đó, bạn sẽ thấy rằng chrome thường thăm dò sẽ không hoạt động, vì vậy bạn cần phải thử và phân tích cú pháp DOM đã thay đổi.

4

Diễn đàn AdBlock says được sử dụng để phát hiện AdBlock. Sau khi một số tinh chỉnh, bạn có thể sử dụng điều này để thu thập một số số liệu thống kê.

setTimeout("detect_abp()", 10000); 
var isFF = (navigator.userAgent.indexOf("Firefox") > -1) ? true : false, 
    hasABP = false; 

function detect_abp() { 
    if(isFF) { 
    if(Components.interfaces.nsIAdblockPlus != undefined) { 
     hasABP = true; 
    } else { 
     var AbpImage = document.createElement("img"); 
     AbpImage.id = "abp_detector"; 
     AbpImage.src = "/textlink-ads.jpg"; 
     AbpImage.style.width = "0"; 
     AbpImage.style.height = "0"; 
     AbpImage.style.top = "-1000px"; 
     AbpImage.style.left = "-1000px"; 
     document.body.appendChild(AbpImage); 
     hasABP = (document.getElementById("abp_detector").style.display == "none"); 

     var e = document.getElementsByTagName("iframe"); 
     for (var i = 0; i < e.length; i++) { 
     if(e[i].clientHeight == 0) { 
      hasABP = true; 
     } 
     } 
     if(hasABP == true) { 
     history.go(1); 
     location = "http://www.tweaktown.com/supportus.html"; 
     window.location(location); 
     } 
    } 
    } 
} 
Các vấn đề liên quan