TrendForum.Net

TrendForum.Net (https://www.trendforum.net/)
-   vBulletin (https://www.trendforum.net/vbulletin/)
-   -   vBulletin 3.8.x Online.php'de IP'lerin Aynı Olması!(Çözümü) (https://www.trendforum.net/vbulletin/10778-vbulletin-3-8-x-online-phpde-iplerin-ayni-olmasi-cozumu.html)

Bahtiyar 30 Kasım 2022 20:00

vBulletin 3.8.x Online.php'de IP'lerin Aynı Olması!(Çözümü)
 
Toplam 1 Eklenti bulunuyor.
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- Kodu:

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

DEĞİŞTİR;

PHP- Kodu:

/* 
    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- Kodu:

// 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- Kodu:

        if ($registry->real_ip
        { 
            
define('PROXYIP'$registry->ipaddress); 
            
define('IPADDRESS'$registry->real_ip);  
        } 
        else 
        { 
            
define('PROXYIP''');  
            
define('IPADDRESS'$registry->ipaddress); 
        } 

BUL;

PHP- Kodu:

// define session constants 
        
define('SESSION_HOST',   substr($registry->ipaddress015)); 

DEĞİŞTİR;

PHP- Kodu:

// Paul M - Define session host 
        
define('SESSION_HOST',   substr(IPADDRESS015)); 


BUL;

PHP- Kodu:

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- Kodu:

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.

Regex 08 Aralık 2022 01:53

Yanıt: vBulletin 3.8.x Online.php'de IP'lerin Aynı Olması!(Çözümü)
 
Bir Paul M. klasiği daha. Farklı bir eklenti konusunda da belirtmiştim, bu geliştirici vBulletin ile yollarını ayırdığı için tüm kodlarını ve eklentilerini resmî ürün forumundan sildi. Dolayısıyla burada bulunan çözüm makalesi de dahil olmak üzere orijinal sitede artık bulunmuyor, bu yönüyle çok daha değerli. Eline sağlık kanka.


Forum saati; Türkiye'ye göre ayarlanmış olup, şu an saat: 16:50.

Powered by vBulletin® Version 3.8.7   Copyright ©2000 - 2025, vBulletin Solutions, Inc.