Opened 2 years ago

Last modified 9 months ago

#16482 new defect (bug)

Visibility: password-protected breaks with redirected domains

Reported by: monkeyhouse Owned by:
Priority: normal Milestone: Awaiting Review
Component: General Version: 3.0.4
Severity: minor Keywords: has-patch 2nd-opinion
Cc:

Description

Pre-requisite to reproduce: domain.com must redirect to www.domain.com (haven't tested with other subdomains than www, but I'm sure it would be the same).

  1. password protect a page
  2. visit domain.com/protected (which redirects to www.domain.com/protected)
  3. enter password
  4. something about the redirect OR the way the password is stored/checked is broken; you are redirected to the wp-admin (WordPress login) page.

Sanity check:

  1. password protect a page
  2. visit www.domain.com/protected (requiring no subdomain redirect)
  3. enter password
  4. successful log-in

Attachments (1)

16482._wp_http_referer.diff (811 bytes) - added by duck_ 2 years ago.

Download all attachments as: .zip

Change History (7)

  • Keywords reporter-feedback added; visibility password removed

Tried the procedure you describe and it works fine for me. Are you using server rewrite rules to do the non-www -> www redirect?

comment:2   dd322 years ago

  • Keywords needs-patch added; reporter-feedback removed
Last edited 2 years ago by dd32 (previous) (diff)

comment:3 follow-up: ↓ 4   dd322 years ago

This is caused by wp-post.php using wp_safe_redirect(wp_get_referer()); for the redirection.

Since the referer is set to http://127... instead of http://localhost.. and i'm logged in, it'll redirect me to the WordPress admin.

Ideally, the best way to do this would be to POST the post_id along to wp-pass.php as well, and redirect to get_permalink($post_id);

comment:4 in reply to: ↑ 3   duck_2 years ago

  • Keywords has-patch added; needs-patch removed

Replying to dd32:

Ideally, the best way to do this would be to POST the post_id along to wp-pass.php as well, and redirect to get_permalink($post_id);

Taken a slightly different approach by forcing _wp_http_referer to be the permalink. Was unable to quickly reproduce the problem for testing, but this should work.

comment:5   dd322 years ago

makes a bit more sense there.

Also related, and I'll probably fix at the same time: #16483

  • Keywords 2nd-opinion added

I was able to recreate the problem with version 3.5-alpha-21751 and installed the patch.
The patch corrected the redirect for me. I am unsure if there may be a better way to handle this but it works.

Note: See TracTickets for help on using tickets.