Ziyaretçinin ip hakkında emin olmak nasıl?

4 Cevap php

Ben bir blog toplama web sitesi var

hikayeler ziyaret sayısına göre sıralanır

Ben ziyaretlerin bir istenmeyen karşı karşıya olduğumu düşünüyorum

Bazı bloglar 'hikayeleri efferent ip adresi ile aynı saniyede ziyaretlerin çok alırsınız çünkü

web siteme aynı ip ziyaretlerini izin vermez; Ancak benim ziyaretçiler şekilde kendi IP'leri değişiyor.

bu spam ziyaretleri algılamak için herhangi bir çözüm?, Google Adsense böyle bir sorunu çözer nasıl acaba?

Teşekkürler

4 Cevap

The short answer is that it's impossible to stop a determined attacker if a single unverified visit is the only thing required to alter the order of your story. You may want to think about implementing a registered user voting system.

Ancak, Bu çeşitli bilgi parçaları toplamak ve hepsini birleştirebilirsiniz:

1) User Agent
2) IP Address
3) X-Forwarded-For header (if available)

Çoğu zaman saldırganların farklı kullanıcı ajanları aracılığıyla tembel ve döngü olacaktır. Eğer kurulum belli bir zaman aralığında (ve gerçek-zamanlı) de ziyaret bilgileri işlemek için sistem varsa, potansiyel aynı tam kullanıcı maddesi ile aynı anda meydana gelen ziyaretlerin büyük koleksiyon filtre olabilir.

Her zaman böyle antiproxy.com gibi internet sitelerinden vekiller veritabanlarını indirmek olabilir, ama gerçek şu ki en iyi planlanmış saldırılar bugün belgelenmiş olması henüz botnet düğümleri gelen olmasıdır. Web sitenizin normal ziyaretçiler ayrılamayan heterojen trafik bir saldırı ile hedef olması için onu tam olarak mümkün değildir.

En azından, ben kullanıcıların hikayeler oy ve bir captcha gerektiren böylece uygulama değişiyor öneririm.

PHP ile müşteri o olduğunu söylüyor kim olduğunu biraz daha fazla güvence için IP adresine karşı $ _SERVER ["HTTP_X_FORWARDED_FOR"] değişkeni kontrol edebilirsiniz. Bu, bazı vekiller aracılığıyla insanları belirlemek yardımcı olacaktır.

Bazen bu işlevi kullanın. Diğerleri söylediler, ancak, o zaman doğru IP 100 yüzde almak zor olabilir.

Ben gelen işlevi var nerede hatırlamıyorum, ama internette oldukça yaygın gibi görünüyor.

function getRealIpAddr()
{
    if (!empty($_SERVER['HTTP_CLIENT_IP']))   
    {
      $ip=$_SERVER['HTTP_CLIENT_IP'];
    }
    elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR']))
    {
      $ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
    }
    else
    {
      $ip=$_SERVER['REMOTE_ADDR'];
    }
    return $ip;
}

Sen güvenilir bir IP tespit edemez.

Bir proxy üzerinden geliyor olabilir ya da sahte olabilir.