Algılanmak istemeyen web tarayıcılarını tespit etmek için hangi seçenekler var?
(Listeleme algılama tekniklerinin akıllı gizli gezgin programcısının daha iyi bir örümcek yapmasına olanak sağlayacağını biliyorum, ancak akıllı gizli tarayıcıları zaten engelleyebileceğimizi düşünmüyorum, yalnızca hata yapanları.)
Googlebot ve Yahoo! gibi güzel tarayıcılardan bahsetmiyorum! Slurp. Bir botu güzel buluyorum eğer:
- kendisini kullanıcı aracısı dizesinde bir bot olarak tanımlar
- robots.txt okur (ve ona uyar)
Kötü tarayıcılardan bahsediyorum , yaygın kullanıcı aracılarının arkasına saklanıyorum, bant genişliğimi kullanıyor ve karşılığında bana hiçbir şey vermiyor.
Güncellenmiş liste oluşturulabilecek bazı tuzak kapıları var (teşekkürler Chris, gs) :
- Yalnızca robots.txt dosyasında listelenen (izin verilmeyen olarak işaretlenen) bir dizin eklemek,
- Görünmez bağlantılar eklemek (muhtemelen rel = "nofollow" olarak işaretlenir?),
- style = "display: yok;" bağlantı veya üst kapsayıcıda
- daha yüksek z-endeksine sahip başka bir öğenin altına yerleştirilir
- büyük harf kullanımını anlamayanları tespit edin,
- Cevap göndermeye çalışan ancak Captcha'da her zaman başarısız olanları tespit edin.
- Yalnızca POST kaynaklarına yönelik GET isteklerini algılama
- istekler arasındaki aralığı tespit et
- istenen sayfaların sırasını tespit et
- http üzerinden https kaynaklarını kimin (sürekli olarak) istediğini tespit edin
- görüntü dosyasını kimin istemediğini tespit edin (bu, bilinen görüntü özellikli tarayıcıların kullanıcı aracılarının bir listesiyle birlikte şaşırtıcı derecede iyi çalışıyor)
Bazı tuzaklar hem 'iyi' hem de 'kötü' botlar tarafından tetiklenir. bunları beyaz listeyle birleştirebilirsiniz:
- Bir tuzağı tetikler
- İste
robots.txt
mi? - İtaat ettiği için başka bir tuzağı tetiklemez
robots.txt
Buradaki bir diğer önemli nokta ise:
Lütfen ekran okuyucu kullanan körleri düşünün: insanlara sizinle iletişim kurmaları için bir yol verin veya gezinmeye devam etmek için (resim olmayan) bir Captcha'yı çözün.
Kendilerini normal insan ziyaretçiler olarak maskelemeye çalışan web tarayıcılarını otomatik olarak algılamak için hangi yöntemler var?
Güncelleme
Soru şu değil: Her tarayıcıyı nasıl yakalarım. Soru şudur: Bir tarayıcıyı algılama şansını nasıl en üst düzeye çıkarabilirim?
Bazı örümcekler gerçekten iyidir ve aslında html, xhtml, css javascript, VB komut dosyası vb. Ayrıştırıp anlar ...
Yanılsamam yok: Onları yenemeyeceğim.
Ancak bazı tarayıcıların ne kadar aptal olduğuna şaşıracaksınız. En iyi aptallık örneğiyle (bence): tüm URL'leri talep etmeden önce küçük harfe çevirin.
Ve sonra, çeşitli tuzak kapılardan kaçınmak için 'yeterince iyi olmayan' bir sürü tarayıcı var.