Version Description
Download this release
Release Info
Developer | paultgoodchild |
Plugin | Shield Security for WordPress |
Version | 15.0.4 |
Comparing to | |
See all releases |
Code changes from version 15.0.3 to 15.0.4
- cl.json +14 -0
- config/hack_protect.json +1 -1
- config/login_protect.json +10 -3
- icwp-wpsf.php +1 -1
- plugin-spec.php +3 -3
- plugin.json +3 -3
- readme.txt +1 -1
- src/lib/src/Modules/HackGuard/Lib/ScanTables/DelegateAjaxHandler.php +23 -5
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/Base.php +16 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/Buddyboss.php +1 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/Buddypress.php +1 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/EasyDigitalDownloads.php +1 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/LearnPress.php +2 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/LifterLMS.php +2 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/MemberPress.php +3 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/PaidMemberSubscriptions.php +1 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/ProfileBuilder.php +1 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/UltimateMember.php +3 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/WooCommerce.php +3 -0
- src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/WordPress.php +3 -0
- src/lib/src/Modules/LoginGuard/Strings.php +20 -1
cl.json
CHANGED
@@ -147,6 +147,20 @@
|
|
147 |
}
|
148 |
],
|
149 |
"patches": [
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
]
|
151 |
},
|
152 |
"14.1": {
|
147 |
}
|
148 |
],
|
149 |
"patches": [
|
150 |
+
{
|
151 |
+
"version": "4",
|
152 |
+
"released_at": 1652107639,
|
153 |
+
"items": [
|
154 |
+
{
|
155 |
+
"title": "File scanner alerting to Shield's own file (rules.json) on every scan.",
|
156 |
+
"type": "fixed"
|
157 |
+
},
|
158 |
+
{
|
159 |
+
"title": "Tracking Login Block events for statistical purposes wasn't always happening.",
|
160 |
+
"type": "fixed"
|
161 |
+
}
|
162 |
+
]
|
163 |
+
}
|
164 |
]
|
165 |
},
|
166 |
"14.1": {
|
config/hack_protect.json
CHANGED
@@ -565,7 +565,7 @@
|
|
565 |
"wp-content/uploads/bb-plugin/cache/*",
|
566 |
"wp-content/uploads/cache/wpml/twig/*",
|
567 |
"wp-content/cache/*",
|
568 |
-
"src/lib/src/Rules/rules.json",
|
569 |
"*/error_log",
|
570 |
"*/php_error_log",
|
571 |
"*/mail.log",
|
565 |
"wp-content/uploads/bb-plugin/cache/*",
|
566 |
"wp-content/uploads/cache/wpml/twig/*",
|
567 |
"wp-content/cache/*",
|
568 |
+
"*/src/lib/src/Rules/rules.json",
|
569 |
"*/error_log",
|
570 |
"*/php_error_log",
|
571 |
"*/mail.log",
|
config/login_protect.json
CHANGED
@@ -564,9 +564,16 @@
|
|
564 |
"level": "warning"
|
565 |
},
|
566 |
"login_block": {
|
567 |
-
"level":
|
568 |
-
|
569 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
570 |
},
|
571 |
"hide_login_url": {
|
572 |
"level": "notice"
|
564 |
"level": "warning"
|
565 |
},
|
566 |
"login_block": {
|
567 |
+
"level": "warning"
|
568 |
+
},
|
569 |
+
"block_register": {
|
570 |
+
"level": "warning"
|
571 |
+
},
|
572 |
+
"block_lostpassword": {
|
573 |
+
"level": "warning"
|
574 |
+
},
|
575 |
+
"block_checkout": {
|
576 |
+
"level": "warning"
|
577 |
},
|
578 |
"hide_login_url": {
|
579 |
"level": "notice"
|
icwp-wpsf.php
CHANGED
@@ -3,7 +3,7 @@
|
|
3 |
* Plugin Name: Shield Security
|
4 |
* Plugin URI: https://shsec.io/2f
|
5 |
* Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
|
6 |
-
* Version: 15.0.
|
7 |
* Text Domain: wp-simple-firewall
|
8 |
* Domain Path: /languages
|
9 |
* Author: Shield Security
|
3 |
* Plugin Name: Shield Security
|
4 |
* Plugin URI: https://shsec.io/2f
|
5 |
* Description: Powerful, Easy-To-Use #1 Rated WordPress Security System
|
6 |
+
* Version: 15.0.4
|
7 |
* Text Domain: wp-simple-firewall
|
8 |
* Domain Path: /languages
|
9 |
* Author: Shield Security
|
plugin-spec.php
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
{
|
2 |
"properties": {
|
3 |
-
"version": "15.0.
|
4 |
-
"release_timestamp":
|
5 |
-
"build": "202205.
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
1 |
{
|
2 |
"properties": {
|
3 |
+
"version": "15.0.4",
|
4 |
+
"release_timestamp": 1652107639,
|
5 |
+
"build": "202205.0904",
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
plugin.json
CHANGED
@@ -1,8 +1,8 @@
|
|
1 |
{
|
2 |
"properties": {
|
3 |
-
"version": "15.0.
|
4 |
-
"release_timestamp":
|
5 |
-
"build": "202205.
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
1 |
{
|
2 |
"properties": {
|
3 |
+
"version": "15.0.4",
|
4 |
+
"release_timestamp": 1652107639,
|
5 |
+
"build": "202205.0904",
|
6 |
"slug_parent": "icwp",
|
7 |
"slug_plugin": "wpsf",
|
8 |
"human_name": "Shield Security",
|
readme.txt
CHANGED
@@ -8,7 +8,7 @@ Requires at least: 3.7
|
|
8 |
Requires PHP: 7.0
|
9 |
Recommended PHP: 7.4
|
10 |
Tested up to: 6.0
|
11 |
-
Stable tag: 15.0.
|
12 |
|
13 |
No-Nonsense Security Hardening that protects WordPress against hackers, malicious bots, and spammers (no captchas!). Now with exclusive ShieldNET Technology.
|
14 |
|
8 |
Requires PHP: 7.0
|
9 |
Recommended PHP: 7.4
|
10 |
Tested up to: 6.0
|
11 |
+
Stable tag: 15.0.4
|
12 |
|
13 |
No-Nonsense Security Hardening that protects WordPress against hackers, malicious bots, and spammers (no captchas!). Now with exclusive ShieldNET Technology.
|
14 |
|
src/lib/src/Modules/HackGuard/Lib/ScanTables/DelegateAjaxHandler.php
CHANGED
@@ -47,8 +47,6 @@ class DelegateAjaxHandler {
|
|
47 |
/** @var HackGuard\ModCon $mod */
|
48 |
$mod = $this->getMod();
|
49 |
|
50 |
-
$success = false;
|
51 |
-
|
52 |
$items = $this->getItemIDs();
|
53 |
|
54 |
$scanSlugs = [];
|
@@ -74,11 +72,31 @@ class DelegateAjaxHandler {
|
|
74 |
|
75 |
if ( count( $successfulItems ) === count( $items ) ) {
|
76 |
$success = true;
|
77 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
78 |
}
|
79 |
else {
|
80 |
-
$
|
81 |
-
|
|
|
82 |
}
|
83 |
|
84 |
return [
|
47 |
/** @var HackGuard\ModCon $mod */
|
48 |
$mod = $this->getMod();
|
49 |
|
|
|
|
|
50 |
$items = $this->getItemIDs();
|
51 |
|
52 |
$scanSlugs = [];
|
72 |
|
73 |
if ( count( $successfulItems ) === count( $items ) ) {
|
74 |
$success = true;
|
75 |
+
switch ( $action ) {
|
76 |
+
case 'delete':
|
77 |
+
$msg = __( 'Delete Success', 'wp-simple-firewall' );
|
78 |
+
break;
|
79 |
+
case 'ignore':
|
80 |
+
$msg = __( 'Ignore Success', 'wp-simple-firewall' );
|
81 |
+
break;
|
82 |
+
case 'repair':
|
83 |
+
$msg = __( 'Repair Success', 'wp-simple-firewall' );
|
84 |
+
break;
|
85 |
+
case 'repair-delete':
|
86 |
+
$msg = __( 'Repair/Delete Success', 'wp-simple-firewall' );
|
87 |
+
break;
|
88 |
+
default:
|
89 |
+
$msg = __( 'Success', 'wp-simple-firewall' );
|
90 |
+
break;
|
91 |
+
}
|
92 |
+
$itemCount = count( $items );
|
93 |
+
$msg = sprintf( '%s: %s', $msg,
|
94 |
+
sprintf( _n( '%s item processed', '%s items processed', $itemCount, 'wp-simple-firewall' ), $itemCount ) );
|
95 |
}
|
96 |
else {
|
97 |
+
$success = false;
|
98 |
+
$msg = __( 'An error occurred.', 'wp-simple-firewall' )
|
99 |
+
.' '.__( 'Some items may not have been processed.', 'wp-simple-firewall' );
|
100 |
}
|
101 |
|
102 |
return [
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/Base.php
CHANGED
@@ -88,6 +88,22 @@ abstract class Base extends Integrations\Lib\Bots\Common\BaseHandler {
|
|
88 |
);
|
89 |
}
|
90 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
protected function isBotBlockEnabled() :bool {
|
92 |
/** @var LoginGuard\Options $loginOpts */
|
93 |
$loginOpts = $this->getCon()->getModule_LoginGuard()->getOptions();
|
88 |
);
|
89 |
}
|
90 |
|
91 |
+
protected function fireEventBlockLogin() {
|
92 |
+
$this->getCon()->fireEvent( 'login_block' );
|
93 |
+
}
|
94 |
+
|
95 |
+
protected function fireEventBlockRegister() {
|
96 |
+
$this->getCon()->fireEvent( 'block_register' );
|
97 |
+
}
|
98 |
+
|
99 |
+
protected function fireEventBlockLostpassword() {
|
100 |
+
$this->getCon()->fireEvent( 'block_lostpassword' );
|
101 |
+
}
|
102 |
+
|
103 |
+
protected function fireEventBlockCheckout() {
|
104 |
+
$this->getCon()->fireEvent( 'block_checkout' );
|
105 |
+
}
|
106 |
+
|
107 |
protected function isBotBlockEnabled() :bool {
|
108 |
/** @var LoginGuard\Options $loginOpts */
|
109 |
$loginOpts = $this->getCon()->getModule_LoginGuard()->getOptions();
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/Buddyboss.php
CHANGED
@@ -12,6 +12,7 @@ class Buddyboss extends Base {
|
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
13 |
$bp = \buddypress();
|
14 |
if ( is_object( $bp->signup ) ) {
|
|
|
15 |
$bp->signup->errors[ 'shield-fail-register' ] = 'Failed AntiBot SPAM Check';
|
16 |
}
|
17 |
}
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
13 |
$bp = \buddypress();
|
14 |
if ( is_object( $bp->signup ) ) {
|
15 |
+
$this->fireEventBlockRegister();
|
16 |
$bp->signup->errors[ 'shield-fail-register' ] = 'Failed AntiBot SPAM Check';
|
17 |
}
|
18 |
}
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/Buddypress.php
CHANGED
@@ -10,6 +10,7 @@ class Buddypress extends Base {
|
|
10 |
|
11 |
public function checkRegister_BP() {
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
13 |
wp_die( $this->getErrorMessage() );
|
14 |
}
|
15 |
}
|
10 |
|
11 |
public function checkRegister_BP() {
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
13 |
+
$this->fireEventBlockRegister();
|
14 |
wp_die( $this->getErrorMessage() );
|
15 |
}
|
16 |
}
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/EasyDigitalDownloads.php
CHANGED
@@ -10,6 +10,7 @@ class EasyDigitalDownloads extends Base {
|
|
10 |
|
11 |
public function checkRegister_EDD() {
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
13 |
edd_set_error( $this->getCon()->prefix( rand() ), $this->getErrorMessage() );
|
14 |
}
|
15 |
}
|
10 |
|
11 |
public function checkRegister_EDD() {
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
13 |
+
$this->fireEventBlockRegister();
|
14 |
edd_set_error( $this->getCon()->prefix( rand() ), $this->getErrorMessage() );
|
15 |
}
|
16 |
}
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/LearnPress.php
CHANGED
@@ -18,6 +18,7 @@ class LearnPress extends Base {
|
|
18 |
*/
|
19 |
public function checkLogin_LP( $maybeError ) {
|
20 |
if ( !is_wp_error( $maybeError ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
|
|
21 |
$maybeError = new \WP_Error( 'shield-fail-login', $this->getErrorMessage() );
|
22 |
}
|
23 |
return $maybeError;
|
@@ -29,6 +30,7 @@ class LearnPress extends Base {
|
|
29 |
*/
|
30 |
public function checkRegister_LP( $maybeError ) {
|
31 |
if ( !is_wp_error( $maybeError ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
32 |
$maybeError = new \WP_Error( 'shield-fail-register', $this->getErrorMessage() );
|
33 |
}
|
34 |
return $maybeError;
|
18 |
*/
|
19 |
public function checkLogin_LP( $maybeError ) {
|
20 |
if ( !is_wp_error( $maybeError ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
21 |
+
$this->fireEventBlockLogin();
|
22 |
$maybeError = new \WP_Error( 'shield-fail-login', $this->getErrorMessage() );
|
23 |
}
|
24 |
return $maybeError;
|
30 |
*/
|
31 |
public function checkRegister_LP( $maybeError ) {
|
32 |
if ( !is_wp_error( $maybeError ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
33 |
+
$this->fireEventBlockRegister();
|
34 |
$maybeError = new \WP_Error( 'shield-fail-register', $this->getErrorMessage() );
|
35 |
}
|
36 |
return $maybeError;
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/LifterLMS.php
CHANGED
@@ -21,6 +21,7 @@ class LifterLMS extends Base {
|
|
21 |
*/
|
22 |
public function checkLogin_LLMS( $valid ) {
|
23 |
if ( !is_wp_error( $valid ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
|
|
24 |
$valid = new \WP_Error( 'shield-fail-login', $this->getErrorMessage() );
|
25 |
}
|
26 |
return $valid;
|
@@ -32,6 +33,7 @@ class LifterLMS extends Base {
|
|
32 |
*/
|
33 |
public function checkRegister_LLMS( $valid ) {
|
34 |
if ( !is_wp_error( $valid ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
35 |
$valid = new \WP_Error( 'shield-fail-register', $this->getErrorMessage() );
|
36 |
}
|
37 |
return $valid;
|
21 |
*/
|
22 |
public function checkLogin_LLMS( $valid ) {
|
23 |
if ( !is_wp_error( $valid ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
24 |
+
$this->fireEventBlockLogin();
|
25 |
$valid = new \WP_Error( 'shield-fail-login', $this->getErrorMessage() );
|
26 |
}
|
27 |
return $valid;
|
33 |
*/
|
34 |
public function checkRegister_LLMS( $valid ) {
|
35 |
if ( !is_wp_error( $valid ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
36 |
+
$this->fireEventBlockRegister();
|
37 |
$valid = new \WP_Error( 'shield-fail-register', $this->getErrorMessage() );
|
38 |
}
|
39 |
return $valid;
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/MemberPress.php
CHANGED
@@ -25,6 +25,7 @@ class MemberPress extends Base {
|
|
25 |
*/
|
26 |
public function checkLogin_MP( $errors ) {
|
27 |
if ( empty( $errors ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
|
|
28 |
$errors = [
|
29 |
$this->getErrorMessage()
|
30 |
];
|
@@ -38,6 +39,7 @@ class MemberPress extends Base {
|
|
38 |
*/
|
39 |
public function checkLostPassword_MP( $errors ) {
|
40 |
if ( empty( $errors ) && $this->setAuditAction( 'lostpassword' )->isBotBlockRequired() ) {
|
|
|
41 |
$errors = [
|
42 |
$this->getErrorMessage()
|
43 |
];
|
@@ -51,6 +53,7 @@ class MemberPress extends Base {
|
|
51 |
*/
|
52 |
public function checkRegister_MP( $errors ) {
|
53 |
if ( empty( $errors ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
54 |
$errors = [
|
55 |
$this->getErrorMessage()
|
56 |
];
|
25 |
*/
|
26 |
public function checkLogin_MP( $errors ) {
|
27 |
if ( empty( $errors ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
28 |
+
$this->fireEventBlockLogin();
|
29 |
$errors = [
|
30 |
$this->getErrorMessage()
|
31 |
];
|
39 |
*/
|
40 |
public function checkLostPassword_MP( $errors ) {
|
41 |
if ( empty( $errors ) && $this->setAuditAction( 'lostpassword' )->isBotBlockRequired() ) {
|
42 |
+
$this->fireEventBlockLostpassword();
|
43 |
$errors = [
|
44 |
$this->getErrorMessage()
|
45 |
];
|
53 |
*/
|
54 |
public function checkRegister_MP( $errors ) {
|
55 |
if ( empty( $errors ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
56 |
+
$this->fireEventBlockRegister();
|
57 |
$errors = [
|
58 |
$this->getErrorMessage()
|
59 |
];
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/PaidMemberSubscriptions.php
CHANGED
@@ -10,6 +10,7 @@ class PaidMemberSubscriptions extends Base {
|
|
10 |
|
11 |
public function checkRegister_PMS() {
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
13 |
\pms_errors()->add( 'shield-fail-register', $this->getErrorMessage() );
|
14 |
}
|
15 |
}
|
10 |
|
11 |
public function checkRegister_PMS() {
|
12 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
13 |
+
$this->fireEventBlockRegister();
|
14 |
\pms_errors()->add( 'shield-fail-register', $this->getErrorMessage() );
|
15 |
}
|
16 |
}
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/ProfileBuilder.php
CHANGED
@@ -17,6 +17,7 @@ class ProfileBuilder extends Base {
|
|
17 |
*/
|
18 |
public function checkRegister_PB( $errors ) {
|
19 |
if ( empty( $errors ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
20 |
$errors[ 'shield-fail-register' ] = sprintf( '<span class="wppb-form-error">%s</span>', $this->getErrorMessage() );
|
21 |
}
|
22 |
return $errors;
|
17 |
*/
|
18 |
public function checkRegister_PB( $errors ) {
|
19 |
if ( empty( $errors ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
20 |
+
$this->fireEventBlockRegister();
|
21 |
$errors[ 'shield-fail-register' ] = sprintf( '<span class="wppb-form-error">%s</span>', $this->getErrorMessage() );
|
22 |
}
|
23 |
return $errors;
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/UltimateMember.php
CHANGED
@@ -21,18 +21,21 @@ class UltimateMember extends Base {
|
|
21 |
|
22 |
public function checkLogin_UM() {
|
23 |
if ( $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
|
|
24 |
\UM()->form()->add_error( 'shield-fail-login', $this->getErrorMessage() );
|
25 |
}
|
26 |
}
|
27 |
|
28 |
public function checkLostPassword_UM() {
|
29 |
if ( $this->setAuditAction( 'lostpassword' )->isBotBlockRequired() ) {
|
|
|
30 |
\UM()->form()->add_error( 'shield-fail-lostpassword', $this->getErrorMessage() );
|
31 |
}
|
32 |
}
|
33 |
|
34 |
public function checkRegister_UM() {
|
35 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
36 |
\UM()->form()->add_error( 'shield-fail-register', $this->getErrorMessage() );
|
37 |
}
|
38 |
}
|
21 |
|
22 |
public function checkLogin_UM() {
|
23 |
if ( $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
24 |
+
$this->fireEventBlockLogin();
|
25 |
\UM()->form()->add_error( 'shield-fail-login', $this->getErrorMessage() );
|
26 |
}
|
27 |
}
|
28 |
|
29 |
public function checkLostPassword_UM() {
|
30 |
if ( $this->setAuditAction( 'lostpassword' )->isBotBlockRequired() ) {
|
31 |
+
$this->fireEventBlockLostpassword();
|
32 |
\UM()->form()->add_error( 'shield-fail-lostpassword', $this->getErrorMessage() );
|
33 |
}
|
34 |
}
|
35 |
|
36 |
public function checkRegister_UM() {
|
37 |
if ( $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
38 |
+
$this->fireEventBlockRegister();
|
39 |
\UM()->form()->add_error( 'shield-fail-register', $this->getErrorMessage() );
|
40 |
}
|
41 |
}
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/WooCommerce.php
CHANGED
@@ -22,6 +22,7 @@ class WooCommerce extends Base {
|
|
22 |
*/
|
23 |
public function checkCheckout_Woo( $data, $wpError ) {
|
24 |
if ( empty( $wpError->get_error_code() ) && $this->setAuditAction( 'checkout' )->isBotBlockRequired() ) {
|
|
|
25 |
$wpError->add( 'shield-user-checkout', $this->getErrorMessage() );
|
26 |
}
|
27 |
}
|
@@ -33,6 +34,7 @@ class WooCommerce extends Base {
|
|
33 |
*/
|
34 |
public function checkLogin_Woo( $wpError, $username ) {
|
35 |
if ( empty( $wpError->get_error_code() ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
|
|
36 |
$this->setAuditUser( $username );
|
37 |
$wpError->add( 'shield-user-login', $this->getErrorMessage() );
|
38 |
}
|
@@ -46,6 +48,7 @@ class WooCommerce extends Base {
|
|
46 |
*/
|
47 |
public function checkRegister_Woo( $wpError, $username ) {
|
48 |
if ( empty( $wpError->get_error_code() ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
|
|
49 |
$this->setAuditUser( $username );
|
50 |
$wpError->add( 'shield-user-register', $this->getErrorMessage() );
|
51 |
}
|
22 |
*/
|
23 |
public function checkCheckout_Woo( $data, $wpError ) {
|
24 |
if ( empty( $wpError->get_error_code() ) && $this->setAuditAction( 'checkout' )->isBotBlockRequired() ) {
|
25 |
+
$this->fireEventBlockCheckout();
|
26 |
$wpError->add( 'shield-user-checkout', $this->getErrorMessage() );
|
27 |
}
|
28 |
}
|
34 |
*/
|
35 |
public function checkLogin_Woo( $wpError, $username ) {
|
36 |
if ( empty( $wpError->get_error_code() ) && $this->setAuditAction( 'login' )->isBotBlockRequired() ) {
|
37 |
+
$this->fireEventBlockLogin();
|
38 |
$this->setAuditUser( $username );
|
39 |
$wpError->add( 'shield-user-login', $this->getErrorMessage() );
|
40 |
}
|
48 |
*/
|
49 |
public function checkRegister_Woo( $wpError, $username ) {
|
50 |
if ( empty( $wpError->get_error_code() ) && $this->setAuditAction( 'register' )->isBotBlockRequired() ) {
|
51 |
+
$this->fireEventBlockRegister();
|
52 |
$this->setAuditUser( $username );
|
53 |
$wpError->add( 'shield-user-register', $this->getErrorMessage() );
|
54 |
}
|
src/lib/src/Modules/Integrations/Lib/Bots/UserForms/Handlers/WordPress.php
CHANGED
@@ -28,6 +28,7 @@ class WordPress extends Base {
|
|
28 |
*/
|
29 |
public function checkLogin_WP( $userOrError, $username ) {
|
30 |
if ( !is_wp_error( $userOrError ) || empty( $userOrError->get_error_codes() ) ) {
|
|
|
31 |
$this->setAuditAction( 'login' )
|
32 |
->setAuditUser( $username );
|
33 |
if ( $this->isBotBlockRequired() ) {
|
@@ -45,6 +46,7 @@ class WordPress extends Base {
|
|
45 |
*/
|
46 |
public function checkLostPassword_WP( $wpError = null, $user = false ) {
|
47 |
if ( is_wp_error( $wpError ) && empty( $wpError->get_error_codes() ) ) {
|
|
|
48 |
$this->setAuditAction( 'lostpassword' );
|
49 |
if ( $user instanceof \WP_User ) {
|
50 |
$this->setAuditUser( $user->user_login );
|
@@ -65,6 +67,7 @@ class WordPress extends Base {
|
|
65 |
*/
|
66 |
public function checkRegister_WP( $wpError, $username ) {
|
67 |
if ( !is_wp_error( $wpError ) || empty( $wpError->get_error_codes() ) ) {
|
|
|
68 |
$this->setAuditAction( 'register' )
|
69 |
->setAuditUser( $username );
|
70 |
if ( $this->isBotBlockRequired() ) {
|
28 |
*/
|
29 |
public function checkLogin_WP( $userOrError, $username ) {
|
30 |
if ( !is_wp_error( $userOrError ) || empty( $userOrError->get_error_codes() ) ) {
|
31 |
+
$this->fireEventBlockLogin();
|
32 |
$this->setAuditAction( 'login' )
|
33 |
->setAuditUser( $username );
|
34 |
if ( $this->isBotBlockRequired() ) {
|
46 |
*/
|
47 |
public function checkLostPassword_WP( $wpError = null, $user = false ) {
|
48 |
if ( is_wp_error( $wpError ) && empty( $wpError->get_error_codes() ) ) {
|
49 |
+
$this->fireEventBlockLostpassword();
|
50 |
$this->setAuditAction( 'lostpassword' );
|
51 |
if ( $user instanceof \WP_User ) {
|
52 |
$this->setAuditUser( $user->user_login );
|
67 |
*/
|
68 |
public function checkRegister_WP( $wpError, $username ) {
|
69 |
if ( !is_wp_error( $wpError ) || empty( $wpError->get_error_codes() ) ) {
|
70 |
+
$this->fireEventBlockRegister();
|
71 |
$this->setAuditAction( 'register' )
|
72 |
->setAuditUser( $username );
|
73 |
if ( $this->isBotBlockRequired() ) {
|
src/lib/src/Modules/LoginGuard/Strings.php
CHANGED
@@ -48,10 +48,29 @@ class Strings extends Base\Strings {
|
|
48 |
__( 'User "{{user_login}}" failed to verify their identity using "{{method}}".', 'wp-simple-firewall' )
|
49 |
],
|
50 |
],
|
|
|
51 |
'login_block' => [
|
52 |
'name' => __( 'Login Blocked', 'wp-simple-firewall' ),
|
53 |
'audit' => [
|
54 |
-
__( '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
55 |
],
|
56 |
],
|
57 |
'hide_login_url' => [
|
48 |
__( 'User "{{user_login}}" failed to verify their identity using "{{method}}".', 'wp-simple-firewall' )
|
49 |
],
|
50 |
],
|
51 |
+
// todo rename to block_login
|
52 |
'login_block' => [
|
53 |
'name' => __( 'Login Blocked', 'wp-simple-firewall' ),
|
54 |
'audit' => [
|
55 |
+
__( 'User login request blocked.', 'wp-simple-firewall' ),
|
56 |
+
],
|
57 |
+
],
|
58 |
+
'block_register' => [
|
59 |
+
'name' => __( 'Registration Blocked', 'wp-simple-firewall' ),
|
60 |
+
'audit' => [
|
61 |
+
__( 'User registration request blocked.', 'wp-simple-firewall' ),
|
62 |
+
],
|
63 |
+
],
|
64 |
+
'block_lostpassword' => [
|
65 |
+
'name' => __( 'Lost Password Blocked', 'wp-simple-firewall' ),
|
66 |
+
'audit' => [
|
67 |
+
__( 'User lost password request blocked.', 'wp-simple-firewall' ),
|
68 |
+
],
|
69 |
+
],
|
70 |
+
'block_checkout' => [
|
71 |
+
'name' => __( 'Checkout Blocked', 'wp-simple-firewall' ),
|
72 |
+
'audit' => [
|
73 |
+
__( 'User attempting checkout request blocked.', 'wp-simple-firewall' ),
|
74 |
],
|
75 |
],
|
76 |
'hide_login_url' => [
|