Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

Once I upgraded to WP 3.4.1, the password protect feature stopped working correctly. The password submit form leads to /wp-login.php?action=postpass and displays the admin login screen.

I've sought out answers around the web to no avail, and I've tried disabling all plugins, and still no dice.

Does anyone have a solution?

share|improve this question
add comment

2 Answers

I can confirm that Password Protected pages still work as normal in 3.4.1.

The password protect form does submit the password to /wp-login.php?action=postpass where that file deals with authentication. Upon successful or failed login the file will redirect you back to the page the user was on.

One thing to be aware of is that the login file requires the browsers Referer header to be set so it knows where to send the user back to. If your browser doesn't send this header then you will encounter the issues you are having. You may have it disabled in your browser through some browser extension or being in private browsing mode.

Now possibly in the past version of WP the post/page password form used to send a referer field but it doesn't in the latest version. I will investigate further.

UPDATE

I've tested on an older version of WordPress (3.0.0) and the behaviour is the same as the current version. I'm going to stick with the idea of your browser no longer sending the referer header as the cause of your issue.

share|improve this answer
    
Brady, thanks a lot for your reply, but the issue is being encountered by everyone and not just myself; therefore it can't possibly be a browser plugin or setting. However, I'll pick up the trail there and verify whether the correct headers are being sent. –  Tapefreak Aug 30 '12 at 18:34
    
That's not it at all -- the referer is the shortlink page from whence the user came. Still searching ... any help would be appreciated. –  Tapefreak Sep 4 '12 at 19:00
add comment

Oddly, wp-login.php had no reference to postpass in any of the argument switches or in the functions.. (how did that happen, I wonder?)

So I replaced the file with wp-login.php from a working WP and voila, problem solved.

This particular site had been upgraded and not a fresh install from 3.4.1 - I wonder how the code for postpass was not there? Was this feature added to wp-login.php in some recent version ? And still, in the act of updating a WP site, shouldn't these files be updated as part of the process?

share|improve this answer
1  
Interesting... Looks like some upgrade process didn't complete fully. What I'd do is take the latest wordpress and drop it over your install making sure all your files are at the latest version. –  Brady Sep 5 '12 at 8:33
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.