PluginProbe
Passster – Password Protect Pages and Content / 4.3.17
Passster – Password Protect Pages and Content v4.3.17
4.3.17 4.3.16 4.3.15 4.3.14 4.3.12 4.3.13 4.3.11 4.3.10 4.3.9 4.3.8 4.3.7 4.3.6 4.3.5 trunk 3.5.4 3.5.5.2 3.5.5.8 3.5.5.9 4.0 4.1.4 4.2.10 4.2.11 4.2.12 4.2.13 4.2.14 All 49 releases
← All changes | readme.txt +939 -928 4.3.14 → 4.3.17 View file →
@@ -1,928 +1,939 @@
1 -=== Passster - Password Protect Pages and Content ===
2 -Contributors: wpchill, silkalns
3 -Tags: password protect, password, restrict content, sitewide, password protection
4 -Requires at least: 6.5
5 -Tested up to: 7.1
6 -Requires PHP: 7.2
7 -License: GPLv2 or later
8 -License URI: https://www.gnu.org/licenses/gpl-2.0.html
9 -Stable tag: 4.3.14
10 -
11 -== Description ==
12 -## Password Protect Pages, Posts & Content in WordPress
13 -
14 -Passster is an all-in-one plugin to password protect pages, content, or your entire site in seconds—quick, secure, and easy to use.
15 -Passster offers three protection modes to cover every use case you may think of when it comes to password protecting your WordPress website.
16 -
17 -https://www.youtube.com/watch?v=kjYklVLVFD8&list=PLM2tOjfhVrZdo_H26CV2I-UfdqpDWxo3D&index=4
18 -
19 -### Passster Pro – Even more protection features when making a purchase
20 -
21 -**Multiple Passwords & Password Lists**
22 -- Assign multiple passwords for different users.
23 -- Create and manage large password lists for easy control.
24 -
25 -**Quick & Bulk Edit for Password Protection**
26 -- Use WordPress **Quick Edit** and **Bulk Edit** to protect multiple pages instantly.
27 -
28 -**Unlock Content by User Role or Email**
29 -- Automatically grant access to specific users or email addresses.
30 -
31 -**Password Expiration & Usage Limits**
32 -- Set passwords to expire after a number of uses, first use, or by a time limit (hours, days, weeks).
33 -- Track which passwords were used and when they will expire.
34 -
35 -**Generate Unlock Links**
36 -- Create encrypted unlock links so users can access content without entering a password.
37 -- Automatically shorten links with **Bit.ly** for easy sharing.
38 -
39 -**WooCommerce Protection & Sales**
40 -- Protect WooCommerce pages, products, and checkout with a password.
41 -- Sell access to protected content—generate and email passwords automatically after purchase.
42 -
43 -**Detailed Password Usage Statistics**
44 -- Track when and how often passwords are used.
45 -- View first usage date, IP (optional), and browser details.
46 -
47 -## Quick Comparison (Free vs. Pro)
48 -
49 -### Free Version:
50 -✔ Protect sections of pages using shortcodes or blocks.
51 -✔ Secure entire pages and posts.
52 -✔ Automatically protect child pages with a single click.
53 -✔ Lock down your entire site with a password.
54 -✔ Unlock protected content without refreshing the page.
55 -✔ Customize the design, labels, and descriptions of the password form.
56 -✔ Use cookies to grant access across multiple protected areas.
57 -
58 -### Pro Version:
59 -✔ Everything in the free version, plus:
60 -✔ Protect content with **multiple passwords** or password lists.
61 -✔ Quickly set up password protection via Quick Edit or Bulk Edit.
62 -✔ Protect content using **Google reCAPTCHA or hCAPTCHA**.
63 -✔ Unlock protected content by **user role or email**.
64 -✔ Set passwords to **expire** based on usage limits or time intervals.
65 -✔ Generate encrypted **unlock links** for seamless access.
66 -✔ Track and prevent **concurrent password sharing**.
67 -✔ Secure **WooCommerce products and store pages**.
68 -✔ Sell access to protected content via **WooCommerce integration**.
69 -✔ Detailed statistics on password usage and lists.
70 -
71 -Get it now on [passster.com/](https://passster.com/)
72 -
73 -### Documentation
74 -
75 -Learn more about this plugin [in our official documentation](https://passster.com/kb/)
76 -
77 -== Support ==
78 -* Free users: [Ask in our forum](https://wordpress.org/support/plugin/content-protector/)
79 -* Pro users: [Get priority help](https://passster.com/contact-us/?utm_source=wordpress.org&utm_medium=web&utm_campaign=description&utm_term=contact+us)
80 -
81 -== Frequently Asked Questions ==
82 -
83 -= Can I use Passster in multiple languages =
84 -All primary texts and information can be modified from the admin area of Passster.
85 -The plugin is fully translatable in your language. There are only en_EN and de_DE at the moment, but you can easily add your preferred language as a .po/.mo.
86 -It’s also fully compatible with WPML and Polylang.
87 -
88 -= Where do I report security bugs found in this plugin? =
89 -
90 -Please report security bugs found in the source code of the Passster plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/9e5fb73f-e810-474a-a64f-c86081aa9b46). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin."
91 -
92 -== Screenshots ==
93 -1. Passster Password Form
94 -2. Passster Settings Area General
95 -3. Passster Settings Area Design
96 -4. Passster Protected Areas
97 -5. Passster Protected Areas in page edit
98 -6. Passster Password Lists - Pro only
99 -7. Passster Statistics - Pro only
100 -
101 -== Installation ==
102 -
103 -Passster is simple to install:
104 -
105 -1. Download the .zip'
106 -2. Unzip
107 -3. Upload the directory to your '/wp-content/plugins' directory
108 -4. Go to the plugin management page and enable the Passster Plugin
109 -5. Browse to Settings > Passster
110 -6. Customise your settings and your good to go!
111 -
112 -== Changelog ==
113 -= 4.3.14 - 03.09.2026 =
114 -* Fixed: Security update.
115 -* Fixed: Minor admin UI improvements.
116 -
117 -= 4.3.13 - 02.09.2026 =
118 -* Fixed: Security update.
119 -
120 -= 4.3.12 - 01.09.2026 =
121 -* Fixed: Security update.
122 -
123 -= 4.3.11 - 25.08.2026 =
124 -* Fixed: Some Design settings were not being applied to the password form.
125 -
126 -= 4.3.10 - 21.08.2026 =
127 -* Fixed: Various password validation and unlock reliability improvements.
128 -
129 -= 4.3.9 - 13.08.2026 =
130 -* Fixed: Security issue (thanks to WPScan).
131 -* Fixed: Block editor freezing when selecting a block built with page builders like Spectra.
132 -* Changed: Hid noisy Freemius notices (opt-in reminder, premium activation, plan upgrade messages).
133 -* Changed: Updated Freemius SDK to 2.13.4.
134 -
135 -= 4.3.8 - 03.08.2026 =
136 -* Fixed: Security issue.
137 -* Fixed: Block editor freezing on pages built with Elementor.
138 -* Changed: Improved Protected Content block toolbar performance on pages with many blocks.
139 -
140 -= 4.3.7 - 27.07.2026 =
141 -* Fixed: Security issue (thanks to Pierre Rudloff).
142 -
143 -= 4.3.6 - 23.07.2026 =
144 -* Added: "Show Password" label is now customizable from the General settings tab.
145 -* Fixed: Per-page form text being used even when "Overwrite Defaults" is disabled.
146 -* Fixed: Instruction text showing as garbled characters when using the Protected Area block.
147 -* Fixed: Security issues (thanks to Revanth Hari Narayana Matte).
148 -
149 -= 4.3.5 - 02.06.2026 =
150 -* Fixed: hCaptcha cookie not being recognized on subsequent page loads.
151 -* Fixed: Unlock links with special characters in instructions could cause encoding errors.
152 -* Fixed: Pass parameter being lost during global protection redirect.
153 -
154 -= 4.3.4 - 08.05.2026 =
155 -* Fixed: Replaced non-functional license activation button on free version with installation guide for Passster PRO.
156 -* Fixed: Category lock not showing password form on regular post category archive pages.
157 -
158 -= 4.3.3 - 03.04.2026 =
159 -* Changed: Enhance PS_Rest_Handler to allow public access to additional Passster endpoints for guest users.
160 -
161 -= 4.3.2 - 30.03.2026 =
162 -* Fixed: Category lock for WooCommerce products and categories.
163 -* Changed: Page refresh on unlock is now on by default. Inline unlock can be enabled via Advanced → Unlock Behaviour.
164 -
165 -= 4.3.1 - 20.03.2026 =
166 -* Fixed: Password label should not be visible, it's there for accessibility reasons.
167 -* Fixed: Password label is now translatable.
168 -* Fixed: Missing loading animation.
169 -
170 -= 4.3.0 - 20.03.2026 =
171 -* Changed: Refactor settings display and added statistics page.
172 -* Added: Category lock.
173 -* Added: Passter Protected Area Gutenberg wrapper block.
174 -
175 -= 4.2.29 - 12.02.2026 =
176 -* Fixed: Password validation and unlock link generation failing when the password contains the % character.
177 -
178 -= 4.2.28 - 02.02.2026 =
179 -* Fixed: Nonce validation failing for logged-in users when fetched via REST endpoint.
180 -
181 -= 4.2.27 - 27.01.2026 =
182 -* Fixed: Prevent nonce from being cached.
183 -* Fixed: Page protect children option.
184 -
185 -= 4.2.26 - 16.01.2026 =
186 -* Fixed: Security update
187 -
188 -= 4.2.25 - 14.01.2026 =
189 -* Fixed: Passster protected events do not show up in The Events Callendar REST requests.
190 -* Changed: Prevent nonce from being cached.
191 -* Fixed: Security update
192 -
193 -= 4.2.24 - 12.01.2026 =
194 -* Fixed: Vulnerability in passster shortcode.
195 -* Fixed: Fix allowing hashed in unlocking page url.
196 -
197 -= 4.2.23 - 08.01.2026 =
198 -* Fixed: Bug preventing password validation.
199 -
200 -= 4.2.22 - 05.01.2026 =
201 -* Fixed: Vulnerability in passster shortcode.
202 -
203 -= 4.2.21 - 18.12.2025 =
204 -* Fixed: Vulnerability in passster shortcode.
205 -
206 -= 4.2.20 - 22.10.2025 =
207 -* Fixed: Security update
208 -
209 -= 4.2.19 - 02.10.2025 =
210 -* Fixed: Vulnerability in passster shortcode.
211 -
212 -= 4.2.18 - 15.09.2025 =
213 -* Added: null alt attribute to ps-loader image for better accessibility compliance.
214 -* Changed: Made password form input IDs unique per protected area to prevent duplicate IDs when using multiple forms on the same page.
215 -
216 -= 4.2.17 - 22.07.2025 =
217 -* Fixed: Users with allowed roles can now access other pages when global restriction is active and the password page is excluded for them.
218 -
219 -= 4.2.16 - 09.07.2025 =
220 -* Changed: Allow HTML & shortcodes in instructions.
221 -
222 -= 4.2.15 - 17.03.2025 =
223 -* Added: Support for Turnstile captcha.
224 -
225 -= 4.2.14 - 25.02.2025 =
226 -* Fixed: Unlock link was not working properly.
227 -
228 -= 4.2.13 - 03.02.2025 =
229 -* Fixed: Global protection page was not being protected even if "Activate Protection" was on.
230 -
231 -= 4.2.12 - 20.12.2024 =
232 -* Changed: Security update - Updated Freemius SDK
233 -
234 -= 4.2.10 - 11.12.2024 =
235 -* Changed: Updated upsells information
236 -
237 -= 4.2.9 - 10.12.2024 =
238 -* Added: Settings upsells
239 -
240 -= 4.2.8 - 06.12.2024 =
241 -* Changed: Readme update
242 -
243 -= 4.2.7 =
244 -
245 -* WP 6.7 compatibility
246 -* dependency updates
247 -* PHP 8.3 compatibility
248 -* make headline removable via design settings
249 -* default tag for headlines is now <span> for SEO purposes
250 -* fixed expiration with cookie usage (pro-only)
251 -
252 -= 4.2.6.6 =
253 -
254 -* WP 6.6 compatiblity
255 -* latest dependencies for the block editor
256 -* fixed missing default value breaking design settings
257 -* latest Freemius SDK upgrade
258 -
259 -= 4.2.6.5 =
260 -
261 -* improved expiration for passwords with unlock links
262 -* fixed escaping for redirect parameter
263 -* several security improvements
264 -* updated to 6.5 compatibility
265 -
266 -= 4.2.6.4 =
267 -
268 -* exclude pagebuilders from rest restriction (frontend editing)
269 -
270 -= 4.2.6.3 =
271 -
272 -* fixed components for WP 6.4.3 release (margin/radius)
273 -* restrict Rest API access with global protection
274 -
275 -= 4.2.6.2 =
276 -
277 -* added exception for sanitized array setting (exclude pages)
278 -
279 -= 4.2.6.1 =
280 -
281 -* added hook to combine generated password with order
282 -* improved sanitization on importer
283 -* added russian + ukrainian translation
284 -* SDK upgrade
285 -
286 -= 4.2.6 =
287 -
288 -* WordPress 6.4 compatibility
289 -
290 -= 4.2.5 =
291 -
292 -* WooCommerce email trigger after status complete
293 -* added filter for generated password
294 -* protected page optional for WooCommerce integration
295 -* improved admin UI contrasts
296 -* restructured design settings
297 -
298 -= 4.2.4 =
299 -
300 -* WP 6.3 compatibility
301 -
302 -= 4.2.3 =
303 -
304 -* some Freemius integration improvements
305 -
306 -= 4.2.2 =
307 -
308 -* improved logout button markup
309 -* added action after validating password list hash
310 -* Freemius SDK update to 2.5.10
311 -
312 -= 4.2.1 =
313 -
314 -* improved admin UI with permanent sidebar
315 -* improved value handling for margin/padding to avoid PHP notices
316 -* added filter to validate payment before sending e-mail (pro-only)
317 -
318 -= 4.2 =
319 -
320 -* selling and generating passwords with WooCommerce (pro-only)
321 -* assign and manage multiple passwords lists (pro-only)
322 -* hotfix editing areas with Oxygen Builder
323 -* helper methods to automatically generate and add passwords to lists
324 -* statistics for password usage + custom database table
325 -* expiration statistics for passsword lists
326 -* fixed area shortcode inspector controls
327 -* GPDR friendly tracking implementation
328 -
329 -= 4.1.4 =
330 -
331 -* reverted hcaptcha integration
332 -* updated admin links to new URL structure
333 -* fixed expiration settings with new encryption
334 -* fixed PHP notice if reCaptcha doesn't return a response
335 -
336 -= 4.1.3.1 =
337 -
338 -* v4 API integration for Bit.ly
339 -
340 -= 4.1.3 =
341 -
342 -* fixed conditional for unlock links
343 -* support for additional URL parameters in cache friendly URLs
344 -* prevent multiple renders in quick edit
345 -* hcaptcha with checkbox
346 -* removed default margin from CSS
347 -* copy shortcode with fallback for Block Editor
348 -* removed deprecated compatibility method
349 -
350 -= 4.1.2 =
351 -
352 -* fallback solution to get post id in classic editor
353 -* fixed saving meta data in classic editor
354 -* compatibility with disable gutenberg plugin
355 -
356 -= 4.1.1 =
357 -
358 -* fixed regex pattern in deprecated shortcode
359 -* removed regex pattern for captcha as the feature no longer exists
360 -
361 -= 4.1 =
362 -
363 -* protect child pages
364 -* quick edit and bulk edit pages/posts for protection (pro-only)
365 -* hCaptcha protection (pro-only)
366 -* preventing PHP notices with concurrent usage and recaptcha
367 -* better dynamics for admin column + less intrusive styling
368 -
369 -= 4.0.1 =
370 -
371 -* fixed reCAPTCHA selection not saving in admin
372 -* improved fallback margin/padding for protection block
373 -* improved description of the unlock mode to make it easier to understand
374 -
375 -= 4.0 =
376 -
377 -* entirely new admin UI rewritten with React
378 -* custom block to select areas
379 -* ability to generate passwords
380 -* improved global protection UI
381 -* ability to exlude pages from global protection
382 -* on-the-fly unlock link generation
383 -
384 -= 3.5.5.7 =
385 -
386 -* modified Freemius prefix to prevent compatibility errors with Post SMTP plugin
387 -
388 -= 3.5.5.6 =
389 -
390 -* fixed Elementor integration with areas.
391 -
392 -= 3.5.5.5.2 =
393 -
394 -* improved fallback solution to convert base64 to hmac
395 -* changed validation priority: cookies - links - post data for quicker validation
396 -
397 -= 3.5.5.5.1 =
398 -
399 -* integrated converter to automatically convert old link encryption to new hashed encryption
400 -* fixed missing hash_nonce value in wp_localize_scripts
401 -
402 -= 3.5.5.5 =
403 -
404 -* dynamic version number for cache busting after update
405 -* new encryption for encrypted links
406 -* cleared up upgrade/activation code
407 -* includes + load_textdomain in plugins_loaded
408 -* fixed task priority with global protection and redirect
409 -* fixed ReCaptcha v2 validation and content return statement
410 -* better default settings
411 -
412 -
413 -= 3.5.5.4 =
414 -
415 -* improved hmac validation with cookies
416 -* fixed reload in combination with global page protection
417 -* introduced a unique secret key per installation
418 -* reverted Rest API implementation and used Ajax instead
419 -
420 -= 3.5.5.3.1 =
421 -
422 -* fix for captcha/recaptcha validation with hew hmac encryption
423 -
424 -= 3.5.5.3 =
425 -
426 -* fixed escaping area id in shortcode
427 -* implemented concurrent logins feature
428 -* encryption for cookies with unique secret key (hmac)
429 -* dedicated ajax class to handle validation
430 -* Rest API implementation for password encryption
431 -* general code cleanup (better performance + improved doc blocks)
432 -* consistent singletone pattern for all classes
433 -* better check for areas and full page protection (improved security)
434 -* latest freemius SDK
435 -* improved cookie-js implementation with sameSite attributes
436 -* fixed logo font rendering
437 -
438 -= 3.5.5.2 =
439 -
440 -* filter to disable base64 encryption for cookies and links
441 -* Freemius SDK update
442 -* jQuery migrate fix for captcha
443 -* improved escaping of shortcode attributes (area and password lists)
444 -
445 -= 3.5.5.1 =
446 -
447 -* better permission check settings page
448 -* better permission check metaboxes
449 -* improved german translation
450 -* added redirect parameter and settings
451 -* updated cookie js for better compatibility
452 -* added support for WooCommerce products and shop pages
453 -* filter to allow spaces in passwords
454 -* fixed version number
455 -
456 -= 3.5.4 =
457 -
458 -* fixed notice for checking areas
459 -* updated dependencies
460 -* fixed security issue in is_valid()
461 -* fixed validation with reload option
462 -
463 -= 3.5.3 =
464 -
465 -* security patch
466 -* better error handling with fade and clear input
467 -* better area restriction
468 -* better performance for password checkups
469 -* removed rych hash dependency
470 -* improved WooCommerce product restriction
471 -* Gutenberg Support for areas
472 -* fixed notice for bitly check
473 -* fixed notice for recaptcha validation
474 -
475 -= 3.5.2 =
476 -
477 -* fix for shortcode validation capabilities
478 -* improved validation for global protection
479 -
480 -= 3.5.1 =
481 -* bugfix for link protection
482 -* pagebuilder editing support for areas
483 -* fixed show password function
484 -* is_valid() for areas
485 -* dynamic {post-id} parameter for shortcodes in AJAX
486 -* hide parameter for areas
487 -* check form values before AJAX submit (required attributes for example)
488 -
489 -= 3.5 =
490 -
491 -* introduced protected areas
492 -* shortcode configurator in areas
493 -* bugfix: spaces in password lists
494 -* PHP 8 support improvements
495 -* removed auto-updater for options
496 -* automatically add metaboxes to all registered (public) post types
497 -* removed wp_auto_p() for Oxygen Builder support
498 -* removed deprecated Pagebuilder modules (handled with areas now)
499 -* min value for Cookie set to 1 and no negativ values possible
500 -* improved widget support with areas
501 -* performance optimization for large password lists
502 -
503 -
504 -= 3.4.2 =
505 -
506 -* lighter freemius integration
507 -* admin UI improvements
508 -* direct links for documentation and support in admin header
509 -
510 -= 3.4.1 =
511 -
512 -* added expire by usage and time for password lists (pro only)
513 -* added global password protection
514 -* base64 encryption for cookies
515 -* bugfix for bitly URL toggle (pro only)
516 -* improved uninstall with latest options
517 -* auto activate reload option if pagebuilder is activated
518 -
519 -= 3.4 =
520 -
521 -* added support to unlock widgets via ajax
522 -* added support to unlock acf fields via ajax
523 -* added shortcode params to page protection (pro only)
524 -* added user restriction to page protection (pro only)
525 -* fixed one-time usage for password lists without ajax (pro only)
526 -* added option to redirect to source URL after link unlock (pro only)
527 -
528 -= 3.3.9 =
529 -* latest freemius SDK
530 -* fixed ID parameter for multiple forms per page
531 -* custom headline, ID parameter for Recaptcha v2/v3
532 -* better enqueue for ReCaptcha v2
533 -
534 -= 3.3.8 =
535 -* removed old cache busting prevent 404 errors for files
536 -* wp_enqueue_script for ReCaptcha preventing cache issues
537 -* introduced ajax loader to indicate verification
538 -* fixed metabox showing wrong selected password list
539 -* improved admin wording for more clarification
540 -* updated german translation files
541 -
542 -= 3.3.7 =
543 -
544 -* WordPress 5.5 compatibility
545 -* Elementor with Ajax mode compatibility
546 -* added WPML config file
547 -* update german translation
548 -* prevent fatal error if ps_run_plugin() is already declared
549 -* number field instead of text for cookie duration
550 -* ReCaptcha without async defer (handled via Caching plugins)
551 -* fixed PHP notice for bitly integration
552 -
553 -= 3.3.6 =
554 -* cache-busting for no-ajax mode and cookies
555 -* fixed double docs link
556 -* support option for third-party-shortcodes with pre-render
557 -* removed auto-space from password lists
558 -* new link encryption solution with metabox and bitly
559 -* hide parameter for WPBakery integration
560 -* updated and fixed german translation
561 -
562 -= 3.3.5 =
563 -* performance improvements for password lists
564 -* support for Google ReCaptcha v2 with selection
565 -* more efficient ajax handling for different unlock methods.
566 -* auto-update cookie settings if no ajax mode is used.
567 -
568 -= 3.3.4.1 =
569 -* more robust regex for various shortcode implementations
570 -* added action to track unlocks with Google Analytics and other tracking solutions
571 -
572 -= 3.3.4 =
573 -* fixed additional params to overwrite texts in the shortcode
574 -* fixed empty content while using additional parameters
575 -* added tablepress support for ajax
576 -* implemented old recaptcha parameters for backwards compatibility
577 -
578 -= 3.3.3 =
579 -* better compatibility mode with cache busting
580 -* better ReCaptcha integration with ajax and with cookies
581 -* compatibility: full page protection with divi builder
582 -* more reliable way to get valid response via ajax
583 -* mobile-friendly cache-busting after authentication
584 -
585 -= 3.3.2 =
586 -* added compatibility mode for forcing reload
587 -* compatibility fix Elementor full page protection
588 -* compatibility fix WpBakery Pagebuilder full page protection
589 -* re-added error message in Customizer
590 -* improved german translation
591 -
592 -* fixed captcha loading while not in use
593 -* fixed wrong redirection after activation
594 -* fixed wrong object call for elementor users.
595 -
596 -= 3.3.1 =
597 -* fixed captcha loading while not in use
598 -* fixed wrong redirection after activation
599 -* fixed wrong object call for elementor users.
600 -
601 -= 3.3 =
602 -* major release
603 -* new admin UI and simplfied settings
604 -* password protection for pages, posts and products
605 -* new captcha solution with canvas objects
606 -* new Google ReCaptcha v3 integration
607 -* removed requirements for PHP sessions for better compatibility
608 -* removed old Google API vendor for better compatibility
609 -* refactored the entire shortcode and submit solution
610 -* ajax-based submit and validation - no page reload required anymore
611 -* fixed cookie solution for captcha, ReCaptcha
612 -* easier template function is_valid() for complete checks of all parameters
613 -* fixed shortcode parameters for headline and id
614 -* better uninstall cleanup
615 -* intrated metabox for setting Passster settings for complete pages
616 -
617 -
618 -= 3.2.6.1 =
619 -* cookie for passwords conditional function fixed
620 -* introduced API parameter to elementor and beaver builder
621 -* fixed notice if api not available in helper methods
622 -
623 -= 3.2.6 =
624 -* WPBakery Page Builder row protection with correct default values
625 -* new helper class for cookies
626 -* api parameter possibility to add external apis
627 -
628 -= 3.2.5 =
629 -* Another VC protection row fix..
630 -* compatibility WPBakery 6.0.5
631 -
632 -= 3.2.4 =
633 -* VC row protection fix
634 -* new partly parameter
635 -* cookie set fix and conditional function to check for
636 -* new type hint solution (better jQuery compatibility)
637 -* is_cookie_valid check for all password related protection types
638 -* admin css fixes with prefix
639 -
640 -
641 -= 3.2.3 =
642 -* Password Lists fix for all page builder
643 -* prevent autoload error if free and premium version installed
644 -* customizer as default values for page builder options
645 -* placeholder now configurable in the customizer
646 -
647 -= 3.2.2 =
648 -* fixed captcha notice
649 -* fixed rows shortcode for WPBakery Pagebuilder
650 -* more efficient notice handling in admin area
651 -
652 -= 3.2.1 =
653 -* adding the "hide" parameter to hide forms if set and multiple forms used
654 -* compatibility AAM plugin fix for multiple user roles
655 -* captcha is now a free addon - lower php version needed for basic password usage
656 -* check_atts method now working correctly
657 -* WPBakery Pagebuilder addon fix (free)
658 -* WPBakery Pagebuilder addon protect rows (only pro)
659 -* add message for captcha usage
660 -* new (and working) solution for show passwords before submitting
661 -
662 -= 3.2.0.6 =
663 -* new AMP support with cookies
664 -* Fixed delete error notice for passster_lists function not exists
665 -* introduced new helper function for AMP set_amp_headers()
666 -* drop db table for sessions if full uninstall option set
667 -* customizer option to show password while typing
668 -
669 -= 3.2.0.5 =
670 -* fixed amp notice
671 -* fixed backend_admin_notice error
672 -* fixed customizer for themify ultra theme
673 -
674 -= 3.2.0.4 =
675 -* PS_List collision fix
676 -
677 -= 3.2.0.3 =
678 -* autoload backupwp collision fix
679 -
680 -= 3.2.0.2 =
681 -* SVN fix for missing files
682 -* cookies for conditional functions
683 -
684 -= 3.2.0.1 =
685 -* pagebuilder path fix
686 -* admin amp option fix
687 -
688 -= 3.2 =
689 -* security patch freemius
690 -* add cookie option for multiple passwords
691 -* add pagebuilder addons in free version
692 -* fix php notices for php 7 support
693 -* remove OptionsHandler class for support older php versions
694 -* add password lists (admin + shortcode)
695 -* update translation files
696 -* added AMP support for all protection types
697 -* improve default values after Installation
698 -
699 -= 3.1.9.1 =
700 -* Fix PHP 5.6 upgrader problems
701 -* Moved autoloader up so database upgrade is handeled correctly
702 -
703 -
704 -= 3.1.9 =
705 -* PHP 5.6 compatibility
706 -* function naming fixes
707 -* optimize session handler class
708 -
709 -= 3.1.8 =
710 -* introduce conditional functions for template usage
711 -* completely remove the autofocus
712 -* fixes save settings for user_toggle option
713 -* updates the session handling for captcha to PHP 7.2 compatibility
714 -* prevents autofill for safari, chrome and webkit supported browsers
715 -
716 -= 3.1.7 =
717 -* includes fixes for beaver builder module support
718 -
719 -= 3.1.6 =
720 -* Support Release
721 -* Fixed multiple passwords runtime
722 -* add customizer notice on Installation
723 -* improved german translation
724 -* add an seprate atts function for more readable code
725 -* add new users addon
726 -*
727 -
728 -= 3.1.5 =
729 -* Support Release
730 -* Add auth parameter for multiple shortcodes per page
731 -* Fixed <span> for error messages
732 -* Fixed wp_enqueue_styles for windows servers
733 -* Fixed php notice for captcha options
734 -
735 -= 3.1.4 =
736 -* Support Release
737 -* fixed problems with WP Sessions table and Database Handler
738 -* fixed License Activation
739 -* Add option for autofocus
740 -* fixed helper for addon activation
741 -
742 -= 3.1.3 =
743 -* Support Release
744 -* Major improvements for captcha
745 -* set width and height for captcha
746 -* integrate wp-sessions-manager for session handling via database
747 -* adding page builder support for elementor, WPBakery Pagebuilder and beaver builder (pro only)
748 -* fix one pager bug with passster forms
749 -
750 -= 3.1.2 =
751 -* Support Release
752 -* Add placeholder and button label per shortcode
753 -* Fix option set issues for captcha
754 -* get rid of HTTP API and all external calls and replace with object cache
755 -
756 -= 3.1.1 =
757 -* Support Release
758 -* Fixing PHP notice for addons
759 -* replace_file_get_contents() with WP HTTP API
760 -
761 -= 3.1 =
762 -* new admin ui
763 -* captcha is back!
764 -* cache-compatible cookie solution
765 -* design modifications via customizer
766 -* cross-browser-compatible forms
767 -* shortcode generator
768 -* password generation with newset bcrypt standards
769 -* password generator
770 -* fix several bugs like instructions text, translations, php errors
771 -
772 -= 3.0 =
773 -* under new development
774 -* compatibilty with WordPress 4.9+
775 -* clean up and restructure whole plugin
776 -* remove deprecated solutions for ajax and captcha
777 -* removed date based selection of cookie expires
778 -
779 -= 2.11 =
780 -* Setting "Password Field Placeholder" now accessible through "Settings -> Passster -> Password/CAPTCHA Field"
781 -
782 -= 2.10 =
783 -* Form and CAPTCHA instructions moved to outside the form.
784 -* `content_protector_unlocked_content` filter bug in AJAX mode fixed.
785 -* CSS for `div.content-protector-form-instructions` fixed.
786 -* New Setting "CAPTCHA Case Insensitive" - to allow users to enter CAPTCHAs w/o case-sensitivity.
787 -* New action `content_protector_ajax_support` - for loading any extra files needed to support your protected content in AJAX mode.
788 -
789 -= 2.9.0.1 =
790 -* Fixed bug crashing `content_protector_unlocked_content` filter.
791 -* Full AJAX support for `[caption]` built-in shortcode.
792 -
793 -= 2.9 =
794 -* Full AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes.
795 -* Added full support for `[playlist]` and `[gallery]` built-in shortcodes.
796 -* Fixed Encrypted Passwords Storage setting message bug.
797 -* `content_protector_content` filter now called `content_protector_unlocked_content`.
798 -* `content_protector_unlocked_content` filter can now be customized from the Settings -> General tab.
799 -* `the_content` filter now applied to form and CAPTCHA instructions.
800 -
801 -= 2.8 =
802 -* Partial AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes. (experimental)
803 -* Fixed AJAX error from code refactoring
804 -
805 -= 2.7 =
806 -* Displaying Form CSS on unlocked content is now a user option (on the Form CSS tab).
807 -* When saving settings, the Settings page will now remember which tab you were on and load it automatically,
808 -* Fixed potential cookie expiry bug for sessions meant to last until the browser closes (expiry time set explicitly to '0').
809 -* Improved error checking for conflicting settings.
810 -* Some code refactoring.
811 -
812 -= 2.6.2 =
813 -* Fixed output buffering bug for access form introduced in 2.6.1.
814 -
815 -= 2.6.1 =
816 -* Fixed AJAX security nonce bugs.
817 -
818 -= 2.6 =
819 -* jQuery UI theme updated to 1.11.4
820 -
821 -= 2.5.0.1 =
822 -* New setting to manage encrypted passwords transient storage.
823 -* New settings for Password/CAPTCHA Fields character lengths.
824 -* Improved option initialization and cleanup routines.
825 -* `content-protector-ajax.js` now loads in the footer.
826 -* WPML/Polylang compatibility (beta).
827 -* New partial translation into Serbian (Latin); thanks to Andrijana Nikolic from WebHostingGeeks (Novi parcijalni prevod na Srpski ( latinski ); Hvala Andrijana Nikolic iz WebHostingGeeks)
828 -
829 -= 2.5 =
830 -* Skipped
831 -
832 -= 2.4 =
833 -* Skipped
834 -
835 -= 2.3 =
836 -* Settings admin page now limited to users with `manage_options` permission (i.e., admin users only).
837 -* Fixed bug where when using AJAX and CAPTCHA together, CAPTCHA image didn't reload on incorrect password.
838 -* New settings: use either a text or password field for entering passwords/CAPTCHAs, and set placeholder text for those fields.
839 -* Added `autocomplete="off"` to the access form.
840 -* Streamlined i18n for date/time pickers (Use values available in Wordpress settings and `$wp_locale` when available, combined *-i18n.js files into one).
841 -
842 -= 2.2.1 =
843 -* Fixed AJAX bug where shortcode couldn't be found if already enclosed in another shortcode.
844 -* Clarified error message if AJAX method cannot find shortcode.
845 -* Changed calls from `die()` to `wp_die()`.
846 -
847 -= 2.2 =
848 -* Removed `content-protector-admin-tinymce.js` (No need anymore; required JS variables now hooked directly into editor). Fixes incompatibility with OptimizePress.
849 -
850 -= 2.1.1 =
851 -* Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions.
852 -
853 -= 2.1 =
854 -* Rich text editors for form and CAPTCHA instructions.
855 -* NEW Template/Conditional Tag: `content_protector_is_logged_in()` (See Usage for details).
856 -* Performance improvements via Transients API.
857 -
858 -= 2.0 =
859 -* New CAPTCHA feature! Check out the CAPTCHA tab on Settings -> Content Protector for details.
860 -* Improved i18n.
861 -* Various minor bug fixes.
862 -
863 -= 1.4.1 =
864 -* Dashicons support for WP 3.8 + added. Support for old-style icons in Admin/TinyMCE is deprecated.
865 -* Unified dashicons among all of my plugins.
866 -
867 -= 1.4 =
868 -* Added "Display Success Message" option.
869 -
870 -= 1.3 =
871 -* Added "Shared Authorization" feature.
872 -* Renamed "Password Settings" to "General Settings".
873 -
874 -= 1.2.2 =
875 -* Added support for Contact Form 7 when using AJAX.
876 -
877 -= 1.2.1 =
878 -* Fixed label repetition on "Cookie expires after" drop-down menu.
879 -
880 -= 1.2 =
881 -* Various CSS settings now controllable from the admin panel.
882 -* Palettes on Settings color controls are now loaded from colors read from the active Theme's stylesheet. This
883 -should help in choosing colors that fit in with the active Theme.
884 -* Spinner image now preloaded.
885 -* Some language strings changed.
886 -
887 -= 1.1 =
888 -* AJAX loading message now customizable.
889 -
890 -= 1.0.1 =
891 -* Added required images for jQuery UI theme.
892 -* Fixed some i18n strings.
893 -
894 -= 1.0 =
895 -* Initial release.
896 -
897 -== Upgrade Notice ==
898 -= 2.8 =
899 -New features and bug fixes. Please upgrade.
900 -
901 -= 2.6.1 =
902 -New bug fixes. Please upgrade.
903 -
904 -= 2.3 =
905 -New features and bug fixes. Please upgrade.
906 -
907 -= 2.1.1 =
908 -Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions. Please upgrade.
909 -
910 -= 2.1 =
911 -New features. Please upgrade.
912 -
913 -= 2.0 =
914 -New features and bug fixes. Please upgrade.
915 -
916 -= 1.2.1 =
917 -Fixed label repetition on "Cookie expires after" drop-down menu. Please upgrade.
918 -
919 -= 1.0.1 =
920 -Added required images for JQuery UI theme and fixed some i18n strings.
921 -
922 -= 1.0 =
923 -Initial release.
924 -
925 -== Upgrade Notice ==
926 -
927 -= 4.2.13 =
928 -This resolved an issue with the "Activate Protection" option set for the Global protection page.
1 +=== Passster - Password Protect Pages and Content ===
2 +Contributors: wpchill, silkalns
3 +Tags: password protect, password, restrict content, sitewide, password protection
4 +Requires at least: 6.5
5 +Tested up to: 7.1
6 +Requires PHP: 7.2
7 +License: GPLv2 or later
8 +License URI: https://www.gnu.org/licenses/gpl-2.0.html
9 +Stable tag: 4.3.17
10 +
11 +== Description ==
12 +## Password Protect Pages, Posts & Content in WordPress
13 +
14 +Passster is an all-in-one plugin to password protect pages, content, or your entire site in seconds—quick, secure, and easy to use.
15 +Passster offers three protection modes to cover every use case you may think of when it comes to password protecting your WordPress website.
16 +
17 +https://www.youtube.com/watch?v=kjYklVLVFD8&list=PLM2tOjfhVrZdo_H26CV2I-UfdqpDWxo3D&index=4
18 +
19 +### Passster Pro – Even more protection features when making a purchase
20 +
21 +**Multiple Passwords & Password Lists**
22 +- Assign multiple passwords for different users.
23 +- Create and manage large password lists for easy control.
24 +
25 +**Quick & Bulk Edit for Password Protection**
26 +- Use WordPress **Quick Edit** and **Bulk Edit** to protect multiple pages instantly.
27 +
28 +**Unlock Content by User Role or Email**
29 +- Automatically grant access to specific users or email addresses.
30 +
31 +**Password Expiration & Usage Limits**
32 +- Set passwords to expire after a number of uses, first use, or by a time limit (hours, days, weeks).
33 +- Track which passwords were used and when they will expire.
34 +
35 +**Generate Unlock Links**
36 +- Create encrypted unlock links so users can access content without entering a password.
37 +- Automatically shorten links with **Bit.ly** for easy sharing.
38 +
39 +**WooCommerce Protection & Sales**
40 +- Protect WooCommerce pages, products, and checkout with a password.
41 +- Sell access to protected content—generate and email passwords automatically after purchase.
42 +
43 +**Detailed Password Usage Statistics**
44 +- Track when and how often passwords are used.
45 +- View first usage date, IP (optional), and browser details.
46 +
47 +## Quick Comparison (Free vs. Pro)
48 +
49 +### Free Version:
50 +✔ Protect sections of pages using shortcodes or blocks.
51 +✔ Secure entire pages and posts.
52 +✔ Automatically protect child pages with a single click.
53 +✔ Lock down your entire site with a password.
54 +✔ Unlock protected content without refreshing the page.
55 +✔ Customize the design, labels, and descriptions of the password form.
56 +✔ Use cookies to grant access across multiple protected areas.
57 +
58 +### Pro Version:
59 +✔ Everything in the free version, plus:
60 +✔ Protect content with **multiple passwords** or password lists.
61 +✔ Quickly set up password protection via Quick Edit or Bulk Edit.
62 +✔ Protect content using **Google reCAPTCHA or hCAPTCHA**.
63 +✔ Unlock protected content by **user role or email**.
64 +✔ Set passwords to **expire** based on usage limits or time intervals.
65 +✔ Generate encrypted **unlock links** for seamless access.
66 +✔ Track and prevent **concurrent password sharing**.
67 +✔ Secure **WooCommerce products and store pages**.
68 +✔ Sell access to protected content via **WooCommerce integration**.
69 +✔ Detailed statistics on password usage and lists.
70 +
71 +Get it now on [passster.com/](https://passster.com/)
72 +
73 +### Documentation
74 +
75 +Learn more about this plugin [in our official documentation](https://passster.com/kb/)
76 +
77 +== Support ==
78 +* Free users: [Ask in our forum](https://wordpress.org/support/plugin/content-protector/)
79 +* Pro users: [Get priority help](https://passster.com/contact-us/?utm_source=wordpress.org&utm_medium=web&utm_campaign=description&utm_term=contact+us)
80 +
81 +== Frequently Asked Questions ==
82 +
83 += Can I use Passster in multiple languages =
84 +All primary texts and information can be modified from the admin area of Passster.
85 +The plugin is fully translatable in your language. There are only en_EN and de_DE at the moment, but you can easily add your preferred language as a .po/.mo.
86 +It’s also fully compatible with WPML and Polylang.
87 +
88 += Where do I report security bugs found in this plugin? =
89 +
90 +Please report security bugs found in the source code of the Passster plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/9e5fb73f-e810-474a-a64f-c86081aa9b46). The Patchstack team will assist you with verification, CVE assignment, and notify the developers of this plugin."
91 +
92 +== Screenshots ==
93 +1. Passster Password Form
94 +2. Passster Settings Area General
95 +3. Passster Settings Area Design
96 +4. Passster Protected Areas
97 +5. Passster Protected Areas in page edit
98 +6. Passster Password Lists - Pro only
99 +7. Passster Statistics - Pro only
100 +
101 +== Installation ==
102 +
103 +Passster is simple to install:
104 +
105 +1. Download the .zip'
106 +2. Unzip
107 +3. Upload the directory to your '/wp-content/plugins' directory
108 +4. Go to the plugin management page and enable the Passster Plugin
109 +5. Browse to Settings > Passster
110 +6. Customise your settings and your good to go!
111 +
112 +== Changelog ==
113 += 4.3.17 - 02.10.2026 =
114 +* Fixed: Blocks from plugins like Kadence Blocks not displaying inside Protected Areas after unlock.
115 +* Fixed: Error when using multiple password lists without any list selected.
116 +
117 += 4.3.16 - 18.09.2026 =
118 +* Added: Post Type Level Protection: password-protect an entire post type at once.
119 +* Fixed: Unlock link redirects on archive pages.
120 +
121 += 4.3.15 - 10.09.2026 =
122 +* Fixed: Compatibility issue with some page builders.
123 +
124 += 4.3.14 - 03.09.2026 =
125 +* Fixed: Security update.
126 +* Fixed: Minor admin UI improvements.
127 +
128 += 4.3.13 - 02.09.2026 =
129 +* Fixed: Security update.
130 +
131 += 4.3.12 - 01.09.2026 =
132 +* Fixed: Security update.
133 +
134 += 4.3.11 - 25.08.2026 =
135 +* Fixed: Some Design settings were not being applied to the password form.
136 +
137 += 4.3.10 - 21.08.2026 =
138 +* Fixed: Various password validation and unlock reliability improvements.
139 +
140 += 4.3.9 - 13.08.2026 =
141 +* Fixed: Security issue (thanks to WPScan).
142 +* Fixed: Block editor freezing when selecting a block built with page builders like Spectra.
143 +* Changed: Hid noisy Freemius notices (opt-in reminder, premium activation, plan upgrade messages).
144 +* Changed: Updated Freemius SDK to 2.13.4.
145 +
146 += 4.3.8 - 03.08.2026 =
147 +* Fixed: Security issue.
148 +* Fixed: Block editor freezing on pages built with Elementor.
149 +* Changed: Improved Protected Content block toolbar performance on pages with many blocks.
150 +
151 += 4.3.7 - 27.07.2026 =
152 +* Fixed: Security issue (thanks to Pierre Rudloff).
153 +
154 += 4.3.6 - 23.07.2026 =
155 +* Added: "Show Password" label is now customizable from the General settings tab.
156 +* Fixed: Per-page form text being used even when "Overwrite Defaults" is disabled.
157 +* Fixed: Instruction text showing as garbled characters when using the Protected Area block.
158 +* Fixed: Security issues (thanks to Revanth Hari Narayana Matte).
159 +
160 += 4.3.5 - 02.06.2026 =
161 +* Fixed: hCaptcha cookie not being recognized on subsequent page loads.
162 +* Fixed: Unlock links with special characters in instructions could cause encoding errors.
163 +* Fixed: Pass parameter being lost during global protection redirect.
164 +
165 += 4.3.4 - 08.05.2026 =
166 +* Fixed: Replaced non-functional license activation button on free version with installation guide for Passster PRO.
167 +* Fixed: Category lock not showing password form on regular post category archive pages.
168 +
169 += 4.3.3 - 03.04.2026 =
170 +* Changed: Enhance PS_Rest_Handler to allow public access to additional Passster endpoints for guest users.
171 +
172 += 4.3.2 - 30.03.2026 =
173 +* Fixed: Category lock for WooCommerce products and categories.
174 +* Changed: Page refresh on unlock is now on by default. Inline unlock can be enabled via Advanced → Unlock Behaviour.
175 +
176 += 4.3.1 - 20.03.2026 =
177 +* Fixed: Password label should not be visible, it's there for accessibility reasons.
178 +* Fixed: Password label is now translatable.
179 +* Fixed: Missing loading animation.
180 +
181 += 4.3.0 - 20.03.2026 =
182 +* Changed: Refactor settings display and added statistics page.
183 +* Added: Category lock.
184 +* Added: Passter Protected Area Gutenberg wrapper block.
185 +
186 += 4.2.29 - 12.02.2026 =
187 +* Fixed: Password validation and unlock link generation failing when the password contains the % character.
188 +
189 += 4.2.28 - 02.02.2026 =
190 +* Fixed: Nonce validation failing for logged-in users when fetched via REST endpoint.
191 +
192 += 4.2.27 - 27.01.2026 =
193 +* Fixed: Prevent nonce from being cached.
194 +* Fixed: Page protect children option.
195 +
196 += 4.2.26 - 16.01.2026 =
197 +* Fixed: Security update
198 +
199 += 4.2.25 - 14.01.2026 =
200 +* Fixed: Passster protected events do not show up in The Events Callendar REST requests.
201 +* Changed: Prevent nonce from being cached.
202 +* Fixed: Security update
203 +
204 += 4.2.24 - 12.01.2026 =
205 +* Fixed: Vulnerability in passster shortcode.
206 +* Fixed: Fix allowing hashed in unlocking page url.
207 +
208 += 4.2.23 - 08.01.2026 =
209 +* Fixed: Bug preventing password validation.
210 +
211 += 4.2.22 - 05.01.2026 =
212 +* Fixed: Vulnerability in passster shortcode.
213 +
214 += 4.2.21 - 18.12.2025 =
215 +* Fixed: Vulnerability in passster shortcode.
216 +
217 += 4.2.20 - 22.10.2025 =
218 +* Fixed: Security update
219 +
220 += 4.2.19 - 02.10.2025 =
221 +* Fixed: Vulnerability in passster shortcode.
222 +
223 += 4.2.18 - 15.09.2025 =
224 +* Added: null alt attribute to ps-loader image for better accessibility compliance.
225 +* Changed: Made password form input IDs unique per protected area to prevent duplicate IDs when using multiple forms on the same page.
226 +
227 += 4.2.17 - 22.07.2025 =
228 +* Fixed: Users with allowed roles can now access other pages when global restriction is active and the password page is excluded for them.
229 +
230 += 4.2.16 - 09.07.2025 =
231 +* Changed: Allow HTML & shortcodes in instructions.
232 +
233 += 4.2.15 - 17.03.2025 =
234 +* Added: Support for Turnstile captcha.
235 +
236 += 4.2.14 - 25.02.2025 =
237 +* Fixed: Unlock link was not working properly.
238 +
239 += 4.2.13 - 03.02.2025 =
240 +* Fixed: Global protection page was not being protected even if "Activate Protection" was on.
241 +
242 += 4.2.12 - 20.12.2024 =
243 +* Changed: Security update - Updated Freemius SDK
244 +
245 += 4.2.10 - 11.12.2024 =
246 +* Changed: Updated upsells information
247 +
248 += 4.2.9 - 10.12.2024 =
249 +* Added: Settings upsells
250 +
251 += 4.2.8 - 06.12.2024 =
252 +* Changed: Readme update
253 +
254 += 4.2.7 =
255 +
256 +* WP 6.7 compatibility
257 +* dependency updates
258 +* PHP 8.3 compatibility
259 +* make headline removable via design settings
260 +* default tag for headlines is now <span> for SEO purposes
261 +* fixed expiration with cookie usage (pro-only)
262 +
263 += 4.2.6.6 =
264 +
265 +* WP 6.6 compatiblity
266 +* latest dependencies for the block editor
267 +* fixed missing default value breaking design settings
268 +* latest Freemius SDK upgrade
269 +
270 += 4.2.6.5 =
271 +
272 +* improved expiration for passwords with unlock links
273 +* fixed escaping for redirect parameter
274 +* several security improvements
275 +* updated to 6.5 compatibility
276 +
277 += 4.2.6.4 =
278 +
279 +* exclude pagebuilders from rest restriction (frontend editing)
280 +
281 += 4.2.6.3 =
282 +
283 +* fixed components for WP 6.4.3 release (margin/radius)
284 +* restrict Rest API access with global protection
285 +
286 += 4.2.6.2 =
287 +
288 +* added exception for sanitized array setting (exclude pages)
289 +
290 += 4.2.6.1 =
291 +
292 +* added hook to combine generated password with order
293 +* improved sanitization on importer
294 +* added russian + ukrainian translation
295 +* SDK upgrade
296 +
297 += 4.2.6 =
298 +
299 +* WordPress 6.4 compatibility
300 +
301 += 4.2.5 =
302 +
303 +* WooCommerce email trigger after status complete
304 +* added filter for generated password
305 +* protected page optional for WooCommerce integration
306 +* improved admin UI contrasts
307 +* restructured design settings
308 +
309 += 4.2.4 =
310 +
311 +* WP 6.3 compatibility
312 +
313 += 4.2.3 =
314 +
315 +* some Freemius integration improvements
316 +
317 += 4.2.2 =
318 +
319 +* improved logout button markup
320 +* added action after validating password list hash
321 +* Freemius SDK update to 2.5.10
322 +
323 += 4.2.1 =
324 +
325 +* improved admin UI with permanent sidebar
326 +* improved value handling for margin/padding to avoid PHP notices
327 +* added filter to validate payment before sending e-mail (pro-only)
328 +
329 += 4.2 =
330 +
331 +* selling and generating passwords with WooCommerce (pro-only)
332 +* assign and manage multiple passwords lists (pro-only)
333 +* hotfix editing areas with Oxygen Builder
334 +* helper methods to automatically generate and add passwords to lists
335 +* statistics for password usage + custom database table
336 +* expiration statistics for passsword lists
337 +* fixed area shortcode inspector controls
338 +* GPDR friendly tracking implementation
339 +
340 += 4.1.4 =
341 +
342 +* reverted hcaptcha integration
343 +* updated admin links to new URL structure
344 +* fixed expiration settings with new encryption
345 +* fixed PHP notice if reCaptcha doesn't return a response
346 +
347 += 4.1.3.1 =
348 +
349 +* v4 API integration for Bit.ly
350 +
351 += 4.1.3 =
352 +
353 +* fixed conditional for unlock links
354 +* support for additional URL parameters in cache friendly URLs
355 +* prevent multiple renders in quick edit
356 +* hcaptcha with checkbox
357 +* removed default margin from CSS
358 +* copy shortcode with fallback for Block Editor
359 +* removed deprecated compatibility method
360 +
361 += 4.1.2 =
362 +
363 +* fallback solution to get post id in classic editor
364 +* fixed saving meta data in classic editor
365 +* compatibility with disable gutenberg plugin
366 +
367 += 4.1.1 =
368 +
369 +* fixed regex pattern in deprecated shortcode
370 +* removed regex pattern for captcha as the feature no longer exists
371 +
372 += 4.1 =
373 +
374 +* protect child pages
375 +* quick edit and bulk edit pages/posts for protection (pro-only)
376 +* hCaptcha protection (pro-only)
377 +* preventing PHP notices with concurrent usage and recaptcha
378 +* better dynamics for admin column + less intrusive styling
379 +
380 += 4.0.1 =
381 +
382 +* fixed reCAPTCHA selection not saving in admin
383 +* improved fallback margin/padding for protection block
384 +* improved description of the unlock mode to make it easier to understand
385 +
386 += 4.0 =
387 +
388 +* entirely new admin UI rewritten with React
389 +* custom block to select areas
390 +* ability to generate passwords
391 +* improved global protection UI
392 +* ability to exlude pages from global protection
393 +* on-the-fly unlock link generation
394 +
395 += 3.5.5.7 =
396 +
397 +* modified Freemius prefix to prevent compatibility errors with Post SMTP plugin
398 +
399 += 3.5.5.6 =
400 +
401 +* fixed Elementor integration with areas.
402 +
403 += 3.5.5.5.2 =
404 +
405 +* improved fallback solution to convert base64 to hmac
406 +* changed validation priority: cookies - links - post data for quicker validation
407 +
408 += 3.5.5.5.1 =
409 +
410 +* integrated converter to automatically convert old link encryption to new hashed encryption
411 +* fixed missing hash_nonce value in wp_localize_scripts
412 +
413 += 3.5.5.5 =
414 +
415 +* dynamic version number for cache busting after update
416 +* new encryption for encrypted links
417 +* cleared up upgrade/activation code
418 +* includes + load_textdomain in plugins_loaded
419 +* fixed task priority with global protection and redirect
420 +* fixed ReCaptcha v2 validation and content return statement
421 +* better default settings
422 +
423 +
424 += 3.5.5.4 =
425 +
426 +* improved hmac validation with cookies
427 +* fixed reload in combination with global page protection
428 +* introduced a unique secret key per installation
429 +* reverted Rest API implementation and used Ajax instead
430 +
431 += 3.5.5.3.1 =
432 +
433 +* fix for captcha/recaptcha validation with hew hmac encryption
434 +
435 += 3.5.5.3 =
436 +
437 +* fixed escaping area id in shortcode
438 +* implemented concurrent logins feature
439 +* encryption for cookies with unique secret key (hmac)
440 +* dedicated ajax class to handle validation
441 +* Rest API implementation for password encryption
442 +* general code cleanup (better performance + improved doc blocks)
443 +* consistent singletone pattern for all classes
444 +* better check for areas and full page protection (improved security)
445 +* latest freemius SDK
446 +* improved cookie-js implementation with sameSite attributes
447 +* fixed logo font rendering
448 +
449 += 3.5.5.2 =
450 +
451 +* filter to disable base64 encryption for cookies and links
452 +* Freemius SDK update
453 +* jQuery migrate fix for captcha
454 +* improved escaping of shortcode attributes (area and password lists)
455 +
456 += 3.5.5.1 =
457 +
458 +* better permission check settings page
459 +* better permission check metaboxes
460 +* improved german translation
461 +* added redirect parameter and settings
462 +* updated cookie js for better compatibility
463 +* added support for WooCommerce products and shop pages
464 +* filter to allow spaces in passwords
465 +* fixed version number
466 +
467 += 3.5.4 =
468 +
469 +* fixed notice for checking areas
470 +* updated dependencies
471 +* fixed security issue in is_valid()
472 +* fixed validation with reload option
473 +
474 += 3.5.3 =
475 +
476 +* security patch
477 +* better error handling with fade and clear input
478 +* better area restriction
479 +* better performance for password checkups
480 +* removed rych hash dependency
481 +* improved WooCommerce product restriction
482 +* Gutenberg Support for areas
483 +* fixed notice for bitly check
484 +* fixed notice for recaptcha validation
485 +
486 += 3.5.2 =
487 +
488 +* fix for shortcode validation capabilities
489 +* improved validation for global protection
490 +
491 += 3.5.1 =
492 +* bugfix for link protection
493 +* pagebuilder editing support for areas
494 +* fixed show password function
495 +* is_valid() for areas
496 +* dynamic {post-id} parameter for shortcodes in AJAX
497 +* hide parameter for areas
498 +* check form values before AJAX submit (required attributes for example)
499 +
500 += 3.5 =
501 +
502 +* introduced protected areas
503 +* shortcode configurator in areas
504 +* bugfix: spaces in password lists
505 +* PHP 8 support improvements
506 +* removed auto-updater for options
507 +* automatically add metaboxes to all registered (public) post types
508 +* removed wp_auto_p() for Oxygen Builder support
509 +* removed deprecated Pagebuilder modules (handled with areas now)
510 +* min value for Cookie set to 1 and no negativ values possible
511 +* improved widget support with areas
512 +* performance optimization for large password lists
513 +
514 +
515 += 3.4.2 =
516 +
517 +* lighter freemius integration
518 +* admin UI improvements
519 +* direct links for documentation and support in admin header
520 +
521 += 3.4.1 =
522 +
523 +* added expire by usage and time for password lists (pro only)
524 +* added global password protection
525 +* base64 encryption for cookies
526 +* bugfix for bitly URL toggle (pro only)
527 +* improved uninstall with latest options
528 +* auto activate reload option if pagebuilder is activated
529 +
530 += 3.4 =
531 +
532 +* added support to unlock widgets via ajax
533 +* added support to unlock acf fields via ajax
534 +* added shortcode params to page protection (pro only)
535 +* added user restriction to page protection (pro only)
536 +* fixed one-time usage for password lists without ajax (pro only)
537 +* added option to redirect to source URL after link unlock (pro only)
538 +
539 += 3.3.9 =
540 +* latest freemius SDK
541 +* fixed ID parameter for multiple forms per page
542 +* custom headline, ID parameter for Recaptcha v2/v3
543 +* better enqueue for ReCaptcha v2
544 +
545 += 3.3.8 =
546 +* removed old cache busting prevent 404 errors for files
547 +* wp_enqueue_script for ReCaptcha preventing cache issues
548 +* introduced ajax loader to indicate verification
549 +* fixed metabox showing wrong selected password list
550 +* improved admin wording for more clarification
551 +* updated german translation files
552 +
553 += 3.3.7 =
554 +
555 +* WordPress 5.5 compatibility
556 +* Elementor with Ajax mode compatibility
557 +* added WPML config file
558 +* update german translation
559 +* prevent fatal error if ps_run_plugin() is already declared
560 +* number field instead of text for cookie duration
561 +* ReCaptcha without async defer (handled via Caching plugins)
562 +* fixed PHP notice for bitly integration
563 +
564 += 3.3.6 =
565 +* cache-busting for no-ajax mode and cookies
566 +* fixed double docs link
567 +* support option for third-party-shortcodes with pre-render
568 +* removed auto-space from password lists
569 +* new link encryption solution with metabox and bitly
570 +* hide parameter for WPBakery integration
571 +* updated and fixed german translation
572 +
573 += 3.3.5 =
574 +* performance improvements for password lists
575 +* support for Google ReCaptcha v2 with selection
576 +* more efficient ajax handling for different unlock methods.
577 +* auto-update cookie settings if no ajax mode is used.
578 +
579 += 3.3.4.1 =
580 +* more robust regex for various shortcode implementations
581 +* added action to track unlocks with Google Analytics and other tracking solutions
582 +
583 += 3.3.4 =
584 +* fixed additional params to overwrite texts in the shortcode
585 +* fixed empty content while using additional parameters
586 +* added tablepress support for ajax
587 +* implemented old recaptcha parameters for backwards compatibility
588 +
589 += 3.3.3 =
590 +* better compatibility mode with cache busting
591 +* better ReCaptcha integration with ajax and with cookies
592 +* compatibility: full page protection with divi builder
593 +* more reliable way to get valid response via ajax
594 +* mobile-friendly cache-busting after authentication
595 +
596 += 3.3.2 =
597 +* added compatibility mode for forcing reload
598 +* compatibility fix Elementor full page protection
599 +* compatibility fix WpBakery Pagebuilder full page protection
600 +* re-added error message in Customizer
601 +* improved german translation
602 +
603 +* fixed captcha loading while not in use
604 +* fixed wrong redirection after activation
605 +* fixed wrong object call for elementor users.
606 +
607 += 3.3.1 =
608 +* fixed captcha loading while not in use
609 +* fixed wrong redirection after activation
610 +* fixed wrong object call for elementor users.
611 +
612 += 3.3 =
613 +* major release
614 +* new admin UI and simplfied settings
615 +* password protection for pages, posts and products
616 +* new captcha solution with canvas objects
617 +* new Google ReCaptcha v3 integration
618 +* removed requirements for PHP sessions for better compatibility
619 +* removed old Google API vendor for better compatibility
620 +* refactored the entire shortcode and submit solution
621 +* ajax-based submit and validation - no page reload required anymore
622 +* fixed cookie solution for captcha, ReCaptcha
623 +* easier template function is_valid() for complete checks of all parameters
624 +* fixed shortcode parameters for headline and id
625 +* better uninstall cleanup
626 +* intrated metabox for setting Passster settings for complete pages
627 +
628 +
629 += 3.2.6.1 =
630 +* cookie for passwords conditional function fixed
631 +* introduced API parameter to elementor and beaver builder
632 +* fixed notice if api not available in helper methods
633 +
634 += 3.2.6 =
635 +* WPBakery Page Builder row protection with correct default values
636 +* new helper class for cookies
637 +* api parameter possibility to add external apis
638 +
639 += 3.2.5 =
640 +* Another VC protection row fix..
641 +* compatibility WPBakery 6.0.5
642 +
643 += 3.2.4 =
644 +* VC row protection fix
645 +* new partly parameter
646 +* cookie set fix and conditional function to check for
647 +* new type hint solution (better jQuery compatibility)
648 +* is_cookie_valid check for all password related protection types
649 +* admin css fixes with prefix
650 +
651 +
652 += 3.2.3 =
653 +* Password Lists fix for all page builder
654 +* prevent autoload error if free and premium version installed
655 +* customizer as default values for page builder options
656 +* placeholder now configurable in the customizer
657 +
658 += 3.2.2 =
659 +* fixed captcha notice
660 +* fixed rows shortcode for WPBakery Pagebuilder
661 +* more efficient notice handling in admin area
662 +
663 += 3.2.1 =
664 +* adding the "hide" parameter to hide forms if set and multiple forms used
665 +* compatibility AAM plugin fix for multiple user roles
666 +* captcha is now a free addon - lower php version needed for basic password usage
667 +* check_atts method now working correctly
668 +* WPBakery Pagebuilder addon fix (free)
669 +* WPBakery Pagebuilder addon protect rows (only pro)
670 +* add message for captcha usage
671 +* new (and working) solution for show passwords before submitting
672 +
673 += 3.2.0.6 =
674 +* new AMP support with cookies
675 +* Fixed delete error notice for passster_lists function not exists
676 +* introduced new helper function for AMP set_amp_headers()
677 +* drop db table for sessions if full uninstall option set
678 +* customizer option to show password while typing
679 +
680 += 3.2.0.5 =
681 +* fixed amp notice
682 +* fixed backend_admin_notice error
683 +* fixed customizer for themify ultra theme
684 +
685 += 3.2.0.4 =
686 +* PS_List collision fix
687 +
688 += 3.2.0.3 =
689 +* autoload backupwp collision fix
690 +
691 += 3.2.0.2 =
692 +* SVN fix for missing files
693 +* cookies for conditional functions
694 +
695 += 3.2.0.1 =
696 +* pagebuilder path fix
697 +* admin amp option fix
698 +
699 += 3.2 =
700 +* security patch freemius
701 +* add cookie option for multiple passwords
702 +* add pagebuilder addons in free version
703 +* fix php notices for php 7 support
704 +* remove OptionsHandler class for support older php versions
705 +* add password lists (admin + shortcode)
706 +* update translation files
707 +* added AMP support for all protection types
708 +* improve default values after Installation
709 +
710 += 3.1.9.1 =
711 +* Fix PHP 5.6 upgrader problems
712 +* Moved autoloader up so database upgrade is handeled correctly
713 +
714 +
715 += 3.1.9 =
716 +* PHP 5.6 compatibility
717 +* function naming fixes
718 +* optimize session handler class
719 +
720 += 3.1.8 =
721 +* introduce conditional functions for template usage
722 +* completely remove the autofocus
723 +* fixes save settings for user_toggle option
724 +* updates the session handling for captcha to PHP 7.2 compatibility
725 +* prevents autofill for safari, chrome and webkit supported browsers
726 +
727 += 3.1.7 =
728 +* includes fixes for beaver builder module support
729 +
730 += 3.1.6 =
731 +* Support Release
732 +* Fixed multiple passwords runtime
733 +* add customizer notice on Installation
734 +* improved german translation
735 +* add an seprate atts function for more readable code
736 +* add new users addon
737 +*
738 +
739 += 3.1.5 =
740 +* Support Release
741 +* Add auth parameter for multiple shortcodes per page
742 +* Fixed <span> for error messages
743 +* Fixed wp_enqueue_styles for windows servers
744 +* Fixed php notice for captcha options
745 +
746 += 3.1.4 =
747 +* Support Release
748 +* fixed problems with WP Sessions table and Database Handler
749 +* fixed License Activation
750 +* Add option for autofocus
751 +* fixed helper for addon activation
752 +
753 += 3.1.3 =
754 +* Support Release
755 +* Major improvements for captcha
756 +* set width and height for captcha
757 +* integrate wp-sessions-manager for session handling via database
758 +* adding page builder support for elementor, WPBakery Pagebuilder and beaver builder (pro only)
759 +* fix one pager bug with passster forms
760 +
761 += 3.1.2 =
762 +* Support Release
763 +* Add placeholder and button label per shortcode
764 +* Fix option set issues for captcha
765 +* get rid of HTTP API and all external calls and replace with object cache
766 +
767 += 3.1.1 =
768 +* Support Release
769 +* Fixing PHP notice for addons
770 +* replace_file_get_contents() with WP HTTP API
771 +
772 += 3.1 =
773 +* new admin ui
774 +* captcha is back!
775 +* cache-compatible cookie solution
776 +* design modifications via customizer
777 +* cross-browser-compatible forms
778 +* shortcode generator
779 +* password generation with newset bcrypt standards
780 +* password generator
781 +* fix several bugs like instructions text, translations, php errors
782 +
783 += 3.0 =
784 +* under new development
785 +* compatibilty with WordPress 4.9+
786 +* clean up and restructure whole plugin
787 +* remove deprecated solutions for ajax and captcha
788 +* removed date based selection of cookie expires
789 +
790 += 2.11 =
791 +* Setting "Password Field Placeholder" now accessible through "Settings -> Passster -> Password/CAPTCHA Field"
792 +
793 += 2.10 =
794 +* Form and CAPTCHA instructions moved to outside the form.
795 +* `content_protector_unlocked_content` filter bug in AJAX mode fixed.
796 +* CSS for `div.content-protector-form-instructions` fixed.
797 +* New Setting "CAPTCHA Case Insensitive" - to allow users to enter CAPTCHAs w/o case-sensitivity.
798 +* New action `content_protector_ajax_support` - for loading any extra files needed to support your protected content in AJAX mode.
799 +
800 += 2.9.0.1 =
801 +* Fixed bug crashing `content_protector_unlocked_content` filter.
802 +* Full AJAX support for `[caption]` built-in shortcode.
803 +
804 += 2.9 =
805 +* Full AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes.
806 +* Added full support for `[playlist]` and `[gallery]` built-in shortcodes.
807 +* Fixed Encrypted Passwords Storage setting message bug.
808 +* `content_protector_content` filter now called `content_protector_unlocked_content`.
809 +* `content_protector_unlocked_content` filter can now be customized from the Settings -> General tab.
810 +* `the_content` filter now applied to form and CAPTCHA instructions.
811 +
812 += 2.8 =
813 +* Partial AJAX support for `[embed]`, `[audio]`, and `[video]` built-in shortcodes. (experimental)
814 +* Fixed AJAX error from code refactoring
815 +
816 += 2.7 =
817 +* Displaying Form CSS on unlocked content is now a user option (on the Form CSS tab).
818 +* When saving settings, the Settings page will now remember which tab you were on and load it automatically,
819 +* Fixed potential cookie expiry bug for sessions meant to last until the browser closes (expiry time set explicitly to '0').
820 +* Improved error checking for conflicting settings.
821 +* Some code refactoring.
822 +
823 += 2.6.2 =
824 +* Fixed output buffering bug for access form introduced in 2.6.1.
825 +
826 += 2.6.1 =
827 +* Fixed AJAX security nonce bugs.
828 +
829 += 2.6 =
830 +* jQuery UI theme updated to 1.11.4
831 +
832 += 2.5.0.1 =
833 +* New setting to manage encrypted passwords transient storage.
834 +* New settings for Password/CAPTCHA Fields character lengths.
835 +* Improved option initialization and cleanup routines.
836 +* `content-protector-ajax.js` now loads in the footer.
837 +* WPML/Polylang compatibility (beta).
838 +* New partial translation into Serbian (Latin); thanks to Andrijana Nikolic from WebHostingGeeks (Novi parcijalni prevod na Srpski ( latinski ); Hvala Andrijana Nikolic iz WebHostingGeeks)
839 +
840 += 2.5 =
841 +* Skipped
842 +
843 += 2.4 =
844 +* Skipped
845 +
846 += 2.3 =
847 +* Settings admin page now limited to users with `manage_options` permission (i.e., admin users only).
848 +* Fixed bug where when using AJAX and CAPTCHA together, CAPTCHA image didn't reload on incorrect password.
849 +* New settings: use either a text or password field for entering passwords/CAPTCHAs, and set placeholder text for those fields.
850 +* Added `autocomplete="off"` to the access form.
851 +* Streamlined i18n for date/time pickers (Use values available in Wordpress settings and `$wp_locale` when available, combined *-i18n.js files into one).
852 +
853 += 2.2.1 =
854 +* Fixed AJAX bug where shortcode couldn't be found if already enclosed in another shortcode.
855 +* Clarified error message if AJAX method cannot find shortcode.
856 +* Changed calls from `die()` to `wp_die()`.
857 +
858 += 2.2 =
859 +* Removed `content-protector-admin-tinymce.js` (No need anymore; required JS variables now hooked directly into editor). Fixes incompatibility with OptimizePress.
860 +
861 += 2.1.1 =
862 +* Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions.
863 +
864 += 2.1 =
865 +* Rich text editors for form and CAPTCHA instructions.
866 +* NEW Template/Conditional Tag: `content_protector_is_logged_in()` (See Usage for details).
867 +* Performance improvements via Transients API.
868 +
869 += 2.0 =
870 +* New CAPTCHA feature! Check out the CAPTCHA tab on Settings -> Content Protector for details.
871 +* Improved i18n.
872 +* Various minor bug fixes.
873 +
874 += 1.4.1 =
875 +* Dashicons support for WP 3.8 + added. Support for old-style icons in Admin/TinyMCE is deprecated.
876 +* Unified dashicons among all of my plugins.
877 +
878 += 1.4 =
879 +* Added "Display Success Message" option.
880 +
881 += 1.3 =
882 +* Added "Shared Authorization" feature.
883 +* Renamed "Password Settings" to "General Settings".
884 +
885 += 1.2.2 =
886 +* Added support for Contact Form 7 when using AJAX.
887 +
888 += 1.2.1 =
889 +* Fixed label repetition on "Cookie expires after" drop-down menu.
890 +
891 += 1.2 =
892 +* Various CSS settings now controllable from the admin panel.
893 +* Palettes on Settings color controls are now loaded from colors read from the active Theme's stylesheet. This
894 +should help in choosing colors that fit in with the active Theme.
895 +* Spinner image now preloaded.
896 +* Some language strings changed.
897 +
898 += 1.1 =
899 +* AJAX loading message now customizable.
900 +
901 += 1.0.1 =
902 +* Added required images for jQuery UI theme.
903 +* Fixed some i18n strings.
904 +
905 += 1.0 =
906 +* Initial release.
907 +
908 +== Upgrade Notice ==
909 += 2.8 =
910 +New features and bug fixes. Please upgrade.
911 +
912 += 2.6.1 =
913 +New bug fixes. Please upgrade.
914 +
915 += 2.3 =
916 +New features and bug fixes. Please upgrade.
917 +
918 += 2.1.1 =
919 +Added custom filter `content_protector_content` to emulate `apply_filter( 'the_content', ... )` functionality for form and CAPTCHA instructions. Please upgrade.
920 +
921 += 2.1 =
922 +New features. Please upgrade.
923 +
924 += 2.0 =
925 +New features and bug fixes. Please upgrade.
926 +
927 += 1.2.1 =
928 +Fixed label repetition on "Cookie expires after" drop-down menu. Please upgrade.
929 +
930 += 1.0.1 =
931 +Added required images for JQuery UI theme and fixed some i18n strings.
932 +
933 += 1.0 =
934 +Initial release.
935 +
936 +== Upgrade Notice ==
937 +
938 += 4.2.13 =
939 +This resolved an issue with the "Activate Protection" option set for the Global protection page.