Go Back   vb.org Archive > vBulletin Modifications > Archive > Modification Graveyard

Reply
 
Thread Tools
Proxy to Real IP Conversion Details »»
Proxy to Real IP Conversion
Version: 4.2.0.1, by Paul M Paul M is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Category: Administrative and Maintenance Tools - Version: 4.2.x Rating:
Released: 01-01-2010 Last Update: 01-03-2015 Installs: 686
DB Changes Uses Plugins Auto-Templates
Code Changes Translations  
No support by the author.


--------------------------------------------------------------------------------
This modification has been withdrawn.
vBulletin 4.0.x and 4.1.x are no longer supported.

For vBulletin 4.2.x please use the built in reverse proxy detection.
--------------------------------------------------------------------------------


This hack makes the forum always use the members real ip if a proxy is detected, meaning that all existing ip functions should continue to work, basically ignoring the proxy server (other than recording it's presence).

For example ;

* The real ip is displayed in the who's online page.
* The real and proxy server ip's are accesible for each post, the button is red for members using a proxy server.
* The real ip is searchable in the admin/mod cp (but not the proxy ip).
* The real ip can be banned by admins.

Note: This hack relies on the proxy server passing the correct http variables to allow detection.
If they are not passed then detection will not work. By definition, annonymous proxies do not pass on these variables.


If a proxy is detected, then a red ip icon is displayed instead of the standard one.

To install, download and unzip the files and follow the instructions in the text file.

This modification involves changes to the class_core.php file - if you upgrade your vbulletin, you must reapply those changes.
If you forget these edits, the modification will continue to work for forum posts only (v4.0.4 +).



History:

v4.0.1 : 02-Jan-2010 : Initial release for vb 4.0.0 Gold.
v4.0.2 : 04-Jan-2010 : Added check for invalid alt ip address.
v4.0.3 : 13-Jan-2010 : Minor change to cope better when people forget the class_core file edits.
v4.0.4 : 15-Jan-2010 : Further changes to process forum posts when people forget the class_core file edits.
v4.0.5 : 20-Feb-2010 : Internal update, not released.
v4.0.6 : 27-Feb-2010 : Style code updates for vB 4.0.2.
v4.0.7 : 30-Oct-2010 : Style code updated to work when css stored as files.

v4.1.0 : 04-Dec-2010 : Updated for vBulletin 4.1.x

v4.1.7.0 : 16-Oct-2011 : Updated for vBulletin 4.1.7.
v4.1.8.0 : 18-Nov-2011 : Updated for vBulletin 4.1.8.

v4.2.0.0 : 24-May-2012 : Updated for vBulletin 4.2.0.
v4.2.0.1 : 02-Jan-2015 : Updated for Cloudflare Changes.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #242  
Old 10-06-2014, 08:21 AM
hsoen hsoen is offline
 
Join Date: May 2010
Posts: 43
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

If you are installing 4.2.0.0 version, you need to add below step 1 (from 4.1.0.8) in addition to step 2 (from 4.2.0.0).

-----------------------------------------------------------------------------------------------------------
Step 1 (THIS STEP IS NOT REQUIRED IN vBulletin 4.1.7 - IT *IS* REQUIRED IN ALL OTHER VERSIONS, INCLUDING 4.1.8 ONWARDS).

In class_core.php ;

Find ;

// 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);

Replace with ;

// Paul M - Get ip addresses.
$registry->ipaddress = $this->fetch_ip();
$registry->alt_ip = $this->fetch_alt_ip();

// Check that alt_ip is valid address, reset to original if not.
if (preg_match("#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#" , $registry->alt_ip, $iplist))
{
$registry->alt_ip = $iplist[0];
}
else
{
$registry->alt_ip = $registry->ipaddress;
}

// Set ip constants.
if ($registry->ipaddress == $registry->alt_ip)
{
define('PROXYIP','');
define('ALT_IP',$registry->alt_ip);
define('IPADDRESS',$registry->ipaddress);
}
else
{
define('ALT_IP',$registry->alt_ip);
define('IPADDRESS',$registry->alt_ip);
define('PROXYIP',$registry->ipaddress);
$registry->ipaddress = $registry->alt_ip;
}

-----------------------------------------------------------------------------------------------------------
Step 2.

In class_core.php ;

Find ;

if ($proxy)
{
define('ALT_IP', $this->ipaddress);
define('IPADDRESS', $this->alt_ip);
}

Insert above it ;

// Detect ALL.
if ($registry->ipaddress == $registry->alt_ip)
{
define('PROXYIP','');
}
else
{
$proxy = true;
define('PROXYIP',$registry->ipaddress);
}

-----------------------------------------------------------------------------------------------------------
Reply With Quote
  #243  
Old 12-30-2014, 02:32 PM
del Drago's Avatar
del Drago del Drago is offline
 
Join Date: Dec 2010
Posts: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

This mod does not work. I'm attempting to use it with Cloudflare (at Cloudflare's recommendation), and I'm still only seeing Cloudflare IP addresses within vBulletin.
Reply With Quote
  #244  
