Version 4.7.23
This commit is contained in:
1 parent
7124a02564
commit
25ddeb65d6
1791 files changed
+76990
-44452
No files matched your search
+36
-19
@@ -237,31 +237,43 @@ class _Request extends \IPS\Patterns\Singleton
|
||||
{
|
||||
$url = $this->isSecure() ? 'https' : 'http';
|
||||
$url .= '://';
|
||||
$ruleMatched = FALSE;
|
||||
|
||||
/* Nginx uses HTTP_X_FORWARDED_SERVER. @see <a href='https://plone.lucidsolutions.co.nz/web/reverseproxyandcache/setting-nginx-http-x-forward-headers-for-reverse-proxy'>Nginx Reverse Proxy</a> */
|
||||
if ( !empty( $_SERVER['HTTP_X_FORWARDED_SERVER'] ) )
|
||||
if ( !\IPS\CIC )
|
||||
{
|
||||
if ( isset( $_SERVER['HTTP_X_FORWARDED_HOST'] ) AND mb_strstr( $_SERVER['HTTP_X_FORWARDED_HOST'], ':' ) === FALSE )
|
||||
if ( !empty( $_SERVER['HTTP_X_FORWARDED_SERVER'] ) )
|
||||
{
|
||||
$url .= $_SERVER['HTTP_X_FORWARDED_HOST'];
|
||||
if ( !empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) and $host = filter_var( $_SERVER['HTTP_X_FORWARDED_HOST'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME | FILTER_NULL_ON_FAILURE ) )
|
||||
{
|
||||
$url .= $host;
|
||||
$ruleMatched = TRUE;
|
||||
}
|
||||
elseif ( $server = filter_var( $_SERVER['HTTP_X_FORWARDED_SERVER'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME | FILTER_NULL_ON_FAILURE ) )
|
||||
{
|
||||
$url .= $server;
|
||||
$ruleMatched = TRUE;
|
||||
}
|
||||
}
|
||||
elseif ( !empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) and $host = filter_var( $_SERVER['HTTP_X_FORWARDED_HOST'], FILTER_VALIDATE_DOMAIN, FILTER_FLAG_HOSTNAME | FILTER_NULL_ON_FAILURE ) )
|
||||
{
|
||||
$url .= $host;
|
||||
$ruleMatched = TRUE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Probably not Nginx and can use normal headers */
|
||||
if( !$ruleMatched )
|
||||
{
|
||||
if ( !empty( $_SERVER['HTTP_HOST'] ) )
|
||||
{
|
||||
$url .= $_SERVER['HTTP_HOST'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$url .= $_SERVER['HTTP_X_FORWARDED_SERVER'];
|
||||
$url .= $_SERVER['SERVER_NAME'];
|
||||
}
|
||||
}
|
||||
elseif ( !empty( $_SERVER['HTTP_X_FORWARDED_HOST'] ) )
|
||||
{
|
||||
$url .= $_SERVER['HTTP_X_FORWARDED_HOST'];
|
||||
}
|
||||
elseif ( !empty( $_SERVER['HTTP_HOST'] ) )
|
||||
{
|
||||
$url .= $_SERVER['HTTP_HOST'];
|
||||
}
|
||||
else
|
||||
{
|
||||
$url .= $_SERVER['SERVER_NAME'];
|
||||
}
|
||||
|
||||
if ( $_SERVER['QUERY_STRING'] AND mb_strpos( $_SERVER['REQUEST_URI'], $_SERVER['QUERY_STRING'] ) !== FALSE )
|
||||
{
|
||||
@@ -468,9 +480,14 @@ class _Request extends \IPS\Patterns\Singleton
|
||||
/* Check wildcard cookies */
|
||||
foreach( static::getEssentialCookies() as $c )
|
||||
{
|
||||
if( mb_substr( $c, -1, 1 ) === '*' AND rtrim( $name, '*' ) === $name )
|
||||
if (str_ends_with($c, '*'))
|
||||
{
|
||||
return FALSE;
|
||||
$prefix = mb_substr($c, 0, -1);
|
||||
|
||||
if( str_starts_with($name, $prefix ) )
|
||||
{
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -554,7 +571,7 @@ class _Request extends \IPS\Patterns\Singleton
|
||||
{
|
||||
$groupFloodSeconds = \IPS\Member::loggedIn()->group['g_search_flood'];
|
||||
|
||||
if ( \IPS\Session::i()->userAgent->spider )
|
||||
if ( \IPS\Session::i()->userAgent->bot )
|
||||
{
|
||||
/* Force a 30 second flood control so if guests have it switched off, or set very low, you do not get flooded by known bots */
|
||||
$groupFloodSeconds = \IPS\BOT_SEARCH_FLOOD_SECONDS;
|
||||
|
||||
Reference in new issue
Block a user