vBulletin 3.8.x Cloudflare Online.php de IP Adresinin Aynı Olması!(Çözümü)


vBulletin 3.8.x Online.php de IP Adresinin Aynı Olması!(Çözümü)

Sürekli gerek google üzerinden gördüğüm çözülemeyen konular, gerekse de bazı insanların bana bu sorunu çözmem için gelmesinden dolayı, bu konu hakkında bir başlık açmak istedim. Umarım, faydalı olur -ki- 3.8.7 ve 3.8.8 sürümünde başarı ile gerçekleşmiştir. Bu daha çok hosting firmasının almakta olduğu bir güvenlik önlemidir. Ama bu sorunu çözmek o kadar zor değildir. Altta anlatımımı doğru yapmanız yeterlidir.

Hata Çözümü;


FTP'e bağlanın ve class_core.php klasörünü bilgisayarına çekin. Çünkü, yapacağımız bir kaç değişilik var ve oradan yapacağız hepsini.

Öncelikle class_core.php dosyasının yedeğini alın. Daha sonra, işleme başlayın..

includes/class_core.php içerisinden;

Bu bul;

function fetch_ip() 
    { 
        return $_SERVER['REMOTE_ADDR']; 
    }

Altına ekle;
/* 
    Paul M - Try to detect real ip when proxy is in use. 
    */ 
    function fetch_real_ip() 
    { 
        $real_ip = '';  
        $ignoreprivate = false;     
        if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))  
        { 
            $real_ip = $_SERVER['HTTP_X_FORWARDED_FOR'];  
        } 
        else if (isset($_SERVER['HTTP_CLIENT_IP']))  
        { 
            $real_ip = $_SERVER['HTTP_CLIENT_IP'];  
        } 
        else if (isset($_SERVER['HTTP_FROM']))  
        { 
            $real_ip = $_SERVER['HTTP_FROM'];  
        } 
        if (preg_match("#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#", $real_ip, $iplist)) 
        { 
            $real_ip = $iplist[0];  
            if ($ignoreprivate AND preg_match("#^(127|10|172\.(1[6-9]|2[0-9]|3[0-1])|192\.168|169\.254)\.#", $real_ip)) 
            {  
                $real_ip = '';  
            }  
        } 
        else   
        { 
            $real_ip = '';  
        } 
        return $real_ip; 
    }

Bunu bul;
// fetch client IP address 
        $registry->ipaddress = $this->fetch_ip(); 
        define('IPADDRESS', $registry->ipaddress); 

        // attempt to fetch IP address from behind proxies - useful, but don't rely on it... 
        $registry->alt_ip = $this->fetch_alt_ip(); 
        define('ALT_IP', $registry->alt_ip);


Bununla değiştir;
// Paul M - Set Real, Alt & Proxy IP addresses 
        $registry->ipaddress = $this->fetch_ip(); 
        $registry->alt_ip = $this->fetch_alt_ip(); 
        $registry->real_ip = $this->fetch_real_ip(); 
        define('ALT_IP', $registry->alt_ip); 
        if ($registry->real_ip) 
        { 
            define('PROXYIP', $registry->ipaddress); 
            define('IPADDRESS', $registry->real_ip);  
        } 
        else 
        { 
            define('PROXYIP', '');  
            define('IPADDRESS', $registry->ipaddress); 
        }

Bunu bul;
// define session constants 
        define('SESSION_HOST',   substr($registry->ipaddress, 0, 15));

Bununla değiştir;
// Paul M - Define session host 
        define('SESSION_HOST',   substr(IPADDRESS, 0, 15));

Bunu bul;
if (!defined('SESSION_IDHASH')) 
        { 
            define('SESSION_IDHASH', md5($_SERVER['HTTP_USER_AGENT'] . $this->fetch_substr_ip($registry->alt_ip))); // this should *never* change during a session 
        }

Bununla değiştir;
if (!defined('SESSION_IDHASH')) 
        { 
            // Paul M - Define session id 
            define('SESSION_IDHASH', md5($_SERVER['HTTP_USER_AGENT'] . vB_Session::fetch_substr_ip(IPADDRESS))); 
        }

- ZIP dosyasında bulunan px.gif resmini images/buttons içine at.
- Editlediğimiz dosyayı yerine at ve üzerine yazdır.
- ZIP dosyasında bulunan XML dosyasını ürün yöneticisinden içeri al.
- Son olarakta, vBulletin seçenekler > Cookiler ve HTTP-Header seçenekleri > Cookie-Timeout bu kısımdan cache süresini düşür ve kaydet.
 ZIP dosyasını alttaki linkten indirin.