Changeset 3486071
- Timestamp:
- 03/18/2026 10:49:00 PM (10 days ago)
- Location:
- restrict-content/tags/3.2.25
- Files:
-
- 9 edited
- 1 copied
-
. (copied) (copied from restrict-content/trunk)
-
composer.json (modified) (1 diff)
-
core/includes/class-restrict-content.php (modified) (1 diff)
-
core/includes/login-functions.php (modified) (4 diffs)
-
core/includes/member-functions.php (modified) (5 diffs)
-
lang/restrict-content.pot (modified) (3 diffs)
-
legacy/restrictcontent.php (modified) (1 diff)
-
package.json (modified) (1 diff)
-
readme.txt (modified) (2 diffs)
-
restrictcontent.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
restrict-content/tags/3.2.25/composer.json
r3480366 r3486071 1 1 { 2 2 "name": "restrictcontent/restrict-content", 3 "version": "3.2.2 4",3 "version": "3.2.25", 4 4 "type": "wordpress-plugin", 5 5 "description": "A simple, yet powerful membership solution for WordPress.", -
restrict-content/tags/3.2.25/core/includes/class-restrict-content.php
r3480366 r3486071 27 27 */ 28 28 final class Restrict_Content_Pro { 29 const VERSION = '3.5.5 7';29 const VERSION = '3.5.58.1'; 30 30 31 31 /** -
restrict-content/tags/3.2.25/core/includes/login-functions.php
r3420370 r3486071 185 185 * 186 186 * @since 2.3 187 * @since 3.5.58 Improved validation of redirect URLs 188 * @since 3.5.58.1 Change sanitization of redirect URLs from sanitize_text_field to sanitize_url 187 189 * @return void 188 190 */ … … 200 202 201 203 if ( ! is_wp_error( $errors ) ) { 202 $redirect_to = esc_url($_POST['rcp_redirect']) . '?rcp_action=lostpassword_checkemail';203 wp_ redirect( $redirect_to);204 $redirect_to = wp_validate_redirect( isset( $_POST['rcp_redirect'] ) ? sanitize_url( wp_unslash( $_POST['rcp_redirect'] ) ) : '', home_url() ); // phpcs:ignore WordPress.WP.DeprecatedFunctions.sanitize_urlFound, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized 205 wp_safe_redirect( add_query_arg( 'rcp_action', 'lostpassword_checkemail', $redirect_to ) ); 204 206 exit(); 205 207 } … … 245 247 * 246 248 * @since 3.4.3 249 * @since 3.5.58 Improved validation of redirect URLs 250 * @since 3.5.58.1 Change sanitization of redirect URLs from sanitize_text_field to sanitize_url 247 251 * 248 252 * @param array $_POST The form $_POST data. … … 268 272 $message .= __('If this was a mistake, just ignore this email and nothing will happen.', 'rcp') . "\r\n\r\n"; 269 273 $message .= __('To reset your password, visit the following address:', 'rcp') . "\r\n\r\n"; 270 $message .= esc_url_raw( add_query_arg( array( 'rcp_action' => 'lostpassword_reset', 'key' => $key, 'login' => rawurlencode( $user_login ) ), $_POST['rcp_redirect'] ) ) . "\r\n"; 274 $redirect_base = wp_validate_redirect( isset( $_POST['rcp_redirect'] ) ? sanitize_url( wp_unslash( $_POST['rcp_redirect'] ) ) : '', home_url() ); // phpcs:ignore WordPress.Security.NonceVerification.Missing, WordPress.WP.DeprecatedFunctions.sanitize_urlFound, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized 275 $message .= esc_url_raw( 276 add_query_arg( 277 array( 278 'rcp_action' => 'lostpassword_reset', 279 'key' => $key, 280 'login' => rawurlencode( $user_login ), 281 ), 282 $redirect_base 283 ) 284 ) . "\r\n"; 271 285 272 286 if ( is_multisite() ) { -
restrict-content/tags/3.2.25/core/includes/member-functions.php
r3420370 r3486071 436 436 * @access private 437 437 * @since 1.5 438 * @since 3.5.58 Improved validation of redirect URLs 439 * @since 3.5.58.1 Change sanitization of redirect URLs from sanitize_text_field to sanitize_url 438 440 * @return void 439 441 */ … … 442 444 // Profile field change request 443 445 if ( empty( $_POST['rcp_action'] ) || $_POST['rcp_action'] !== 'edit_user_profile' || !is_user_logged_in() ) 444 return false;446 return; 445 447 446 448 447 449 // Nonce security 448 450 if ( ! wp_verify_nonce( $_POST['rcp_profile_editor_nonce'], 'rcp-profile-editor-nonce' ) ) 449 return false;451 return; 450 452 451 453 $user_id = get_current_user_id(); … … 499 501 do_action( 'rcp_user_profile_updated', $user_id, $userdata, $old_data ); 500 502 501 wp_safe_redirect( add_query_arg( 'rcp-message', 'profile-updated', sanitize_text_field( $_POST['rcp_redirect'] ) ) );503 wp_safe_redirect( add_query_arg( 'rcp-message', 'profile-updated', wp_validate_redirect( isset( $_POST['rcp_redirect'] ) ? sanitize_url( wp_unslash( $_POST['rcp_redirect'] ) ) : '', home_url() ) ) ); // phpcs:ignore WordPress.WP.DeprecatedFunctions.sanitize_urlFound, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized 502 504 503 505 exit; … … 514 516 * @access public 515 517 * @since 1.0 518 * @since 3.5.58 Improved validation of redirect URLs 519 * @since 3.5.58.1 Change sanitization of redirect URLs from sanitize_text_field to sanitize_url 516 520 * @return void 517 521 */ … … 559 563 setcookie( $rp_cookie, ' ', time() - YEAR_IN_SECONDS, $rp_path, COOKIE_DOMAIN, is_ssl(), true ); 560 564 // send password change email here (if WP doesn't) 561 wp_safe_redirect( add_query_arg( 'password-reset', 'true', $_POST['rcp_redirect'] ) );565 wp_safe_redirect( add_query_arg( 'password-reset', 'true', wp_validate_redirect( isset( $_POST['rcp_redirect'] ) ? sanitize_url( wp_unslash( $_POST['rcp_redirect'] ) ) : '', home_url() ) ) ); // phpcs:ignore WordPress.WP.DeprecatedFunctions.sanitize_urlFound, WordPress.Security.ValidatedSanitizedInput.InputNotSanitized 562 566 exit; 563 567 } -
restrict-content/tags/3.2.25/lang/restrict-content.pot
r3480366 r3486071 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: Restrict Content 3.2.2 4\n"5 "Project-Id-Version: Restrict Content 3.2.25\n" 6 6 "Report-Msgid-Bugs-To: http://ithemes.com/support/\n" 7 "POT-Creation-Date: 2026-03-1 1 16:09:47+00:00\n"7 "POT-Creation-Date: 2026-03-18 22:45:16+00:00\n" 8 8 "PO-Revision-Date: 2026-MO-DA HO:MI+ZONE\n" 9 9 "MIME-Version: 1.0\n" … … 5154 5154 msgstr "" 5155 5155 5156 #: core/includes/class-rcp-cli.php:396 core/includes/login-functions.php:2 675156 #: core/includes/class-rcp-cli.php:396 core/includes/login-functions.php:271 5157 5157 #: legacy/includes/forms.php:303 5158 5158 msgid "Username: %s" … … 6445 6445 msgstr "" 6446 6446 6447 #: core/includes/login-functions.php:2 196447 #: core/includes/login-functions.php:221 6448 6448 msgid "Enter a username or e-mail address." 6449 6449 msgstr "" 6450 6450 6451 #: core/includes/login-functions.php:22 3legacy/includes/forms.php:2726451 #: core/includes/login-functions.php:225 legacy/includes/forms.php:272 6452 6452 msgid "There is no user registered with that email address." 6453 6453 msgstr "" 6454 6454 6455 #: core/includes/login-functions.php:23 5legacy/includes/forms.php:2866455 #: core/includes/login-functions.php:237 legacy/includes/forms.php:286 6456 6456 #: legacy/includes/forms.php:291 6457 6457 msgid "Invalid username or e-mail." 6458 6458 msgstr "" 6459 6459 6460 #: core/includes/login-functions.php:26 5legacy/includes/forms.php:3016460 #: core/includes/login-functions.php:269 legacy/includes/forms.php:301 6461 6461 msgid "Someone requested that the password be reset for the following account:" 6462 6462 msgstr "" 6463 6463 6464 #: core/includes/login-functions.php:2 68legacy/includes/forms.php:3046464 #: core/includes/login-functions.php:272 legacy/includes/forms.php:304 6465 6465 msgid "If this was a mistake, just ignore this email and nothing will happen." 6466 6466 msgstr "" 6467 6467 6468 #: core/includes/login-functions.php:2 69legacy/includes/forms.php:3056468 #: core/includes/login-functions.php:273 legacy/includes/forms.php:305 6469 6469 msgid "To reset your password, visit the following address:" 6470 6470 msgstr "" 6471 6471 6472 #: core/includes/login-functions.php:2 84legacy/includes/forms.php:3226472 #: core/includes/login-functions.php:298 legacy/includes/forms.php:322 6473 6473 msgid "[%s] Password Reset" 6474 6474 msgstr "" 6475 6475 6476 #: core/includes/login-functions.php: 2936476 #: core/includes/login-functions.php:307 6477 6477 msgid "The e-mail could not be sent." 6478 6478 msgstr "" 6479 6479 6480 #: core/includes/login-functions.php: 2936480 #: core/includes/login-functions.php:307 6481 6481 msgid "Possible reason: your host may have disabled the mail() function." 6482 6482 msgstr "" 6483 6483 6484 #: core/includes/member-functions.php:4 696484 #: core/includes/member-functions.php:471 6485 6485 msgid "Please enter a valid email address" 6486 6486 msgstr "" 6487 6487 6488 #: core/includes/member-functions.php:47 46488 #: core/includes/member-functions.php:476 6489 6489 msgid "The email you entered belongs to another user. Please use another." 6490 6490 msgstr "" 6491 6491 6492 #: core/includes/member-functions.php:48 06492 #: core/includes/member-functions.php:482 6493 6493 msgid "The passwords you entered do not match. Please try again." 6494 6494 msgstr "" 6495 6495 6496 #: core/includes/member-functions.php:50 56496 #: core/includes/member-functions.php:507 6497 6497 msgid "There was an error updating your profile. Please try again." 6498 6498 msgstr "" 6499 6499 6500 #: core/includes/member-functions.php:5 396500 #: core/includes/member-functions.php:543 6501 6501 msgid "Please enter a password, and confirm it" 6502 6502 msgstr "" 6503 6503 6504 #: core/includes/member-functions.php:54 36504 #: core/includes/member-functions.php:547 6505 6505 #: core/includes/registration-functions.php:830 legacy/includes/forms.php:674 6506 6506 msgid "Passwords do not match" 6507 6507 msgstr "" 6508 6508 6509 #: core/includes/member-functions.php:9 186509 #: core/includes/member-functions.php:922 6510 6510 msgid "Recurring charge failed in %s." 6511 6511 msgstr "" 6512 6512 6513 #: core/includes/member-functions.php:92 16513 #: core/includes/member-functions.php:925 6514 6514 msgid " Event ID: %s" 6515 6515 msgstr "" 6516 6516 6517 #: core/includes/member-functions.php:9 496517 #: core/includes/member-functions.php:953 6518 6518 msgid "%s subscription started." 6519 6519 msgstr "" 6520 6520 6521 #: core/includes/member-functions.php:95 46521 #: core/includes/member-functions.php:958 6522 6522 msgid "%s subscription renewed." 6523 6523 msgstr "" 6524 6524 6525 #: core/includes/member-functions.php:9 596525 #: core/includes/member-functions.php:963 6526 6526 msgid "Subscription changed from %s to %s." 6527 6527 msgstr "" -
restrict-content/tags/3.2.25/legacy/restrictcontent.php
r3480366 r3486071 22 22 23 23 if ( ! defined( 'RC_PLUGIN_VERSION' ) ) { 24 define( 'RC_PLUGIN_VERSION', '3.2.2 4' );24 define( 'RC_PLUGIN_VERSION', '3.2.25' ); 25 25 } 26 26 -
restrict-content/tags/3.2.25/package.json
r3480366 r3486071 1 1 { 2 2 "name": "restrict-content", 3 "version": "3.2.2 4",3 "version": "3.2.25", 4 4 "description": "Set up a complete membership system for your WordPress site and deliver premium content to your members. Unlimited membership packages, membership management, discount codes, registration / login forms, and more.", 5 5 "homepage": "https://restrictcontentpro.com/", -
restrict-content/tags/3.2.25/readme.txt
r3480366 r3486071 7 7 Requires PHP: 7.4 8 8 Tested up to: 6.9 9 Stable tag: 3.2.2 49 Stable tag: 3.2.25 10 10 11 11 Restrict Content is a powerful WordPress membership plugin that gives you full control over who can and cannot view content on your WordPress site. … … 258 258 == Changelog == 259 259 260 = 3.2.25 = 261 * Security: Improved sanitization and validation of member-related POST data. 262 * Fix: Improved redirect URLs sanitization of member-related POST data. 263 260 264 = 3.2.24 = 261 265 * Fix: Fixed incorrect date array key in payment import process. -
restrict-content/tags/3.2.25/restrictcontent.php
r3480366 r3486071 4 4 * Plugin URI: https://restrictcontentpro.com 5 5 * Description: Set up a complete membership system for your WordPress site and deliver premium content to your members. Unlimited membership packages, membership management, discount codes, registration / login forms, and more. 6 * Version: 3.2.2 46 * Version: 3.2.25 7 7 * Author: StellarWP 8 8 * Author URI: https://stellarwp.com/ … … 19 19 define('RCP_ROOT', plugin_dir_path(__FILE__)); 20 20 define('RCP_WEB_ROOT', plugin_dir_url(__FILE__)); 21 define('RCF_VERSION', '3.2.2 4');21 define('RCF_VERSION', '3.2.25'); 22 22 23 23 // Load Strauss autoload.
Note: See TracChangeset
for help on using the changeset viewer.