Nasıl botlar PHP benim dosya indirme sayacı artırma durdurmak mı?

4 Cevap php

Bir kullanıcı benim web sitesinde bir dosya indirmek için bir bağlantıyı tıkladığında, daha sonra this PHP file ki bu dosya için indirme sayacı artırır ve header ()-yönlendirir gerçek dosyasına gkimlikin. Ben botlar, ancak download linki takip edilir, bu yüzden indirme sayısının yanlış olduğunu sanıyorum.

  • Nasıl botlar onlar linki takip gerektiğini biliyorum izin veriyorsun?
  • En botlara algılamak için bir yolu var mı?
  • Bir dosya alır indirme sayısını saymak için daha iyi bir yolu var mı?

4 Cevap

robots.txt: http://www.robotstxt.org/robotstxt.html

Tüm botlar ona saygılıyız, ama en çok yapmak değil. Eğer gerçekten botlara üzerinden erişimi engellemek istiyorsanız, yerine GET ona bağlantısını bir POST yapmak. Botlar POST adresler takip olmayacaktır. (IE, küçük bir form kullanmak geri söz URL'ye götüren sitesine mesaj var.)

Ben Godeke robots.txt cevabı yeterli olacağını düşünürdüm. Size kesinlikle sayacı botlara kadar olamaz, o zaman ben robotların bazı common robot user agents ile tıklama artan değil birlikte dosyasını kullanarak öneriyoruz.

Ne yoludur. Mükemmel, ama ikisinin karışımı muhtemelen biraz daha katıdır. Isimli ben olsaydım kolay ve muhtemelen en etkili çözümdür beri, ben muhtemelen sadece, robotlar olsa dosya sadık olacaktır.

Godeke doğru, robots.txt indirirken botlara tutmak için yapmanız gereken ilk şey.

Sayma ile ilgili olarak, bu gerçekten bir web analitik sorundur. Eğer www erişim günlüklerini tutmak ve Webalizer veya AWStats (veya Webtrends veya Urchin'den fantezi gibi alternatifler) gibi bir analitik program sayesinde onları yayınlanmıyor? Benim için bu çok kolay ve hiçbir PHP, orada yönlendirmek veya kullanıcının dosyayı indirirken diğer performans vurmak, çünkü bilgi bu tür toplamak için gitmek yoludur. Sen sadece zaten tutuyor Apache günlüklerini kullanarak ediyoruz. (Ve grep -c size belirli bir dosya veya joker desen hızlı 'n' kirli sayısını verecektir.)

Sen botlara, veya belirli bir kullanıcı ajanlar ve diğer kriterlere göre hit görmezden için istatistikler yazılım yapılandırabilirsiniz (ve daha sonra sizin kriterlerinize değiştirirseniz, sadece eski günlük verilerini yeniden işleme). Tabii ki, bu tüm eski günlükleri var gerektirmez, böylece gibi bir şey ile onları savurma oldum logrotate herhangi bir tarihsel veri olmadan işe başlamak gerekir.

Ayrıca http://www.bad-behavior.ioerror.us/ kullanarak robots.txt saygı olmaz zararlı botlar, algılayabilir.