Old 12-30-2014, 07:16 PM
graphicsarea graphicsarea is offline
 
Join Date: Dec 2014
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by del Drago View Post
This mod does not work. I'm attempting to use it with Cloudflare (at Cloudflare's recommendation), and I'm still only seeing Cloudflare IP addresses within vBulletin.
Like Me :down:
Reply With Quote
  #245  
Old 12-30-2014, 10:57 PM
madness85 madness85 is offline
 
Join Date: Jun 2012
Posts: 175
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by graphicsarea View Post
Like Me :down:
Option 2 I used https://support.cloudflare.com/hc/en...ith-vBulletin-
Reply With Quote
  #246  
Old 12-30-2014, 11:32 PM
Master Of Unive Master Of Unive is offline
 
Join Date: Oct 2009
Posts: 74
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by madness85 View Post
I can confirm that only option 2 working.
Reply With Quote
  #247  
Old 12-31-2014, 12:28 AM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by del Drago View Post
This mod does not work. I'm attempting to use it with Cloudflare (at Cloudflare's recommendation), and I'm still only seeing Cloudflare IP addresses within vBulletin.
The mod works just fine, please do try and get your facts straight before making sweeping statements

It will no longer work with Cloudfare because they changed their system to use a custom http variable called HTTP_CF_CONNECTING_IP, instead of the standard HTTP_X_FORWARDED_FOR.
Reply With Quote
2 благодарности(ей) от:
del Drago, Master Of Unive
  #248  
Old 01-02-2015, 06:10 PM
del Drago's Avatar
del Drago del Drago is offline
 
Join Date: Dec 2010
Posts: 34
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for clarifying the situation, Paul. Cloudflare needs to stop directing people to this mod, because they are causing a lot of unnecessary confusion.
Reply With Quote
  #249  
Old 01-02-2015, 06:49 PM
thetechgenius's Avatar
thetechgenius thetechgenius is offline
 
Join Date: Jun 2014
Posts: 258
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Will this work for vB 4.1.4 ?
Reply With Quote
  #250  
Old 01-02-2015, 06:54 PM
ozzy47's Avatar
ozzy47 ozzy47 is offline
 
Join Date: Jul 2009
Location: USA
Posts: 10,929
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

As stated in the first post.

For vBulletin 4.1.0 Onwards
Reply With Quote
  #251  
Old 01-02-2015, 09:18 PM
Paul M's Avatar
Paul M Paul M is offline
 
Join Date: Sep 2004
Location: Nottingham, UK
Posts: 23,748
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by del Drago View Post
Thanks for clarifying the situation, Paul. Cloudflare needs to stop directing people to this mod, because they are causing a lot of unnecessary confusion.
I wasnt aware they were, but its easy enough to modify it to work with them.

In addition to the install instructions provided, just do this ;

Code:
In class_core.php ;

Find ;

		if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
		{
			$altip = $_SERVER['HTTP_X_FORWARDED_FOR'];
		}


Replace with ;

		if (isset($_SERVER['HTTP_CF_CONNECTING_IP']))
		{
			$altip = $_SERVER['HTTP_CF_CONNECTING_IP'];
		}
		else if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))
		{
			$altip = $_SERVER['HTTP_X_FORWARDED_FOR'];
		}

No need to perform their option 2 then.

I've included this in the instructions for v4.2.0.1
Reply With Quote
2 благодарности(ей) от:
CharlieDelta, puertoblack2003
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 04:10 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04732 seconds
  • Memory Usage 2,331KB
  • Queries Executed 25 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_code
  • (5)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (17)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete