[wp-hackers] Allow redirects to subdomain with multisite?
John Reuning
john at ibiblio.org
Thu Aug 25 18:38:45 UTC 2011
I have a multisite install with a single-sign on integration that only
works if the redirect destination from the sso server is the top-level
url. i.e. sending the browser to https://example.com/wp-login.php
works but not https://site.example.com/wp-login.php.
I ended up customizing wp_validate_redirect() to allow redirects to
subdomains in a multisite install (see below). Is there any interest
in merging this into trunk? I can imagine this wouldn't appeal to
those who don't trust the sites they host, so perhaps checking a
config option would be appropriate.
--- pluggable.orig.php 2011-08-25 14:16:54.000000000 -0400
+++ pluggable.php 2011-08-25 14:16:06.000000000 -0400
@@ -30,6 +30,13 @@
$allowed_hosts = (array) apply_filters('allowed_redirect_hosts',
array($wpp['host']), isset($lp['host']) ? $lp['host'] : '');
+ if (is_multisite()) {
+ $pos = strpos($lp['host'], '.');
+ if (($pos !== false) && (substr($lp['host'], $pos + 1) ===
$wpp['host'])) {
+ $allowed_hosts[] = $lp['host'];
+ }
+ }
+
if ( isset($lp['host']) && ( !in_array($lp['host'],
$allowed_hosts) && $lp['host'] != strtolower($wpp['host'])) )
$location = $default;
Cheers,
-John
More information about the wp-hackers
mailing list