Skip to content

Commit bdfbfe3

Browse files
committed
Merge branch 'master' into dev
2 parents 1246f05 + e4d07bf commit bdfbfe3

9 files changed

Lines changed: 898 additions & 850 deletions

File tree

js/public/spbct-react-bundle.js

Lines changed: 843 additions & 837 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

js/src/react/components/SignupWizard/Screens/SignupInterface.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ export default function SignupInterface({
8989
{__('What happens next?', 'security-malware-firewall')}
9090
</span>
9191
<span className={'spbct-signup-wizard-what-next-hint'}>
92-
{__('You will get a key to activate the plugin, installation instructions and the anti-spam plugin.', 'security-malware-firewall')}
92+
{__('You will get a key to activate the plugin, installation instructions and the Security plugin.', 'security-malware-firewall')}
9393
</span>
9494
</div>
9595
</div>
@@ -143,13 +143,13 @@ export default function SignupInterface({
143143
</div>
144144
<div className={'spbct-signup-wizard-form-group'}>
145145
<button type={'button'} name={'existingUser'} onClick={handleExistingUserClick}>
146-
{__('I already have an access key', 'security-malware-firewall')}
146+
{__('I already have an Access Key', 'security-malware-firewall')}
147147
</button>
148148
</div>
149149
</div>
150150
<div>
151151
<a className={'spbct-signup-wizard-skip-wizard-link'} href={'options-general.php?page=spbc&spbc_tab=settings_general'}>
152-
{__('Skip set up wizard', 'security-malware-firewall')}
152+
{__('Skip setup wizard', 'security-malware-firewall')}
153153
</a>
154154
</div>
155155
</div>

lib/CleantalkSP/Common/Helpers/CSV.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public static function parseCSV($buffer)
6969
self::sanitizeFromEmptyLines($buffer);
7070
foreach ($buffer as &$line) {
7171
if ($line !== '') {
72-
$line = str_getcsv($line, ',', '\'');
72+
$line = str_getcsv($line, ',', '\'', '\\');
7373
}
7474
}
7575

@@ -143,7 +143,7 @@ public static function popLineFromCSVToArray(&$csv, $map = array())
143143
{
144144
$line = trim(static::popLineFromCSV($csv));
145145
$line = strpos($line, '\'') === 0
146-
? str_getcsv($line, ',', '\'')
146+
? str_getcsv($line, ',', '\'', '\\')
147147
: explode(',', $line);
148148
if ($map) {
149149
$line = array_combine($map, $line);

lib/CleantalkSP/SpbctWP/Scanner/ScannerActions/BackupsActions.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,13 @@ protected static function createBackupsForFilesWithSignaturesHandler()
230230

231231
$output = array('success' => true);
232232

233-
$files_to_backup = $wpdb->get_results('SELECT path, weak_spots, checked_heuristic, checked_signatures, status, severity FROM ' . SPBC_TBL_SCAN_FILES . ' WHERE weak_spots LIKE "%\"SIGNATURES\":%";', ARRAY_A);
233+
$files_to_backup = $wpdb->get_results(
234+
'SELECT path, weak_spots, checked_heuristic, checked_signatures, status, severity
235+
FROM ' . SPBC_TBL_SCAN_FILES . '
236+
WHERE weak_spots LIKE "%\"SIGNATURES\":%"
237+
AND status <> "QUARANTINED";',
238+
ARRAY_A
239+
);
234240

235241
if (!is_array($files_to_backup) || !count($files_to_backup)) {
236242
return $output;
@@ -356,7 +362,7 @@ private static function backupFile($filename, $backup_id)
356362
return array('error' => 'FILE_NOT_READABLE');
357363
}
358364
} else {
359-
return array('error' => 'FILE_NOT_EXISTS');
365+
return array('error' => 'FILE_NOT_EXISTS: ' . esc_html($file_path));
360366
}
361367
}
362368

lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarm.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,14 @@ public static function updateWPModulesVulnerabilities()
3434
VulnerabilityAlarmService::updateVulnerabilitiesLibrary();
3535
}
3636

37+
/**
38+
* Delete all the data for vulnerabilities storage
39+
*/
40+
public static function dropWPModulesVulnerabilities()
41+
{
42+
VulnerabilityAlarmService::dropVulnerabilitiesLibrary();
43+
}
44+
3745
/**
3846
* @param string $module_type
3947
* @param string $plugin_slug

lib/CleantalkSP/SpbctWP/VulnerabilityAlarm/VulnerabilityAlarmService.php

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,17 @@ public static function updateVulnerabilitiesLibrary()
2222
self::setSummaryLogPluginsAndThemes($modules);
2323
}
2424

25+
/**
26+
* @return void
27+
*/
28+
public static function dropVulnerabilitiesLibrary()
29+
{
30+
$modules = self::getModulesForCloud();
31+
$report = new ApiResults();
32+
self::writeReport($report);
33+
self::setSummaryLogPluginsAndThemes($modules);
34+
}
35+
2536
/**
2637
* @param array $modules
2738
* @ToDo is this locic needed?
@@ -276,14 +287,20 @@ public static function getCloudReport($modules)
276287
{
277288
global $spbc;
278289

290+
$api_key = $spbc->settings['spbc_key'];
291+
279292
if ( ! is_array($modules) ) {
280293
throw new VulnerabilityAlarmServiceException('Modules not provided.');
281294
}
282295

296+
if (empty($api_key)) {
297+
throw new VulnerabilityAlarmServiceException('Access key is empty.');
298+
}
299+
283300
$plugins = isset($modules['plugins']) ? $modules['plugins'] : [];
284301
$themes = isset($modules['themes']) ? $modules['themes'] : [];
285302

286-
$cloud_verdicts = ResearchApi::methodAnalyzeSiteWpVulnerabilities($spbc->settings['spbc_key'], $plugins, $themes);
303+
$cloud_verdicts = ResearchApi::methodAnalyzeSiteWpVulnerabilities($api_key, $plugins, $themes);
287304

288305
if ( ! empty($cloud_verdicts['error_message']) ) {
289306
throw new VulnerabilityAlarmServiceException('Modules checking API error: ' . $cloud_verdicts['error_message']);

lib/CleantalkSP/Updater/UpdaterScripts.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1694,11 +1694,16 @@ public static function updateTo_2_178_0() // phpcs:ignore PSR1.Methods.CamelCaps
16941694
/**
16951695
* @return void
16961696
*/
1697-
public static function updateTo_2_180_1() // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
1697+
public static function updateTo_2_181() // phpcs:ignore PSR1.Methods.CamelCapsMethodName.NotCamelCaps
16981698
{
16991699
global $spbc;
17001700

1701-
VulnerabilityAlarm::updateWPModulesVulnerabilities();
1701+
try {
1702+
VulnerabilityAlarm::updateWPModulesVulnerabilities();
1703+
} catch (\Exception $_e) {
1704+
VulnerabilityAlarm::dropWPModulesVulnerabilities();
1705+
}
1706+
17021707
$spbc->data['spbc_security_check_vulnerabilities_last_call'] = time();
17031708
$spbc->save('data');
17041709
}

readme.txt

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
=== Security Plugin, Firewall, Malware Auto Removal & Login Security ===
1+
=== Security Plugin, Firewall & Malware Scanner with Auto Removal ===
22
Contributors: glomberg, alexandergull, sergefcleantalk
33
Tags: security, firewall, malware, login, 2fa
44
Requires at least: 5.0
55
Tested up to: 7.0
66
Requires PHP: 7.2
7-
Stable tag: 2.180
7+
Stable tag: 2.181
88
License: GPLv2
99
License URI: https://www.gnu.org/licenses/gpl-2.0.html
1010

@@ -376,6 +376,12 @@ Security FireWall can mitigate HTTP/HTTPS DDoS attacks. When an intruder makes G
376376

377377
== Changelog ==
378378

379+
= 2.181 June 08 2026
380+
New. Settings. Signup wizard implemented.
381+
Upd. Renaming login page. Password-protected pages behavior fixed.
382+
Upd. Vulnerability Alarm Service. Cloud analysis logic implemented.
383+
Upd. Scanner. Minor code optimization.
384+
379385
= 2.180 May 25 2026
380386
* Upd. Logging FW update.
381387
* New. EarlyTranslation. New class implemented to perform translations before init hook.

security-malware-firewall.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
Plugin URI: https://wordpress.org/plugins/security-malware-firewall/
66
Description: Security & Malware scan by CleanTalk to protect your website from online threats and viruses. IP/Country FireWall, Web application FireWall. Detailed stats and logs to have full control.
77
Author: CleanTalk Security
8-
Version: 2.180.99-dev
8+
Version: 2.181
99
Author URI: https://cleantalk.org
1010
Text Domain: security-malware-firewall
1111
Domain Path: /i18n

0 commit comments

Comments
 (0)