Tekil mesaj gösterimi
Alt 30 Kasım 2022, 20:00   #1
Çevrimdışı
Bahtiyar
Yüzümden düşen bin parçayı toplayıp,
Yerine kocaman bir tebessüm yerleştiren var
"o" iyiki var.
vBulletin 3.8.x Online.php'de IP'lerin Aynı Olması!(Çözümü)




vBulletin 3.8.x Online.php'de IP'lerin Aynı Olması!(Çözümü)
Www.TrendForum.Net

Merhaba vBulletin kullanıcıları,

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.


İLK HATIRLATMA: İşlemi yapmadan önce işlem yapılacak dosyanın yedeğini ayrı yere alınız. Yani class_core.php dosyasını..

Hata Çözümü;

FTP'e bağlanın ve class_core.php klasörünü bilgisayarınıza ç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;

Bunu bul;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
function fetch_ip() 
    { 
        return 
$_SERVER['REMOTE_ADDR']; 
    } 

DEĞİŞTİR;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
/* 
    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
    } 


BUL;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
// 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); 

DEĞİŞTİR;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
        if ($registry->real_ip
        { 
            
define('PROXYIP'$registry->ipaddress); 
            
define('IPADDRESS'$registry->real_ip);  
        } 
        else 
        { 
            
define('PROXYIP''');  
            
define('IPADDRESS'$registry->ipaddress); 
        } 

BUL;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
// define session constants 
        
define('SESSION_HOST',   substr($registry->ipaddress015)); 

DEĞİŞTİR;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
// Paul M - Define session host 
        
define('SESSION_HOST',   substr(IPADDRESS015)); 


BUL;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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 
        


DEĞİŞTİR;

PHP Kod:   Kodu kopyalamak için üzerine çift tıklayın!
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 geri 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.


Eklenti "Ek" olarak eklendi. Normalde bu eklentiyi bulmak zor. Çünkü her yerde paylaşılan benim konularım ve link ölü. Ben bulup "ek" olarak ekledim.
Sunucumuza eklenmiş dosya
Dosya tipi: zip Proxy-to-real-ip.zip (4.2 KB (Kilobyte), Eklenti toplamda 1 kez indirilmiştir.)
__________________
- Rotasız adımlarıma eşlik eder sisli yollar..
 
Alıntı ile Yanıt