Changeset 3199740
- Timestamp:
- 11/30/2024 04:57:49 AM (16 months ago)
- Location:
- apocalypse-meow/trunk
- Files:
-
- 5 edited
-
index.php (modified) (2 diffs)
-
languages/apocalypse-meow-es_ES.po (modified) (12 diffs)
-
languages/apocalypse-meow.pot (modified) (22 diffs)
-
lib/blobfolio/wp/meow/login.php (modified) (3 diffs)
-
readme.txt (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
apocalypse-meow/trunk/index.php
r3197854 r3199740 4 4 * 5 5 * @package Apocalypse Meow 6 * @version 21.8. 06 * @version 21.8.1 7 7 * 8 8 * @wordpress-plugin 9 9 * Plugin Name: Apocalypse Meow 10 * Version: 21.8. 010 * Version: 21.8.1 11 11 * Plugin URI: https://wordpress.org/plugins/apocalypse-meow/ 12 12 * Description: A simple, light-weight collection of tools to harden WordPress security and help mitigate common types of attacks. … … 33 33 34 34 // Constants. 35 define('MEOW_VERSION', '21.8. 0');35 define('MEOW_VERSION', '21.8.1'); 36 36 define('MEOW_MIN_PHP', '7.2.0'); 37 37 define('MEOW_PLUGIN_DIR', __DIR__ . '/'); -
apocalypse-meow/trunk/languages/apocalypse-meow-es_ES.po
r3197854 r3199740 6 6 "Project-Id-Version: Apocalypse Meow\n" 7 7 "Report-Msgid-Bugs-To: Translator Name <translations@example.com>\n" 8 "POT-Creation-Date: 2024-11-2 6 21:48-0800\n"8 "POT-Creation-Date: 2024-11-29 20:47-0800\n" 9 9 "PO-Revision-Date: \n" 10 10 "Last-Translator: Josh Stoik <josh@blobfolio.com>\n" … … 36 36 #: lib/blobfolio/wp/meow/cli/activity.php:136 37 37 #: lib/blobfolio/wp/meow/cli/activity.php:447 38 #: lib/blobfolio/wp/meow/cli/jail.php:121 lib/blobfolio/wp/meow/login.php:6 2938 #: lib/blobfolio/wp/meow/cli/jail.php:121 lib/blobfolio/wp/meow/login.php:634 39 39 msgid "IP" 40 40 msgstr "IP" … … 2354 2354 msgstr "Y/m/d" 2355 2355 2356 #: lib/blobfolio/wp/meow/ajax.php:107 lib/blobfolio/wp/meow/login.php:3 592357 #: lib/blobfolio/wp/meow/login.php:93 1 lib/blobfolio/wp/meow/login.php:9912356 #: lib/blobfolio/wp/meow/ajax.php:107 lib/blobfolio/wp/meow/login.php:364 2357 #: lib/blobfolio/wp/meow/login.php:936 lib/blobfolio/wp/meow/login.php:996 2358 2358 msgid "The form had expired. Please try again." 2359 2359 msgstr "El formulario había caducado. Vuelve a intentarlo." … … 2609 2609 2610 2610 #: lib/blobfolio/wp/meow/cli/activity.php:448 2611 #: lib/blobfolio/wp/meow/login.php:6 282611 #: lib/blobfolio/wp/meow/login.php:633 2612 2612 msgid "Browser" 2613 2613 msgstr "Navegador" … … 2837 2837 msgstr "Ingresar negado" 2838 2838 2839 #: lib/blobfolio/wp/meow/login.php:2 68 lib/blobfolio/wp/meow/login.php:3592840 #: lib/blobfolio/wp/meow/login.php:82 3 lib/blobfolio/wp/meow/login.php:8752841 #: lib/blobfolio/wp/meow/login.php:94 0 lib/blobfolio/wp/meow/login.php:9912842 #: lib/blobfolio/wp/meow/login.php:10 452839 #: lib/blobfolio/wp/meow/login.php:271 lib/blobfolio/wp/meow/login.php:364 2840 #: lib/blobfolio/wp/meow/login.php:828 lib/blobfolio/wp/meow/login.php:880 2841 #: lib/blobfolio/wp/meow/login.php:945 lib/blobfolio/wp/meow/login.php:996 2842 #: lib/blobfolio/wp/meow/login.php:1050 2843 2843 msgid "ERROR:" 2844 2844 msgstr "ERROR:" 2845 2845 2846 #: lib/blobfolio/wp/meow/login.php:2 68 lib/blobfolio/wp/meow/login.php:3032846 #: lib/blobfolio/wp/meow/login.php:271 lib/blobfolio/wp/meow/login.php:308 2847 2847 #, fuzzy 2848 2848 #| msgid "" … … 2854 2854 "temporalmente prohibidos. Por favor, inténtelo de nuevo más tarde." 2855 2855 2856 #: lib/blobfolio/wp/meow/login.php:303 2856 #: lib/blobfolio/wp/meow/login.php:272 2857 #, fuzzy 2858 #| msgid "Login Jail" 2859 msgid "Login Unavailable" 2860 msgstr "La cárcel" 2861 2862 #: lib/blobfolio/wp/meow/login.php:308 2857 2863 msgid "NOTE:" 2858 2864 msgstr "" 2859 2865 2860 #: lib/blobfolio/wp/meow/login.php:6 152866 #: lib/blobfolio/wp/meow/login.php:620 2861 2867 msgid "Hi" 2862 2868 msgstr "Hola" 2863 2869 2864 #: lib/blobfolio/wp/meow/login.php:6 182870 #: lib/blobfolio/wp/meow/login.php:623 2865 2871 #, php-format 2866 2872 msgid "" … … 2871 2877 "desde una nueva dirección de red." 2872 2878 2873 #: lib/blobfolio/wp/meow/login.php:62 32879 #: lib/blobfolio/wp/meow/login.php:628 2874 2880 #, php-format 2875 2881 msgid "" … … 2882 2888 "que no se han realizado cambios no autorizados en su cuenta." 2883 2889 2884 #: lib/blobfolio/wp/meow/login.php:6 272890 #: lib/blobfolio/wp/meow/login.php:632 2885 2891 msgid "Login Time" 2886 2892 msgstr "Hora de inicio de sesión" 2887 2893 2888 #: lib/blobfolio/wp/meow/login.php:63 12894 #: lib/blobfolio/wp/meow/login.php:636 2889 2895 msgid "This email has been sent to" 2890 2896 msgstr "Este correo electrónico se ha enviado a" 2891 2897 2892 #: lib/blobfolio/wp/meow/login.php:63 32898 #: lib/blobfolio/wp/meow/login.php:638 2893 2899 msgid "Regards," 2894 2900 msgstr "Saludos," 2895 2901 2896 #: lib/blobfolio/wp/meow/login.php:63 42902 #: lib/blobfolio/wp/meow/login.php:639 2897 2903 msgid "All at" 2898 2904 msgstr "Todos en" 2899 2905 2900 #: lib/blobfolio/wp/meow/login.php:64 12906 #: lib/blobfolio/wp/meow/login.php:646 2901 2907 msgid "Login Alert" 2902 2908 msgstr "Alerta de inicio de sesión" 2903 2909 2904 #: lib/blobfolio/wp/meow/login.php:76 22910 #: lib/blobfolio/wp/meow/login.php:767 2905 2911 msgid "Login attempts remaining" 2906 2912 msgstr "Intentos de inicio de sesión restantes" 2907 2913 2908 #: lib/blobfolio/wp/meow/login.php:82 32914 #: lib/blobfolio/wp/meow/login.php:828 2909 2915 msgid "Registration requires cookie support." 2910 2916 msgstr "El registro requiere soporte para cookies." 2911 2917 2912 #: lib/blobfolio/wp/meow/login.php:84 4 lib/blobfolio/wp/meow/login.php:8452918 #: lib/blobfolio/wp/meow/login.php:849 lib/blobfolio/wp/meow/login.php:850 2913 2919 msgid "Please leave this field blank." 2914 2920 msgstr "Deje este campo en blanco." 2915 2921 2916 #: lib/blobfolio/wp/meow/login.php:8 752922 #: lib/blobfolio/wp/meow/login.php:880 2917 2923 msgid "The control field should be left blank." 2918 2924 msgstr "El campo de control debe dejarse en blanco." 2919 2925 2920 #: lib/blobfolio/wp/meow/login.php:90 0 lib/blobfolio/wp/meow/login.php:9352926 #: lib/blobfolio/wp/meow/login.php:905 lib/blobfolio/wp/meow/login.php:940 2921 2927 msgid "Registration requires Javascript support." 2922 2928 msgstr "El registro requiere soporte para Javascript." 2923 2929 2924 #: lib/blobfolio/wp/meow/login.php:10 452930 #: lib/blobfolio/wp/meow/login.php:1050 2925 2931 msgid "The form was submitted too quickly. Please wait a moment and try again." 2926 2932 msgstr "" … … 2928 2934 "intentarlo." 2929 2935 2930 #: lib/blobfolio/wp/meow/login.php:10 652936 #: lib/blobfolio/wp/meow/login.php:1070 2931 2937 msgid "" 2932 2938 "For security reasons, registrations from your network are temporarily " … … 2936 2942 "prohibidos. Por favor, inténtelo de nuevo más tarde." 2937 2943 2938 #: lib/blobfolio/wp/meow/login.php:10 662944 #: lib/blobfolio/wp/meow/login.php:1071 2939 2945 msgid "Registration Denied" 2940 2946 msgstr "Registro denegado" 2941 2947 2942 #: lib/blobfolio/wp/meow/login.php:115 12948 #: lib/blobfolio/wp/meow/login.php:1156 2943 2949 msgid "Registration attempts remaining" 2944 2950 msgstr "Intentos de registro restantes" 2945 2951 2946 #: lib/blobfolio/wp/meow/login.php:148 12952 #: lib/blobfolio/wp/meow/login.php:1486 2947 2953 #, php-format 2948 2954 msgid "" … … 2953 2959 "favor, intente otra cosa!" 2954 2960 2955 #: lib/blobfolio/wp/meow/login.php:1 4972961 #: lib/blobfolio/wp/meow/login.php:1502 2956 2962 msgid "The password must contain at least one letter." 2957 2963 msgstr "La contraseña debe contener al menos una letra." 2958 2964 2959 #: lib/blobfolio/wp/meow/login.php:150 32965 #: lib/blobfolio/wp/meow/login.php:1508 2960 2966 msgid "" 2961 2967 "The password must contain at least one uppercase letter and one lowercase " … … 2964 2970 "La contraseña debe contener al menos una letra mayúscula y una minúscula." 2965 2971 2966 #: lib/blobfolio/wp/meow/login.php:15 082972 #: lib/blobfolio/wp/meow/login.php:1513 2967 2973 msgid "The password must contain at least one number." 2968 2974 msgstr "La contraseña debe contener al menos un número." 2969 2975 2970 #: lib/blobfolio/wp/meow/login.php:151 32976 #: lib/blobfolio/wp/meow/login.php:1518 2971 2977 msgid "The password must contain at least one non-alphanumeric symbol." 2972 2978 msgstr "La contraseña debe contener al menos un símbolo no alfanumérico." 2973 2979 2974 #: lib/blobfolio/wp/meow/login.php:152 02980 #: lib/blobfolio/wp/meow/login.php:1525 2975 2981 #, php-format 2976 2982 msgid "The password must be at least %d characters long." 2977 2983 msgstr "La contraseña debe tener al menos %d caracteres." 2978 2984 2979 #: lib/blobfolio/wp/meow/login.php:153 42985 #: lib/blobfolio/wp/meow/login.php:1539 2980 2986 #, php-format 2981 2987 msgid "The password must consist of at least %d different characters." -
apocalypse-meow/trunk/languages/apocalypse-meow.pot
r3197854 r3199740 12 12 "com>\n" 13 13 "POT-Creation-Date: " 14 "2024-11-2 6 21:48-0800\n"14 "2024-11-29 20:46-0800\n" 15 15 "PO-Revision-Date: \n" 16 16 "Last-Translator: Your " … … 75 75 #: lib/blobfolio/wp/meow/cli/activity.php:447 76 76 #: lib/blobfolio/wp/meow/cli/jail.php:121 77 #: lib/blobfolio/wp/meow/login.php:6 2977 #: lib/blobfolio/wp/meow/login.php:634 78 78 msgid "IP" 79 79 msgstr "" … … 2913 2913 2914 2914 #: lib/blobfolio/wp/meow/ajax.php:107 2915 #: lib/blobfolio/wp/meow/login.php:3 592916 #: lib/blobfolio/wp/meow/login.php:93 12917 #: lib/blobfolio/wp/meow/login.php:99 12915 #: lib/blobfolio/wp/meow/login.php:364 2916 #: lib/blobfolio/wp/meow/login.php:936 2917 #: lib/blobfolio/wp/meow/login.php:996 2918 2918 msgid "" 2919 2919 "The form had expired. " … … 3233 3233 3234 3234 #: lib/blobfolio/wp/meow/cli/activity.php:448 3235 #: lib/blobfolio/wp/meow/login.php:6 283235 #: lib/blobfolio/wp/meow/login.php:633 3236 3236 msgid "Browser" 3237 3237 msgstr "" … … 3535 3535 msgstr "" 3536 3536 3537 #: lib/blobfolio/wp/meow/login.php:2 683538 #: lib/blobfolio/wp/meow/login.php:3 593539 #: lib/blobfolio/wp/meow/login.php:82 33540 #: lib/blobfolio/wp/meow/login.php:8 753541 #: lib/blobfolio/wp/meow/login.php:94 03542 #: lib/blobfolio/wp/meow/login.php:99 13543 #: lib/blobfolio/wp/meow/login.php:10 453537 #: lib/blobfolio/wp/meow/login.php:271 3538 #: lib/blobfolio/wp/meow/login.php:364 3539 #: lib/blobfolio/wp/meow/login.php:828 3540 #: lib/blobfolio/wp/meow/login.php:880 3541 #: lib/blobfolio/wp/meow/login.php:945 3542 #: lib/blobfolio/wp/meow/login.php:996 3543 #: lib/blobfolio/wp/meow/login.php:1050 3544 3544 msgid "ERROR:" 3545 3545 msgstr "" 3546 3546 3547 #: lib/blobfolio/wp/meow/login.php:2 683548 #: lib/blobfolio/wp/meow/login.php:30 33547 #: lib/blobfolio/wp/meow/login.php:271 3548 #: lib/blobfolio/wp/meow/login.php:308 3549 3549 msgid "" 3550 3550 "New logins are " … … 3554 3554 msgstr "" 3555 3555 3556 #: lib/blobfolio/wp/meow/login.php:303 3556 #: lib/blobfolio/wp/meow/login.php:272 3557 msgid "Login Unavailable" 3558 msgstr "" 3559 3560 #: lib/blobfolio/wp/meow/login.php:308 3557 3561 msgid "NOTE:" 3558 3562 msgstr "" 3559 3563 3560 #: lib/blobfolio/wp/meow/login.php:6 153564 #: lib/blobfolio/wp/meow/login.php:620 3561 3565 msgid "Hi" 3562 3566 msgstr "" 3563 3567 3564 #: lib/blobfolio/wp/meow/login.php:6 183568 #: lib/blobfolio/wp/meow/login.php:623 3565 3569 #, php-format 3566 3570 msgid "" … … 3572 3576 msgstr "" 3573 3577 3574 #: lib/blobfolio/wp/meow/login.php:62 33578 #: lib/blobfolio/wp/meow/login.php:628 3575 3579 #, php-format 3576 3580 msgid "" … … 3585 3589 msgstr "" 3586 3590 3587 #: lib/blobfolio/wp/meow/login.php:6 273591 #: lib/blobfolio/wp/meow/login.php:632 3588 3592 msgid "Login Time" 3589 3593 msgstr "" 3590 3594 3591 #: lib/blobfolio/wp/meow/login.php:63 13595 #: lib/blobfolio/wp/meow/login.php:636 3592 3596 msgid "" 3593 3597 "This email has been sent " … … 3595 3599 msgstr "" 3596 3600 3597 #: lib/blobfolio/wp/meow/login.php:63 33601 #: lib/blobfolio/wp/meow/login.php:638 3598 3602 msgid "Regards," 3599 3603 msgstr "" 3600 3604 3601 #: lib/blobfolio/wp/meow/login.php:63 43605 #: lib/blobfolio/wp/meow/login.php:639 3602 3606 msgid "All at" 3603 3607 msgstr "" 3604 3608 3605 #: lib/blobfolio/wp/meow/login.php:64 13609 #: lib/blobfolio/wp/meow/login.php:646 3606 3610 msgid "Login Alert" 3607 3611 msgstr "" 3608 3612 3609 #: lib/blobfolio/wp/meow/login.php:76 23613 #: lib/blobfolio/wp/meow/login.php:767 3610 3614 msgid "" 3611 3615 "Login attempts remaining" 3612 3616 msgstr "" 3613 3617 3614 #: lib/blobfolio/wp/meow/login.php:82 33618 #: lib/blobfolio/wp/meow/login.php:828 3615 3619 msgid "" 3616 3620 "Registration requires " … … 3618 3622 msgstr "" 3619 3623 3620 #: lib/blobfolio/wp/meow/login.php:84 43621 #: lib/blobfolio/wp/meow/login.php:8 453624 #: lib/blobfolio/wp/meow/login.php:849 3625 #: lib/blobfolio/wp/meow/login.php:850 3622 3626 msgid "" 3623 3627 "Please leave this field " … … 3625 3629 msgstr "" 3626 3630 3627 #: lib/blobfolio/wp/meow/login.php:8 753631 #: lib/blobfolio/wp/meow/login.php:880 3628 3632 msgid "" 3629 3633 "The control field should " … … 3631 3635 msgstr "" 3632 3636 3633 #: lib/blobfolio/wp/meow/login.php:90 03634 #: lib/blobfolio/wp/meow/login.php:9 353637 #: lib/blobfolio/wp/meow/login.php:905 3638 #: lib/blobfolio/wp/meow/login.php:940 3635 3639 msgid "" 3636 3640 "Registration requires " … … 3638 3642 msgstr "" 3639 3643 3640 #: lib/blobfolio/wp/meow/login.php:10 453644 #: lib/blobfolio/wp/meow/login.php:1050 3641 3645 msgid "" 3642 3646 "The form was submitted " … … 3645 3649 msgstr "" 3646 3650 3647 #: lib/blobfolio/wp/meow/login.php:10 653651 #: lib/blobfolio/wp/meow/login.php:1070 3648 3652 msgid "" 3649 3653 "For security reasons, " … … 3654 3658 msgstr "" 3655 3659 3656 #: lib/blobfolio/wp/meow/login.php:10 663660 #: lib/blobfolio/wp/meow/login.php:1071 3657 3661 msgid "Registration Denied" 3658 3662 msgstr "" 3659 3663 3660 #: lib/blobfolio/wp/meow/login.php:115 13664 #: lib/blobfolio/wp/meow/login.php:1156 3661 3665 msgid "" 3662 3666 "Registration attempts " … … 3664 3668 msgstr "" 3665 3669 3666 #: lib/blobfolio/wp/meow/login.php:148 13670 #: lib/blobfolio/wp/meow/login.php:1486 3667 3671 #, php-format 3668 3672 msgid "" … … 3674 3678 msgstr "" 3675 3679 3676 #: lib/blobfolio/wp/meow/login.php:1 4973680 #: lib/blobfolio/wp/meow/login.php:1502 3677 3681 msgid "" 3678 3682 "The password must " … … 3681 3685 msgstr "" 3682 3686 3683 #: lib/blobfolio/wp/meow/login.php:150 33687 #: lib/blobfolio/wp/meow/login.php:1508 3684 3688 msgid "" 3685 3689 "The password must " … … 3689 3693 msgstr "" 3690 3694 3691 #: lib/blobfolio/wp/meow/login.php:15 083695 #: lib/blobfolio/wp/meow/login.php:1513 3692 3696 msgid "" 3693 3697 "The password must " … … 3696 3700 msgstr "" 3697 3701 3698 #: lib/blobfolio/wp/meow/login.php:151 33702 #: lib/blobfolio/wp/meow/login.php:1518 3699 3703 msgid "" 3700 3704 "The password must " … … 3703 3707 msgstr "" 3704 3708 3705 #: lib/blobfolio/wp/meow/login.php:152 03709 #: lib/blobfolio/wp/meow/login.php:1525 3706 3710 #, php-format 3707 3711 msgid "" … … 3710 3714 msgstr "" 3711 3715 3712 #: lib/blobfolio/wp/meow/login.php:153 43716 #: lib/blobfolio/wp/meow/login.php:1539 3713 3717 #, php-format 3714 3718 msgid "" -
apocalypse-meow/trunk/lib/blobfolio/wp/meow/login.php
r3197854 r3199740 98 98 if ($settings['login']['lockdown_limit']) { 99 99 \add_action('wp_login_errors', array(static::class, 'login_lockdown_message'), 100, 1); 100 \add_action('authenticate', array(static::class, 'login_lockdown'), 5 0, 1);100 \add_action('authenticate', array(static::class, 'login_lockdown'), 5, 2); 101 101 } 102 102 … … 259 259 * Login Lockdown. 260 260 * 261 * @param WP_User $user User object. 261 * If the lockdown applies, log the request as a de-facto failure and exit 262 * with a 403 error. 263 * 264 * @param WP_User $user User object or null. 265 * @param string $username Username (raw). 262 266 * @return mixed User or error. 263 267 */ 264 public static function login_lockdown($user ) {268 public static function login_lockdown($user=null, $username='') { 265 269 if (('POST' === \getenv('REQUEST_METHOD')) && static::is_login_lockdown()) { 266 return new WP_Error( 267 'meow_login_lockdown', 270 // Log it as a failure. 271 static::login_log_fail($username); 272 273 // Then kill the process good and dead! 274 \wp_die( 268 275 '<strong>' . \__('ERROR:', 'apocalypse-meow') . '</strong> ' . \__('New logins are temporarily disabled. Please try again in a few minutes.', 'apocalypse-meow'), 276 \__('Login Unavailable', 'apocalypse-meow'), 277 403, 269 278 ); 270 279 } … … 282 291 public static function login_lockdown_message($errors) { 283 292 if ( 284 // Post attempts will get their own error.293 // Post attempts are handled separately. 285 294 ('POST' !== \getenv('REQUEST_METHOD')) && 286 295 // Ignore WP's random non-login bits that use this hook. -
apocalypse-meow/trunk/readme.txt
r3197854 r3199740 127 127 == Changelog == 128 128 129 = 21.8.1 = 130 * [Misc] Exit with 403 for lockdown POST requests instead of returning error. 131 129 132 = 21.8.0 = 130 133 * [New] Login Lockdown option to help mitigate distributed brute-force attacks. … … 140 143 * [Docs] Update notes for the `referrer-policy` setting. 141 144 142 = 21.7.2 = 143 * [Fix] Improve PHP 8 compatibility. 145 == Upgrade Notice == 144 146 145 == Upgrade Notice == 147 = 21.8.1 = 148 This release tweaks the lockdown behavior to exit POST requests with a 403 status instead of returning an error. 146 149 147 150 = 21.8.0 = … … 156 159 = 21.7.3 = 157 160 This release provides updated documentation for the `referrer-policy` setting. 158 159 = 21.7.2 =160 This release improves compatibility with PHP 8.
Note: See TracChangeset
for help on using the changeset viewer.