Make WordPress Core

Opened 6 years ago

Last modified 19 months ago

#9873 new defect (bug)

enforce a consistent home and siteurl www. pref

Reported by: Denis-de-Bernardy Owned by:
Milestone: Future Release Priority: normal
Severity: normal Version: 2.8
Component: Users Keywords: has-patch
Focuses: Cc:


Seen on a few sites. home and siteurl with inconsistent www prefs prevents the admin user's cookie from getting picked up properly, upon logging in.

code I currently use to prevent the issue is this:

add_action('login_head', 'fix_www_pref');

function fix_www_pref() {
	$home_url = get_option('home');
	$site_url = get_option('siteurl');
	$home_www = strpos($home_url, '://www.') !== false;
	$site_www = strpos($site_url, '://www.') !== false;
	if ( $home_www != $site_www ) {
		if ( $home_www )
			$site_url = str_replace('://', '://www.', $site_url);
			$site_url = str_replace('://www.', '://', $site_url);
		update_option('site_url', $site_url);
} # fix_www_pref()

there's probably a better way and a better location for this.

Attachments (2)

options.php.diff (1.4 KB) - added by norcross 3 years ago.
catch $_POST values for urls and check / replace if needed
9873.patch (754 bytes) - added by johnpbloch 2 years ago.
Explicit COOKIE_DOMAIN for www inconsistency

Download all attachments as: .zip

Change History (15)

comment:1 @Denis-de-Bernardy6 years ago

  • Milestone changed from 2.8 to Future Release

punting pending patch

comment:2 @Denis-de-Bernardy6 years ago

see also #10095 (closed issue), which highlights a side-effect

comment:3 @Denis-de-Bernardy6 years ago

see also #10447 for more potential side effects

comment:4 @hakre6 years ago

Related: #10970

comment:5 @scribu6 years ago

Related: #11945

comment:6 @mikeschinkel5 years ago

  • Cc mikeschinkel@… added

comment:7 @nacin3 years ago

Closed #20430 as a duplicate.

comment:8 @SergeyBiryukov3 years ago

Crops up on support forums once in a while.

@norcross3 years ago

catch $_POST values for urls and check / replace if needed

comment:9 @norcross3 years ago

  • Cc andrew@… added
  • Keywords has-patch added
  • Type changed from enhancement to defect (bug)
  • Version changed from 2.8 to 3.4

comment:10 @helenyhou3 years ago

  • Version changed from 3.4 to 2.8

Version number indicates when the bug was initially introduced/reported.

comment:11 @Ipstenu3 years ago

  • Cc ipstenu@… added

@johnpbloch2 years ago

Explicit COOKIE_DOMAIN for www inconsistency

comment:12 @johnpbloch2 years ago

  • Cc johnpbloch@… added

It seems to me that overriding a user's chosen preference in the options table is the wrong way to fix this bug. Since the problem is that it causes inconsistencies in cookie behavior, it makes more sense to me to fix this issue by forcing a value for COOKIE_DOMAIN if a www. inconsistency is detected.

comment:13 @ircbot19 months ago

This ticket was mentioned in IRC in #wordpress-dev by ipstenu. View the logs.

Note: See TracTickets for help on using tickets.