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.
|