Sürekli olarak google üzerinden gördüğümüz çö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;
PHP- Kodu:
function fetch_ip()
{
return $_SERVER['REMOTE_ADDR'];
}
Altına Ekleyin;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}***quot; , $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)\.***quot;, $real_ip))
{
$real_ip = '';
}
}
else
{
$real_ip = '';
}
return $real_ip;
Bunu bulun;
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);
Bununla değiştir;
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);
}
Bunu bul;
PHP- Kodu:
// define session constants
define('SESSION_HOST', substr($registry->ipaddress, 0, 15));
Bununla değiştir;
PHP- Kodu:
// Paul M - Define session host
define('SESSION_HOST', substr(IPADDRESS, 0, 15));
Bunu 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
}
Bununla değiştir;
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 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.
buradan indirebilirsiniz;https://www.upload.gen.tr/d.php/www/...al-ip.zip.html
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;
PHP- Kodu:
function fetch_ip()
{
return $_SERVER['REMOTE_ADDR'];
}
Altına Ekleyin;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}***quot; , $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)\.***quot;, $real_ip))
{
$real_ip = '';
}
}
else
{
$real_ip = '';
}
return $real_ip;
Bunu bulun;
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);
Bununla değiştir;
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);
}
Bunu bul;
PHP- Kodu:
// define session constants
define('SESSION_HOST', substr($registry->ipaddress, 0, 15));
Bununla değiştir;
PHP- Kodu:
// Paul M - Define session host
define('SESSION_HOST', substr(IPADDRESS, 0, 15));
Bunu 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
}
Bununla değiştir;
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 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.
buradan indirebilirsiniz;https://www.upload.gen.tr/d.php/www/...al-ip.zip.html