PHP Cloudflare Gerçek İp (REMOTE_ADDR)

Cloudflare kurulu sitemde “$_SERVER[‘REMOTE_ADDR’] yani kullanıcıların gerçek ip adreslerini göremiyorum. Ne yapmalayım?” Sorusunu cevaplayacağız.

PHP Yazılım geliştirmekteyseniz;

function gercekIp() {  if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
  $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}
return $_SERVER["REMOTE_ADDR"]; }
$ipadr = gercekIp();

Bu function ile cloudflare olan ip adresini çekerseniz problemsiz bir şekilde real ip yi elde edersiniz.

Eğer problem olursa 2. olarak;

if(isset($_SERVER["HTTP_CLIENT_IP"])) {
	$ip = $_SERVER["HTTP_CLIENT_IP"];
} else if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
	$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
	$ip = $_SERVER["HTTP_CF_CONNECTING_IP"];
} else {
	$ip = $_SERVER["REMOTE_ADDR"];
}

Hazır scriptler için;

phpBB: https://sitesplat.com/phpBB3/viewtopic.php?f=17&t=3200&p=19387#p19387
SMF: https://custom.simplemachines.org/mods/index.php?mod=4072
MyBB: https://mods.mybb.com/view/antoligy-mybb-cloudflare-management-plugin
XenForo:
-
Düzenlenecek dizin: library/config.php  
Eklenicek kod:
if (isset($_SERVER['HTTP_CF_CONNECTING_IP']))
{ $_SERVER['REMOTE_ADDR']
= $_SERVER['HTTP_CF_CONNECTING_IP'];}
-
Cloudflare real ip olarak google.com üzerinde ararsanız daha fazla kaynağa sahip olabilirsiniz.

Güvenle kalın.

Bir Cevap Yazın