Hoşgeldin Misafir

PHP Cloudflare Gerçek İp (REMOTE_ADDR)

Reisci

Reisci

Yerli Ve Milli Hacker
11 Mar 2020
6,569 Mesaj

Aktiflik

Seviye

Deneyim

TIM / GÖREV:
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;

PHP:
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;

PHP:
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;

PHP:
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.