Good morning,
I try to add the Proxy addresses are allowed in the config.php file:
/* #### Reverse Proxy IP ####
If your use a system where the main IP address passed to vBulletin is the address of a proxy server
and the actual 'real' ip address is passed in another http header then you enter the details here */
/* Enter your known [trusted] proxy servers here. You can list multiple trusted IPs separated by a comma.*/
//$config['Misc']['proxyiplist'] = '127.0.0.1, 192.168.1.6';
$config['Misc']['proxyiplist'] = 'XX.XX.X.XX, XXX.X.XXX.XXX';
/* If the real IP is passed in a http header variable other than HTTP_X_FORWARDED_FOR, then you can set the name here; */
$config['Misc']['proxyipheader'] = 'HTTP_X_FORWARDED_FOR';
//$config['Misc']['proxyipheader'] = 'HTTP_X_REAL_IP';
I try to replace the following string in the file class_core.php:
if ($proxy)
{
define('ALT_IP', $this->ipaddress);
define('IPADDRESS', $this->alt_ip);
}
else
{
define('IPADDRESS', $this->ipaddress);
define('ALT_IP', $this->alt_ip);
}
define('SESSION_HOST', substr(IPADDRESS, 0, 15));
with this:
if ($proxy)
{
define('ALT_IP', $this->ipaddress);
define('IPADDRESS', $this->alt_ip);
}
else
{
define('IPADDRESS', $this->ipaddress);
define('ALT_IP', $this->alt_ip);
}
if (strpos(IPADDRESS, ',') !== false) {
$array_ip = explode(",", IPADDRESS);
define('SESSION_HOST', trim($array_ip[1]) );
} else define('SESSION_HOST', substr(IPADDRESS, 0, 15));
This string identifies the public IP address from which the request is.
This change was made because, in the event that the proxy has the "X-Forwarded-For" active, passes two IP addresses and the previous string does not interpret correctly the IP.
For example:
"YY.YYY.YY.YYY, XX.X.X.XX" (this is sent by the proxy) becomes "YY.YYY.YY.YYY, ".
The comma is found in the string makes it unrecognizable IP address.
Despite all this, still does not work.
I have a question:
there is another configuration file that defines the parse IP address?
If yes, can you tell me, please, what is?
Regards
|