Skip to content

Fix password-protected pages #74

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

tcg
Copy link

@tcg tcg commented Nov 11, 2019

Fixes: #75

WordPress allows password protecting pages, per https://wordpress.org/support/article/using-password-protection/

When the end-user enters a password, WordPress sets a cookie value prefixed wp-postpass_ followed by a hash for the URL.

Previously, since cookies are stripped, the page just "reloads" the cached version after an end user enters the page password.

This change to the VCL bypasses cache for folks with that cookie set.

To be fair, this does seem awfully broad (password cookies are page-specific), but I'm not sure how to resolve this for only the specific URLs in question. So this is my cheap workaround for the moment. My hope is this at least sparks conversation or brings someone along who knows more about how to more correctly do this (page specific?) if this change doesn't seem right for you.

WordPress allows password protecting pages, per https://wordpress.org/support/article/using-password-protection/

When the end-user enters a password, WordPress sets a cookie value prefixed `wp-postpass_` followed by a hash for the URL. 

Previously, since cookies are stripped, the page just "reloads" the cached version after an end user enters the page password.

This change to the VCL bypasses cache for folks with that cookie set. 

To be fair, this does seem awfully broad, but I'm not sure how to resolve this for only the specific URLs in question. So this is my cheap workaround for the moment. My hope is this at least sparks conversation or brings someone along who knows more about how to *more correctly* do this (page specific?) if this change doesn't seem right for you.
@tcg
Copy link
Author

tcg commented Nov 11, 2019

🤔 Maybe the Fastly plugin could hook the cookie check (I haven't looked at the password check method in a while, to see if it has hooks), and do something to only those specific responses, allowing just those pages to bypass cache?

My knowledge of Varnish/VCL stuff fails me here. 🤷🏽‍♂️ Sorry.

@amankov
Copy link

amankov commented May 8, 2025

Faced the same issue, did the same fix. Find out this trying to add similar pull request, too bad it wasn't added.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants