[phpbbreloaded-checkins] SF.net SVN: phpbbreloaded: [280] main/trunk/install/install.php
Status: Planning
Brought to you by:
tehphpmaster
From: <mj...@us...> - 2006-12-30 03:14:19
|
Revision: 280 http://svn.sourceforge.net/phpbbreloaded/?rev=280&view=rev Author: mjnr Date: 2006-12-29 19:14:20 -0800 (Fri, 29 Dec 2006) Log Message: ----------- Fixed host name guessing for servers sitting behind proxies. Modified Paths: -------------- main/trunk/install/install.php Modified: main/trunk/install/install.php =================================================================== --- main/trunk/install/install.php 2006-12-26 21:01:11 UTC (rev 279) +++ main/trunk/install/install.php 2006-12-30 03:14:20 UTC (rev 280) @@ -421,8 +421,16 @@ else { // Guess at some basic info used for install.. - if (!empty($HTTP_SERVER_VARS['SERVER_NAME']) || !empty($HTTP_ENV_VARS['SERVER_NAME'])) + if (!empty($HTTP_SERVER_VARS['HTTP_X_FORWARDED_SERVER']) || !empty($HTTP_ENV_VARS['HTTP_X_FORWARDED_SERVER'])) { + $server_name = (!empty($HTTP_SERVER_VARS['HTTP_X_FORWARDED_SERVER'])) ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_SERVER'] : $HTTP_ENV_VARS['HTTP_X_FORWARDED_SERVER']; + } + else if (!empty($HTTP_SERVER_VARS['HTTP_X_FORWARDED_HOST']) || !empty($HTTP_ENV_VARS['HTTP_X_FORWARDED_HOST'])) + { + $server_name = (!empty($HTTP_SERVER_VARS['HTTP_X_FORWARDED_HOST'])) ? $HTTP_SERVER_VARS['HTTP_X_FORWARDED_HOST'] : $HTTP_ENV_VARS['HTTP_X_FORWARDED_HOST']; + } + else if (!empty($HTTP_SERVER_VARS['SERVER_NAME']) || !empty($HTTP_ENV_VARS['SERVER_NAME'])) + { $server_name = (!empty($HTTP_SERVER_VARS['SERVER_NAME'])) ? $HTTP_SERVER_VARS['SERVER_NAME'] : $HTTP_ENV_VARS['SERVER_NAME']; } else if (!empty($HTTP_SERVER_VARS['HTTP_HOST']) || !empty($HTTP_ENV_VARS['HTTP_HOST'])) @@ -441,6 +449,11 @@ } else { + /* + * TODO: + * Detect a proxied port (e.g. utilise 'HTTP_X_FORWARDED_HOST:8080' perhaps?) + * This sounds like a damn ugly hack so need to set up a test server. MJ + */ if (!empty($HTTP_SERVER_VARS['SERVER_PORT']) || !empty($HTTP_ENV_VARS['SERVER_PORT'])) { $server_port = (!empty($HTTP_SERVER_VARS['SERVER_PORT'])) ? $HTTP_SERVER_VARS['SERVER_PORT'] : $HTTP_ENV_VARS['SERVER_PORT']; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |