2016-03-29 26 views
1

Sadece IP Adresini ziyaret etmek istediğim problem var. Her şey iyi ama bir kullanıcı bana sadece IPv6 verir. Bu size verebileceğim kod, dahası sadece cloudflare apache2 Mod'ü kurdum.Ziyaretçiler ipv4 arkasında bulutflare'yi bul

$_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"] ? $_SERVER["HTTP_CF_CONNECTING_IP"] : $_SERVER["REMOTE_ADDR"]; 
$ip = $_SERVER['REMOTE_ADDR']; 

if(isset($_SERVER['HTTP_CF_CONNECTING_IP'])){ 
    $ip = $_SERVER['HTTP_CF_CONNECTING_IP']; 
} 
+0

IPv6 adresi * * kullanıcının adresidir. Neden bir IPv4 adresine sahip olduklarını düşünüyorsunuz? –

+0

Bu kullanıcının adresi olduğunu biliyorum. Tamam, aynı Kullanıcıdan bir IPv4 aldığım bir web bağlantısı var, bu yüzden bu iki değeri karşılaştırmam gerekiyor. – WLFCRK

cevap

3

tarafından CloudFlare IPv6 desteğini devre dışı olacaktır Bunu yapmanın tek yolu: DNS olarak

1) sadece A kayıtları bırakarak tüm AAAA kayıtlarını() çıkarılması. 2) CloudFlare panosunda Ağ'a gidip "IPv6 Uyumluluğu" nu kapatarak.

Bunu tavsiye etmem; yakında sitenize bağlanamayan kişilerle kendinizi bulabilirsin. Bunun yerine, platformunuzun IPv6'yı tam olarak desteklediğinden emin olmak daha iyi bir fikirdir.

0

CF'nin ipv6'yı devre dışı bırakmasını biraz daha zorlaştırdığını unutmayın (bu, gui'den mümkün değildir, api ile yapılmalıdır) AMA artık başlıklara 'Pseudo IPv4' adresi eklemek için bir seçenek içerir. Cf-Connecting-IP ve X-Forwarded-For'un üzerine yazarak veya Cf-Pseudo-IPv4 başlık ekleyerek.

Bu (henüz) desteği ipv6 yok eski uygulamalar için bir önlem olarak oldukça kullanışlı olabilir - https://support.cloudflare.com/hc/en-us/articles/202494830-Pseudo-IPv4-Supporting-IPv6-addresses-in-legacy-IPv4-applications

İlgili konular