Wordfence Login Security - Version 1.0.4

Version Description

  • November 6, 2019 =
  • Fix: Added styling fix to the 2FA code prompt for WordPress 5.3.
  • Fix: Added compatibility tags for WP Tide.
Download this release

Release Info

Developer wfryan
Plugin Icon 128x128 Wordfence Login Security
Version 1.0.4
Comparing to
See all releases

Code changes from version 1.0.3 to 1.0.4

Files changed (25) hide show
  1. classes/controller/wordfencels.php +1 -1
  2. classes/model/crypto.php +5 -3
  3. css/{admin-global.1563297209.css → admin-global.1573060089.css} +0 -0
  4. css/{admin.1563297209.css → admin.1573060089.css} +0 -0
  5. css/{colorbox.1563297209.css → colorbox.1573060089.css} +0 -0
  6. css/{font-awesome.1563297209.css → font-awesome.1573060089.css} +0 -0
  7. css/{ionicons.1563297209.css → ionicons.1573060089.css} +0 -0
  8. css/{jquery-ui-timepicker-addon.1563297209.css → jquery-ui-timepicker-addon.1573060089.css} +0 -0
  9. css/{jquery-ui.min.1563297209.css → jquery-ui.min.1573060089.css} +0 -0
  10. css/{jquery-ui.structure.min.1563297209.css → jquery-ui.structure.min.1573060089.css} +0 -0
  11. css/{jquery-ui.theme.min.1563297209.css → jquery-ui.theme.min.1573060089.css} +0 -0
  12. css/{login.1563297209.css → login.1573060089.css} +0 -0
  13. css/{wfselect2.min.1563297209.css → wfselect2.min.1573060089.css} +0 -0
  14. js/{Chart.bundle.min.1563297209.js → Chart.bundle.min.1573060089.js} +0 -0
  15. js/{admin-global.1563297209.js → admin-global.1573060089.js} +0 -0
  16. js/{admin.1563297209.js → admin.1573060089.js} +0 -0
  17. js/{jquery-ui-timepicker-addon.1563297209.js → jquery-ui-timepicker-addon.1573060089.js} +0 -0
  18. js/{jquery.colorbox.1563297209.js → jquery.colorbox.1573060089.js} +0 -0
  19. js/{jquery.colorbox.min.1563297209.js → jquery.colorbox.min.1573060089.js} +0 -0
  20. js/{jquery.qrcode.min.1563297209.js → jquery.qrcode.min.1573060089.js} +0 -0
  21. js/{jquery.tmpl.min.1563297209.js → jquery.tmpl.min.1573060089.js} +0 -0
  22. js/{login.1563297209.js → login.1573060089.js} +3 -1
  23. js/{wfselect2.min.1563297209.js → wfselect2.min.1573060089.js} +0 -0
  24. readme.txt +6 -2
  25. wordfence-login-security.php +3 -3
classes/controller/wordfencels.php CHANGED
@@ -176,7 +176,7 @@ END
176
  $_runInstallCalled = true;
177
 
178
  if (function_exists('ignore_user_abort')) {
179
- ignore_user_abort(true);
180
  }
181
 
182
  if (!defined('DONOTCACHEDB')) { define('DONOTCACHEDB', true); }
176
  $_runInstallCalled = true;
177
 
178
  if (function_exists('ignore_user_abort')) {
179
+ @ignore_user_abort(true);
180
  }
181
 
182
  if (!defined('DONOTCACHEDB')) { define('DONOTCACHEDB', true); }
classes/model/crypto.php CHANGED
@@ -64,6 +64,7 @@ abstract class Model_Crypto {
64
  }
65
  }
66
  if (function_exists('mcrypt_create_iv')) {
 
67
  $rand = @mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM);
