WPIntell

Source evidence

Security check failed

Passster – Password Protect Pages and Content · support · 2025-12-23T07:16:00+00:00

mixedsentiment
highseverity
0.95relevance
11replies
Evidence linked to opportunitycommercial context

Proof Health

Open evidence

Commercial opportunities need traceable source links before they are treated as build-worthy.

4 / 31 rows with source links

12.9% of this page's analysis has direct source links.

0 build-decision rows missing links

0 rows here require auditable proof before promotion.

27 rows with no attached evidence

0 rows have source counts but still need direct links.

Conversation

support
Diiamo resolved
Hi, Sometimes it shows” Security check failed”( https://picshack.net/ib/ewRyVrylB0 ) , after clear cache will back to normal. Hello @luislu , This issue is caused by page caching. The security nonce (ps-password-nonce) is generated dynamically and embedded in the page output. When the page is cached by a caching plugin, the nonce is also cached and, after some time, it expires. When this happens, any AJAX request that uses the cached nonce will return an “Security check failed” error. To fix this, please configure your caching plugin to do one of the following : Exclude the page where Passster is used from page cache, or Exclude the passster-public.js script from being cached. After excluding the page or script, please clear the cache and test again. This is standard WordPress behavior when nonces are used on cached pages. Have a great day! I bypass passster cookie, will this help? Hello @luislu , Unfortunately, no. Bypassing only the Passster cookie is not enough. Are you using a caching plugin? If so, which one? “Exclude the passster-public.js script from being cached.” As I know, only HTML can be excluded from being cached. How to exclude passster-public.js? Do you mean exclude from minify? This reply was modified 5 months ago by Diiamo . Hi, @altesin I am using W3TC and Super Page Cache by Themeisle , cloudflare CDN free plan, thank you This reply was modified 5 months ago by Diiamo . Hello @luislu , This issue is caused by HTML page caching through Super Page Cache and Cloudflare. Because the security nonce for password verification is added inline to the page, it is cached and expires over time. To prevent this, we recommend excluding the Passster-protected page from HTML page caching in Super Page Cache or Cloudflare. Hi @altesin , How long will security nonce expires/ change? If can automatically clear the page cache within the security nonce expiration date, can solve this issue, right? This reply was modified 4 months, 2 weeks ago by Diiamo . Hello @luislu , By default, a WordPress nonce is valid for up to 24 hours (internally it rotates every ~12 hours). After that, any request using that nonce will fail and return the “Security check failed” message. If you automatically clear the cache every X hours, then yes, it will appear to “fix” the problem, because a new page will be generated and a fresh nonce will be inserted. The proper solution is to exclude Passster-protected pages from page cache. I find a solution: Set to bypass the page cache on the cache plugin, then set the cache expiration time within 12 hours on the CDN. Hi @altesin , The new version today, it says”Changed: Prevent nonce from being cached.”, does it mean can cache the page html for longtime now?

Comments

11 shown
Teo Alex 2025-12-23T08:12:00+00:00

Hello @luislu , This issue is caused by page caching. The security nonce (ps-password-nonce) is generated dynamically and embedded in the page output. When the page is cached by a caching plugin, the nonce is also cached and, after some time, it expires. When this happens, any AJAX request that uses the cached nonce will return an “Security check failed” error. To fix this, please configure your caching plugin to do one of the following : Exclude the page where Passster is used from page cache, or Exclude the passster-public.js script from being cached. After excluding the page or script, please clear the cache and test again. This is standard WordPress behavior when nonces are used on cached pages. Have a great day!

Diiamo 2025-12-23T08:24:00+00:00

I bypass passster cookie, will this help?

Teo Alex 2025-12-23T09:42:00+00:00

Hello @luislu , Unfortunately, no. Bypassing only the Passster cookie is not enough. Are you using a caching plugin? If so, which one?

Diiamo 2025-12-23T09:43:00+00:00

“Exclude the passster-public.js script from being cached.” As I know, only HTML can be excluded from being cached. How to exclude passster-public.js? Do you mean exclude from minify? This reply was modified 5 months ago by Diiamo .

Diiamo 2025-12-23T09:55:00+00:00

Hi, @altesin I am using W3TC and Super Page Cache by Themeisle , cloudflare CDN free plan, thank you This reply was modified 5 months ago by Diiamo .

Teo Alex 2025-12-23T12:17:00+00:00

Hello @luislu , This issue is caused by HTML page caching through Super Page Cache and Cloudflare. Because the security nonce for password verification is added inline to the page, it is cached and expires over time. To prevent this, we recommend excluding the Passster-protected page from HTML page caching in Super Page Cache or Cloudflare.

Diiamo 2026-01-09T03:53:00+00:00

Hi @altesin , How long will security nonce expires/ change?

Diiamo 2026-01-09T03:59:00+00:00

If can automatically clear the page cache within the security nonce expiration date, can solve this issue, right? This reply was modified 4 months, 2 weeks ago by Diiamo .

Teo Alex 2026-01-09T14:19:00+00:00

Hello @luislu , By default, a WordPress nonce is valid for up to 24 hours (internally it rotates every ~12 hours). After that, any request using that nonce will fail and return the “Security check failed” message. If you automatically clear the cache every X hours, then yes, it will appear to “fix” the problem, because a new page will be generated and a fresh nonce will be inserted. The proper solution is to exclude Passster-protected pages from page cache.

Diiamo 2026-01-09T15:36:00+00:00

I find a solution: Set to bypass the page cache on the cache plugin, then set the cache expiration time within 12 hours on the CDN.

Diiamo 2026-01-16T05:42:00+00:00

Hi @altesin , The new version today, it says”Changed: Prevent nonce from being cached.”, does it mean can cache the page html for longtime now?