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.
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;
Altına ekle;PHP- Kodu:
function fetch_ip()
{
return $_SERVER['REMOTE_ADDR'];
}
Bunu bul;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;
}
Bununla değiştir;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);
Bunu bul;PHP- Kodu:
// 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);
}
Bununla değiştir;PHP- Kodu:
// define session constants
define('SESSION_HOST', substr($registry->ipaddress, 0, 15));
Bunu bul;PHP- Kodu:
// Paul M - Define session host
define('SESSION_HOST', substr(IPADDRESS, 0, 15));
Bununla değiştir;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
}
- ZIP dosyasında bulunan px.gif resmini images/buttons içine at.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)));
}
- 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.
Download: Proxy to Real IP Indir