68
  if (is_string($rand) && self::strlen($rand) === $bytes) {
69
  return $rand;
@@ -163,11 +164,12 @@ abstract class Model_Crypto {
163
  static $encodings = array();
164
  static $overloaded = null;
165
 
166
- if (is_null($overloaded))
 
167
  $overloaded = function_exists('mb_internal_encoding') && (ini_get('mbstring.func_overload') & 2);
 
168
 
169
- if (false === $overloaded)
170
- return;
171
 
172
  if (!$reset) {
173
  $encoding = mb_internal_encoding();
64
  }
65
  }
66
  if (function_exists('mcrypt_create_iv')) {
67
+ // phpcs:ignore PHPCompatibility.FunctionUse.RemovedFunctions.mcrypt_create_ivDeprecatedRemoved,PHPCompatibility.Extensions.RemovedExtensions.mcryptDeprecatedRemoved,PHPCompatibility.Constants.RemovedConstants.mcrypt_dev_urandomDeprecatedRemoved
68
  $rand = @mcrypt_create_iv($bytes, MCRYPT_DEV_URANDOM);
69
  if (is_string($rand) && self::strlen($rand) === $bytes) {
70
  return $rand;
164
  static $encodings = array();
165
  static $overloaded = null;
166
 
167
+ if (is_null($overloaded)) {
168
+ // phpcs:ignore PHPCompatibility.IniDirectives.RemovedIniDirectives.mbstring_func_overloadDeprecated
169
  $overloaded = function_exists('mb_internal_encoding') && (ini_get('mbstring.func_overload') & 2);
170
+ }
171
 
172
+ if (false === $overloaded) { return; }
 
173
 
174
  if (!$reset) {
175
  $encoding = mb_internal_encoding();
css/{admin-global.1563297209.css → admin-global.1573060089.css} RENAMED
File without changes
css/{admin.1563297209.css → admin.1573060089.css} RENAMED
File without changes
css/{colorbox.1563297209.css → colorbox.1573060089.css} RENAMED
File without changes
css/{font-awesome.1563297209.css → font-awesome.1573060089.css} RENAMED
File without changes
css/{ionicons.1563297209.css → ionicons.1573060089.css} RENAMED
File without changes
css/{jquery-ui-timepicker-addon.1563297209.css → jquery-ui-timepicker-addon.1573060089.css} RENAMED
File without changes
css/{jquery-ui.min.1563297209.css → jquery-ui.min.1573060089.css} RENAMED
File without changes
css/{jquery-ui.structure.min.1563297209.css → jquery-ui.structure.min.1573060089.css} RENAMED
File without changes
css/{jquery-ui.theme.min.1563297209.css → jquery-ui.theme.min.1573060089.css} RENAMED
File without changes
css/{login.1563297209.css → login.1573060089.css} RENAMED
File without changes
css/{wfselect2.min.1563297209.css → wfselect2.min.1573060089.css} RENAMED
File without changes
js/{Chart.bundle.min.1563297209.js → Chart.bundle.min.1573060089.js} RENAMED
File without changes
js/{admin-global.1563297209.js → admin-global.1573060089.js} RENAMED
File without changes
js/{admin.1563297209.js → admin.1573060089.js} RENAMED
File without changes
js/{jquery-ui-timepicker-addon.1563297209.js → jquery-ui-timepicker-addon.1573060089.js} RENAMED
File without changes
js/{jquery.colorbox.1563297209.js → jquery.colorbox.1573060089.js} RENAMED
File without changes
js/{jquery.colorbox.min.1563297209.js → jquery.colorbox.min.1573060089.js} RENAMED
File without changes
js/{jquery.qrcode.min.1563297209.js → jquery.qrcode.min.1573060089.js} RENAMED
File without changes
js/{jquery.tmpl.min.1563297209.js → jquery.tmpl.min.1573060089.js} RENAMED
File without changes
js/{login.1563297209.js → login.1573060089.js} RENAMED
@@ -179,9 +179,11 @@
179
  if (!$('#wfls-token').length) {
180
  var overlay = $('<div id="wfls-prompt-overlay"></div>');
181
  var wrapper = $('<div id="wfls-prompt-wrapper"></div>');
182
- var field = $('<p><label for="wfls-token">2FA Code <a href="javascript:void(0)" class="wfls-2fa-code-help wfls-tooltip-trigger" title="The 2FA Code can be found within the authenticator app you used when first activating two-factor authentication. You may also use one of your recovery codes."><i class="dashicons dashicons-editor-help"></i></a><br/><input type="text" name="wfls-token" id="wfls-token" aria-describedby="wfls-token-error" class="input" value="" size="6" autocomplete="off"/></label></p>');
 
183
  var remember = $('<p class="wfls-remember-device-wrapper"><label for="wfls-remember-device"><input name="wfls-remember-device" type="checkbox" id="wfls-remember-device" value="1" /> Remember for 30 days</label></p>');
184
  var button = $('<p class="submit"><input type="submit" name="wfls-token-submit" id="wfls-token-submit" class="button button-primary button-large" value="Log In"/></p>');
 
185
  wrapper.append(field);
186
  if (parseInt(WFLSVars.allowremember)) {
187
  wrapper.append(remember);
179
  if (!$('#wfls-token').length) {
180
  var overlay = $('<div id="wfls-prompt-overlay"></div>');
181
  var wrapper = $('<div id="wfls-prompt-wrapper"></div>');
182
+ var label = $('<p><label for="wfls-token">2FA Code <a href="javascript:void(0)" class="wfls-2fa-code-help wfls-tooltip-trigger" title="The 2FA Code can be found within the authenticator app you used when first activating two-factor authentication. You may also use one of your recovery codes."><i class="dashicons dashicons-editor-help"></i></a></label></p>');
183
+ var field = $('<p><input type="text" name="wfls-token" id="wfls-token" aria-describedby="wfls-token-error" class="input" value="" size="6" autocomplete="off"/></p>');
184
  var remember = $('<p class="wfls-remember-device-wrapper"><label for="wfls-remember-device"><input name="wfls-remember-device" type="checkbox" id="wfls-remember-device" value="1" /> Remember for 30 days</label></p>');
185
  var button = $('<p class="submit"><input type="submit" name="wfls-token-submit" id="wfls-token-submit" class="button button-primary button-large" value="Log In"/></p>');
186
+ wrapper.append(label);
187
  wrapper.append(field);
188
  if (parseInt(WFLSVars.allowremember)) {
189
  wrapper.append(remember);
js/{wfselect2.min.1563297209.js → wfselect2.min.1573060089.js} RENAMED
File without changes
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: wfryan, wfmattr, mmaunder, wfmatt
3
  Tags: security, login security, 2fa, two factor authentication, captcha, xml-rpc, mfa, 2 factor
4
  Requires at least: 4.5
5
  Requires PHP: 5.3
6
- Tested up to: 5.2
7
- Stable tag: 1.0.3
8
 
9
  Secure your website with Wordfence Login Security, providing two-factor authentication, login and registration CAPTCHA, and XML-RPC protection.
10
 
@@ -58,6 +58,10 @@ Secure your website with Wordfence Login Security.
58
 
59
  == Changelog ==
60
 
 
 
 
 
61
  = 1.0.3 - July 16, 2019 =
62
  * Improvement: Added additional information about reCAPTCHA to its setting control.
63
  * Improvement: Added a constant that may be overridden to customize the expiration time of login verification email links.
3
  Tags: security, login security, 2fa, two factor authentication, captcha, xml-rpc, mfa, 2 factor
4
  Requires at least: 4.5
5
  Requires PHP: 5.3
6
+ Tested up to: 5.3
7
+ Stable tag: 1.0.4
8
 
9
  Secure your website with Wordfence Login Security, providing two-factor authentication, login and registration CAPTCHA, and XML-RPC protection.
10
 
58
 
59
  == Changelog ==
60
 
61
+ = 1.0.4 - November 6, 2019 =
62
+ * Fix: Added styling fix to the 2FA code prompt for WordPress 5.3.
63
+ * Fix: Added compatibility tags for WP Tide.
64
+
65
  = 1.0.3 - July 16, 2019 =
66
  * Improvement: Added additional information about reCAPTCHA to its setting control.
67
  * Improvement: Added a constant that may be overridden to customize the expiration time of login verification email links.
wordfence-login-security.php CHANGED
@@ -4,7 +4,7 @@ Plugin Name: Wordfence Login Security
4
  Description: Wordfence Login Security
5
  Author: Wordfence
6
  Author URI: http://www.wordfence.com/
7
- Version: 1.0.3
8
  Network: true
9
  */
10
  if (defined('WP_INSTALLING') && WP_INSTALLING) { return; }
@@ -33,8 +33,8 @@ if ($wfCoreActive && !(isset($wfCoreLoading) && $wfCoreLoading)) {
33
  else {
34
  define('WORDFENCE_LS_FROM_CORE', ($wfCoreActive && isset($wfCoreLoading) && $wfCoreLoading));
35
 
36
- define('WORDFENCE_LS_VERSION', '1.0.3');
37
- define('WORDFENCE_LS_BUILD_NUMBER', '1563297209');
38
 
39
  if (!defined('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES')) { define('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES', 15); }
40
 
4
  Description: Wordfence Login Security
5
  Author: Wordfence
6
  Author URI: http://www.wordfence.com/
7
+ Version: 1.0.4
8
  Network: true
9
  */
10
  if (defined('WP_INSTALLING') && WP_INSTALLING) { return; }
33
  else {
34
  define('WORDFENCE_LS_FROM_CORE', ($wfCoreActive && isset($wfCoreLoading) && $wfCoreLoading));
35
 
36
+ define('WORDFENCE_LS_VERSION', '1.0.4');
37
+ define('WORDFENCE_LS_BUILD_NUMBER', '1573060089');
38
 
39
  if (!defined('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES')) { define('WORDFENCE_LS_EMAIL_VALIDITY_DURATION_MINUTES', 15); }
40