Changeset 3430895
- Timestamp:
- 01/02/2026 07:45:22 AM (7 weeks ago)
- Location:
- wp-malware-removal/trunk
- Files:
-
- 4 edited
-
readme.txt (modified) (9 diffs)
-
traits/wpmr_client_js.php (modified) (5 diffs)
-
traits/wpmr_stateful_scanner.php (modified) (4 diffs)
-
wpmr.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
wp-malware-removal/trunk/readme.txt
r3429433 r3430895 1 === Malcure Malware Scanner — Precision Virus Removaland Firewall ===1 === Malcure Malware Scanner — Precision Virus Scan and Firewall === 2 2 Contributors: malcure,cybermalcure 3 Tags: malware scanner, antivirus, firewall, vulnerability scanner, hack repair3 Tags: malware scanner, antivirus, firewall, vulnerability scanner, security 4 4 Requires at least: 3.7.4 5 5 Tested up to: 6.9 6 6 Requires PHP: 5.6 7 Stable tag: 19. 37 Stable tag: 19.4 8 8 License: MIT 9 9 License URI: https://opensource.org/licenses/MIT 10 10 11 Precision-engineered malware detection & WAF. Zero false positives. Trusted by experts to clean hacked sites instantly.11 High Accuracy malware scanner & WAF. Clean hacked sites easily. 12 12 13 13 == Description == … … 19 19 Trusted by 10,000+ site owners and security professionals, Malcure doesn't just "scan" — it investigates. From hidden backdoors in your database to obfuscated code in your images, we find what others miss. 20 20 21 ### Powered by Malcure API: Real-Time Threat Intelligence 21 = Powered by Malcure API: Real-Time Threat Intelligence = 22 22 Hackers don't sleep, and neither do we. Malcure connects to our real-time API to fetch the latest threat definitions. 23 * **Zero-Day Alerts:** Our API analyzes new threats in real-time, ensuring the site is scanned against the latest vulnerabilities. 24 * **Smart Checksums:** We verify your core files against the official WordPress repository using our API, ensuring absolute integrity. 25 * **Lightweight:** By offloading heavy analysis to our API, we keep your server fast and responsive. 26 27 ### Why Malcure? 28 29 * **Precision, Not Noise:** Our advanced heuristic engine is tuned to distinguish between legitimate code and malicious payloads. No more heart attacks over false alarms. 30 * **Surgical Cleanup:** Don't nuke your site. Malcure identifies the exact infection so you can surgically remove the malicious code while keeping your website fully functional. 31 * **Performance First:** Built to be lightweight. We scan rigorously without bringing your server to its knees. 32 33 ### Core Features (Free Forever) 34 35 * **Deep Malware Scan:** Scans core files, themes, plugins, images, and your entire database for viruses, trojans, backdoors, and malicious redirects. 36 * **Files:** Scans core files, themes, plugins, images, and uploads for backdoors, shells (C99, R57), and obfuscated code. 37 * **Database:** Scans database tables for malicious injections and spam links. 38 * **SEO Spam Detection:** Specifically checks page titles and database records for "Japanese Keyword Hack" and other SEO spam symptoms. 39 * **Vulnerability Scanner:** Checks your installed plugins and themes against our real-time database of known security vulnerabilities. 40 * **Intelligent Checksum Verification:** Automatically verifies your files against the official WordPress repository. If a core file has been tampered with, we know instantly. 41 * **Uncompromising Detection:** Detects C99, R57, RootShell, Crystal Shell, Matamu, and thousands of other known and unknown variants. 42 * **Firewall (WAF) & Hardening:** 43 * **Block Path Traversal:** Stops attackers from accessing sensitive system files. 44 * **Block PHP Uploads:** Prevents malicious scripts from being uploaded to your site. 45 * **Stop User Enumeration:** Blocks bots from fishing for your username. 46 * **REST API Protection:** Prevents user data leakage via the WP REST API. 47 * **Incident Response Toolkit:** 48 * **Nuke User Sessions:** Instantly force-logout every user on the site to kick out intruders. 49 * **Salt Shuffler:** One-click rotation of WordPress security keys (salts) to invalidate all browser cookies. 50 * **Comprehensive Event Logging:** Track every security event. Know exactly *when* and *how* a breach might have occurred with our 100-day event log. 51 * **Google Search Console Integration:** Connect directly to Google to fetch security warnings and blacklist status in real-time. 52 * **Real-Time API Updates:** Connects to the Malcure Cloud to detect the latest threats and vulnerabilities. 53 54 ### Upgrade to Advanced Edition 55 56 For mission-critical websites that demand the ultimate protection and recovery tools. 57 58 * **1-Click Fixes:** Inspect, Delete or Repair infected files instantly with a single clicks. 59 * **Real-Time Definition Updates:** Stay protected against the very latest threats discovered by our security labs. 60 * **WP-CLI Integration:** Automate scans and cleanups via command line — a developer's dream. 61 * **Custom Whitelisting:** Full control to whitelist specific files or folders. 62 * **High-Priority Support:** Direct access to our security analysts. 23 24 This plugin relies on the Malcure API to provide real-time threat intelligence and checksum verification. 25 - **Data Transmission:** To perform scans, the plugin sends file checksums and your site's domain to Malcure servers. No sensitive user data or file contents are transmitted unless you explicitly use the "Inspect File" feature. 26 - **Terms & Privacy:** Use of the API is subject to our [Terms of Use](https://www.malcure.com/?p=1720&utm_source=readme&utm_medium=web&utm_campaign=wpmr) and [Privacy Policy](https://malcure.com/?p=3&utm_source=readme&utm_medium=web&utm_campaign=wpmr). 27 28 - **Zero-Day Alerts:** Our API analyzes new threats in real-time, ensuring the site is scanned against the latest vulnerabilities. 29 - **Smart Checksums:** We verify your core files against the official WordPress repository using our API, ensuring absolute integrity. 30 - **Lightweight:** By offloading heavy analysis to our API, we keep your server fast and responsive. 31 32 = Why Malcure? = 33 34 - **Precision, Not Noise:** Our advanced heuristic engine is tuned to distinguish between legitimate code and malicious payloads. No more heart attacks over false alarms. 35 - **Surgical Cleanup:** Don't nuke your site. Malcure identifies the exact infection so you can surgically remove the malicious code while keeping your website fully functional. 36 - **Performance First:** Built to be lightweight. We scan rigorously without bringing your server to its knees. 37 38 = Who This Plugin Is For = 39 40 - **Site owners** who want clear, actionable results (what was flagged and where). 41 - **Agencies & developers** who need fast triage across multiple sites. 42 - **WooCommerce / membership / lead-gen sites** where downtime and SEO damage are expensive. 43 - **Anyone** who wants a scanner that cuts through the noise to focus on *signal*—real threats with practical remediation paths. 44 45 = How It Works (Scan → Review → Clean) = 46 47 1. **Scan** 48 - Go to **Malcure Scanner** in your WordPress admin. 49 - Run a scan to check your files and database for malware, backdoors, suspicious code, and integrity issues. 50 51 2. **Review** 52 - Malcure reports findings with clear locations (file paths / database records) so you can verify what changed and why it was flagged. 53 - Use the results to decide what should be repaired, deleted, or kept (for example, legitimate custom code). 54 55 3. **Clean & Recover** 56 - The free edition helps you identify issues and understand what needs fixing. 57 - The Advanced Edition adds cleanup tools (Inspect / Repair / Delete for infected files) and workflow features like custom whitelisting. 58 59 = Free vs Advanced (Feature Comparison) = 60 61 Below is a practical feature comparison to help you choose the right edition. 62 63 Feature | Free | Advanced 64 ------- | ---- | -------- 65 Deep malware scan (files + database) | Yes | Yes 66 Checksum verification (WordPress core integrity) | Yes | Yes 67 Vulnerability scanner | Yes | Yes 68 Firewall (WAF) & hardening | Yes | Yes 69 Incident response toolkit (sessions, salts, etc.) | Yes | Yes 70 Event logging | Yes | Yes 71 Google Search Console integration | Yes | Yes 72 1‑click cleanup actions (Inspect / Repair / Delete infected files) | No | Yes 73 Custom whitelisting (files/folders) | No | Yes 74 WP‑CLI integration | No | Yes 75 High‑priority support | No | Yes 76 Real‑time definition updates | No | Yes 77 78 [youtube https://www.youtube.com/watch?v=EbSbxiTOc8k] 79 80 = Core Features (Free Forever) = 81 82 - **Deep Malware Scan:** Scans core files, themes, plugins, images, and your entire database for viruses, trojans, backdoors, and [malicious redirects](https://malcure.com/?p=60&utm_source=readme&utm_medium=web&utm_campaign=wpmr). 83 - **Files:** Scans core files, themes, plugins, images, and uploads for backdoors, shells (C99, R57), and obfuscated code. 84 - **Database:** Scans database tables for malicious injections and spam links. 85 - **SEO Spam Detection:** Specifically checks page titles and database records for "Japanese Keyword Hack", "Pharma Hack" and other SEO spam symptoms. 86 - **Vulnerability Scanner:** Checks your installed plugins and themes against our real-time database of known security vulnerabilities. 87 - **Intelligent Checksum Verification:** Automatically verifies your files against the official WordPress repository. If a core file has been tampered with, we know instantly. 88 - **Uncompromising Detection:** Detects C99, R57, RootShell, Crystal Shell, Matamu, and thousands of other known and unknown variants. 89 - **Firewall (WAF) & Hardening:** 90 - **Block Path Traversal:** Stops attackers from accessing sensitive system files. 91 - **Block PHP Uploads:** Prevents malicious scripts from being uploaded to your site. 92 - **Stop User Enumeration:** Blocks bots from fishing for your username. 93 - **REST API Protection:** Prevents user data leakage via the WP REST API. 94 - **[Security Hardening](https://malcure.com/?p=1622&utm_source=readme&utm_medium=web&utm_campaign=wpmr):** Learn more about securing your WordPress site. 95 - **Incident Response Toolkit:** 96 - **Nuke User Sessions:** Instantly force-logout every user on the site to kick out intruders. 97 - **Salt Shuffler:** One-click rotation of [WordPress security keys (salts)](https://malcure.com/?p=5230&utm_source=readme&utm_medium=web&utm_campaign=wpmr) to invalidate all browser cookies. 98 - **Comprehensive Event Logging:** Track every security event. Know exactly *when* and *how* a breach might have occurred with our 100-day event log. 99 - **Google Search Console Integration:** Connect directly to Google to fetch security warnings and blacklist status in real-time. 100 - **Real-Time API Updates:** Connects to the Malcure Cloud to detect the latest threats and vulnerabilities. 101 102 = Upgrade to Advanced Edition = 103 104 For mission-critical websites that demand comprehensive protection and recovery tools. 105 106 - **1-Click Fixes:** Inspect, Delete or Repair infected files instantly with a single clicks. 107 - **Real-Time Definition Updates:** Stay protected against the very latest threats discovered by our security labs. 108 - **WP-CLI Integration:** Automate scans and cleanups via command line — a developer's dream. See our [WP-CLI Cheatsheet](https://malcure.com/?p=9102&utm_source=readme&utm_medium=web&utm_campaign=wpmr). 109 - **Custom Whitelisting:** Full control to whitelist specific files or folders. 110 - **High-Priority Support:** Direct access to our security analysts. 63 111 64 112 [**Get Malcure Advanced Edition**](https://malcure.com/?p=116&utm_source=readme&utm_medium=web&utm_campaign=wpmr) 65 113 66 ### What Our Users Say 67 68 > "Found my issues – Brilliant Support. This plugin worked like a charm and identified a problem that other plugins had missed." — @promofinity 69 70 > "Does what it says on the tin. Malcure was able to detect the Alfa webshell backdoor in my WordPress site with great precision while many others could not." — @ftanger 71 72 > "Works like a charm. My website started getting infected and even after cleaning it didn’t seem to work… I did a scan with this plugin... and by 3rd scan… I was clean." — @albusaidys 73 74 ### Expert Malware Removal Service 114 = What Our Users Say = 115 116 > "Best by far, better than Wordfence and other giants... I spent hours trying to find a plugin like this... Simple and effective." — [@dalingzaf](https://wordpress.org/support/topic/best-by-far-better-than-wordfence-and-other-giants/) 117 118 > "The ONLY plugin that scans files in real time. I am a web developer and have tried many malware removal plugins, including popular ones like Wordfence and Sucuri. However, none of them detected some unusual files that were actually malware causing regular attacks." — [@devzeeshanx](https://wordpress.org/support/topic/the-only-plugin-that-scans-files-in-real-time-2/) 119 120 > "Accurately shows which Database table row is infected and it helps resolve the hacking attempt instantly. Saves a lot of time for the developers." — [@s3630](https://wordpress.org/support/topic/best-malware-removal-plugin-in-just-few-minutes/) 121 122 > "It’s not just a “teaser”. This plugin really found the malware, and removed it. Really for free." — [@halucska](https://wordpress.org/support/topic/its-not-just-a-teaser/) 123 124 = Additional Resources for Malware Removal = 125 126 Follow these expert guides to remove malware, recover lost traffic, and restore your online reputation: 127 128 - [A step by step guide to remove the malware](https://malcure.com/?p=1540&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 129 - [Japanese Keyword Hack: How to Remove SEO Spam](https://malcure.com/?p=13946&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 130 - [What is the WordPress Pharma Hack & How to fix it](https://malcure.com/?p=5728&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 131 - [How to Fix Google Ads Disapproved for Malicious Software](https://malcure.com/?p=14143&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 132 - [How to Prevent WordPress SQL Injection Attacks](https://malcure.com/?p=14477&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 133 - [Live Malware Infection Removal & Analysis](https://malcure.com/?p=5265&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 134 - [How to Fix “This Site May Harm Your Computer” Warning](https://malcure.com/?p=7207&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 135 - [Comprehensive Guide to Removing JavaScript Redirect Malware](https://malcure.com/?p=60&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 136 - [How to Fix a Blank WP-Admin Page](https://malcure.com/?p=5699&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 137 - [Malcure WP CLI Integration & Cheatsheet](https://malcure.com/?p=9102&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 138 - [How to Prevent Brute Force Attacks](https://malcure.com/?p=14375&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 139 - [How to Change WordPress Salt Keys](https://malcure.com/?p=5230&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) 140 141 = Expert Malware Removal Service = 75 142 76 143 In over your head? Our security analysts are on standby. We offer a complete **Malware Removal Service** that includes: 77 ***100% Removal Guarantee:** We guarantee to remove all malware from your website.78 ***Same Day Service:** Fast turnaround time to get your business back online.79 ***DeepScan™ Technology:** Scans backups, archives, images, and hidden files where malware hides.80 ***Manual Inspection:** Our experts manually inspect critical files (htaccess, wp-config, index.php) and your database.81 ***Blacklist Removal:** We handle the removal of your site from blacklists like Google, Norton, McAfee, etc.82 ***Security Hardening:** We identify the root cause and patch vulnerabilities to prevent future infections.83 ***15-Day Cover:** Security analysts available 24/7/365 to ensure your site stays clean.144 - **100% Removal Guarantee:** We guarantee to remove all malware from your website. 145 - **Same Day Service:** Fast turnaround time to get your business back online. 146 - **DeepScan™ Technology:** Scans backups, archives, images, and hidden files where malware hides. 147 - **Manual Inspection:** Our experts manually inspect critical files (htaccess, wp-config, index.php) and your database. 148 - **Blacklist Removal:** We handle the removal of your site from blacklists like Google, Norton, McAfee, etc. 149 - **Security Hardening:** We identify the root cause and patch vulnerabilities to prevent future infections. 150 - **15-Day Cover:** Security analysts available 24/7/365 to ensure your site stays clean. 84 151 85 152 [**Book Expert Malware Removal**](https://malcure.com/?p=107&utm_source=readme&utm_medium=web&utm_campaign=wpmr) … … 97 164 Option 1: If you are tech-savvy, you can use this plugin, analyse the results and remove malware yourself. 98 165 99 Option 2: You can file a service request with us. Don ’t delay—malware spreads fast! Our service includes malware cleanup and blacklist removal by our security analysts. [Please click here to file a support request](https://malcure.com/?p=107&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr).166 Option 2: You can file a service request with us. Don't delay—malware spreads fast! Our service includes malware cleanup and blacklist removal by our security analysts. [Please click here to file a support request](https://malcure.com/?p=107&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 100 167 101 168 = How to remove malware from website? = … … 119 186 = What support options are available for Malcure Malware Scanner users? = 120 187 121 Providing excellent support is extremely important to us. You can file a ticket at Malcure website and our dedicated web-security specialist will ensure that the matter is resolved to your satisfaction. 122 123 = Some files are detected by Malcure Malware Scanner as "suspicious". What gives? = 124 125 Malcure's SmartScan checks each file for malware. However some files aren't pure malware but may contain code that is suspicious and could do nasty things. You should carefully review and analyse them to see if they indeed do anything nasty. 126 127 = I can't get Malcure Malware Scanner to work. It hangs / doesn't complete the scan / breaks for some reason. = 128 129 If you think that the plugin is broken, [please report it here](https://malcure.com/?p=5677&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 130 131 Malcure Malware Scanner (or for that matter other plugins) may break on malware affected / broken websites. [Malcure Advanced Edition](https://malcure.com/?p=116&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) integrates with WP CLI and allows you to complete the scan from WP CLI. 132 133 = My site is infected however Malcure Malware Scanner doesn't detect the infection. = 134 135 Malware keeps evolving. If you come across malware that Malcure Malware Scanner is not able to identify, you may [please report it here](https://malcure.com/?p=157&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 188 Providing excellent support is extremely important to us. You can report the issue at [Malcure forums](https://malcure.com/?p=5677&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) and our dedicated web-security specialist will ensure that the matter is resolved to your satisfaction. 136 189 137 190 = What makes Malcure Malware Scanner different from other security plugins? = … … 144 197 145 198 Malcure Malware Scanner only runs when you want it to. At all other times it sleeps silently. The firewall triggers extremely quickly and is optimized for performance. 146 147 = The scan gets stuck midway. What should I do? =148 149 In case of such an event, please file a support request with us and we'll be more than happy to troubleshoot the issue.150 151 Please visit [this page](https://malcure.com/?p=5677&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr).152 153 = I cleaned my site but it got infected again. What should I do? =154 155 Malware cleanup is a waste of time and effort unless you find the root cause behind the malware infection. How was someone able to infect your website? Have you plugged in that security hole?156 157 Please read [Why Do Websites Get Hacked](https://malcure.com/blog/security/why-do-wordpress-websites-get-hacked/).158 159 = Google Safe Browsing site status (or some other scanner) still shows my site as infected. What should I do? =160 161 First make sure you purge your site cache. Second, Google (and other scanners) cache the results for some time. You'll need to force or refresh the scan. You can also file a request with us to [get your site off any blacklists](https://www.malcure.com/?p=107&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr).162 199 163 200 = Where can I find the Malcure Terms of Use and Privacy Policy? = … … 174 211 No. Malcure is designed to be lightweight and runs only when you trigger a scan or schedule one. 175 212 213 = What data is sent to the Malcure API? = 214 To perform scans, the plugin sends file checksums and your site's domain to Malcure servers. No sensitive user data or file contents are transmitted unless you explicitly use the "Inspect File" feature. 215 216 = What's the difference between Free and Advanced? = 217 Both editions scan files and the database, verify WordPress core integrity, and include firewall/hardening features. 218 219 The Advanced Edition adds cleanup workflows (Inspect / Repair / Delete for infected files), WP-CLI integration, custom whitelisting, and high-priority support. 220 221 = How should I interpret results like "infected" vs "suspicious"? = 222 "Infected" generally means the scanner has high confidence the code matches malicious patterns. 223 224 "Suspicious" can indicate risky/obfuscated behavior or something that warrants review (for example, heavily minified code or unusual PHP patterns). If you're unsure, use Inspect (Advanced) or [contact support](https://malcure.com/?p=157&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 225 226 == Troubleshooting == 227 228 = Some files are detected by Malcure Malware Scanner as "suspicious". What gives? = 229 230 Malcure's SmartScan checks each file for malware. However some files aren't pure malware but may contain code that is suspicious and could do nasty things. You should carefully review and analyse them to see if they indeed do anything nasty. 231 232 = I can't get Malcure Malware Scanner to work. It hangs / doesn't complete the scan / breaks for some reason. = 233 234 If you think that the plugin is broken, [please report it here](https://malcure.com/?p=5677&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 235 236 Malcure Malware Scanner (or for that matter other plugins) may break on malware affected / broken websites. [Malcure Advanced Edition](https://malcure.com/?p=116&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr) integrates with WP CLI and allows you to complete the scan from WP CLI. 237 238 = My site is infected however Malcure Malware Scanner doesn't detect the infection. = 239 240 Malware keeps evolving. If you come across malware that Malcure Malware Scanner is not able to identify, you may [please report it here](https://malcure.com/?p=157&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 241 242 = The scan gets stuck midway. What should I do? = 243 244 In case of such an event, please file a support request with us and we'll be more than happy to troubleshoot the issue. 245 246 Please visit [this page](https://malcure.com/?p=5677&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 247 248 = I cleaned my site but it got infected again. What should I do? = 249 250 Malware cleanup is a waste of time and effort unless you find the root cause behind the malware infection. How was someone able to infect your website? Have you plugged in that security hole? 251 252 Please read [Why Do Websites Get Hacked](https://malcure.com/blog/security/why-do-wordpress-websites-get-hacked/?utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 253 254 = Google Safe Browsing site status (or some other scanner) still shows my site as infected. What should I do? = 255 256 First make sure you purge your site cache. Second, Google (and other scanners) cache the results for some time. You'll need to force or refresh the scan. You can also file a request with us to [get your site off any blacklists](https://www.malcure.com/?p=107&utm_source=readmefaq&utm_medium=web&utm_campaign=wpmr). 257 176 258 = I found a suspicious file, what now? = 177 259 If Malcure flags it, it's likely malicious. You can inspect the file content using our built-in inspector. If you're unsure, consider our [Expert Malware Removal Service](https://malcure.com/?p=107&utm_source=readme&utm_medium=web&utm_campaign=wpmr). … … 179 261 == Screenshots == 180 262 181 1. Plugin in Action.182 2. Scan Results.183 3. Event Log .184 4. Advanced Scan Filters.185 5. File Inspector .186 6. Scan Log .187 7. Hardening Settings.188 8. Full View.189 9. Malcure in WP CLI.190 10. Malcure Scan Results in WP CLI.263 1. Start a malware scan from the Malcure Scanner dashboard. 264 2. Scan results highlighting affected files and database records. 265 3. Event Log showing security-relevant site activity (updates and actions). 266 4. Scan filters to help narrow results by type and severity. 267 5. File Inspector to review suspicious or infected files (Advanced Edition). 268 6. Scan Log / activity history to track what ran and when. 269 7. Hardening settings and firewall rules. 270 8. Full view of scan findings for deeper investigation. 271 9. Running scans via WP-CLI (Advanced Edition). 272 10. Reviewing scan results via WP-CLI (Advanced Edition). 191 273 192 274 == Changelog == 275 276 = 19.4 = 277 * Major Bugfix: Fatal error during auto-upgrade. 278 * Updated readme. 193 279 194 280 = 19.3 = … … 211 297 * Bugfix: Enhanced detection of suspicious empty files in core directories. 212 298 213 = 17.9 =214 * UI: Updated to follow repository guidelines.215 216 = 17.8 =217 * UX: Updated to work with new checksum endpoint.218 219 = 17.7 =220 * Bugfix: Fixed a bug where errors during definition update wouldn't be reported.221 * Bugfix: Fixed a bug where plugin would run out of memory during definition update.222 * Others: Refactored code.223 224 = 17.6 =225 * UI: Improved installation experience.226 * UI: Improved licensing validation.227 * Bugfix: Improved timeout during certain conditions.228 229 = 17.5 =230 * UX: Added animation for operations in progress.231 Bugfix: Fixed timeout for certain operations.232 233 = 17.4 =234 * Feature: Major UI revamp.235 * Feature: Copy results button generated a well-formatted scan report.236 * Bugfix: Page hack scan would generate incorrect URL format.237 * Bugfix: Scan results would show all clear even when certain scans are skipped.238 239 = 17.3 =240 * Bugfix: Potential false negatives for certain default files.241 * Bugfix: Fixed formating in WP CLI commands.242 * Bugfix: Core files could be whitelisted in the UI without effect.243 244 = 17.2 =245 * Bugfix: File cleanup not working in advanced edition.246 247 = 17.1.2 =248 * Bugfix: Fixed error if checksums could not be fetched.249 250 = 17.1.1 =251 * Bugfix: Fixed error during activating from WP CLI.252 253 = 17.1 =254 * Security: Strongly recommend all users update to version 17.1 immediately.255 * Security: Fixes CSRF and broken access control vulnerabilities.256 257 = 16.9 =258 * Security: Critical security update. Fixes CSRF and broken access control vulnerabilities in AJAX endpoints. All users should update immediately. Credit: Darius Sveikauskas, author oversight.259 260 = 16.8 =261 * Bugfix: Admin Notice not clearing after cleanup.262 263 = 16.7 =264 * Bugfix: More accurate memory handling.265 * Bugfix: Better handling of database exclusions.266 267 = 16.6 =268 * Bugfix: Page hack test would throw an error under certain conditions.269 * Bugfix: Database scan output had an anomaly.270 * Others: Removed donation links.271 272 = 16.5 =273 * Minor: UI Update.274 * Bugfix: Added license link for easy access.275 276 = 16.4 =277 * Bugfix: Fixed database query to scan options.278 279 = 16.3 =280 * Bugfix: Fixed UI not reflecting infection when infection detected in database.281 * Bugfix: Fixed infection detected in database being missed in certain conditions.282 283 = 16.2 =284 * Bugfix: In certain conditions, suspicious files inside WP core directories would not show up on rescan.285 * Bugfux: Not all sessions of the current user were terminated.286 287 = 16.1 =288 * Feature: Add logging for theme deletion and plugin deletion.289 * Compatibility: Works with Multisite Newtwork.290 * Minor: Updated capturing URL of failed logins.291 * Minor: Better logging for checksum fetching failures.292 * Minor: Other UI updates.293 294 = 16.0 =295 * Bugfix: Scanner Page could break on large sites.296 * Minor: Other code refactoring and optimizations.297 298 = 15.9 =299 * Feature: Activation via WP CLI asks for license key so that it doesn't show in the shell history.300 * Feature: Capture IP for events automatically.301 * Bugfix: Metabox not showing sometimes.302 * Minor: Show plugin version when in WP CLI.303 * Minor: UI improvements.304 305 = 15.8 =306 * Feature: Faster Database Scans.307 * Bugfix: Fixed shuffle_salts function.308 * Bugfix: Fixed destroy_sessions function.309 * Minor: Limited event log to 10,000 entries.310 * Minor: More details for upgrade event in event log.311 * Minor: Added serial number to the event log.312 * Minor: Updated screenshots.313 314 = 15.7 =315 * Bugfix: Fixed issues with hidden meta-boxes.316 * Bugfix: Fixed styling / sorting of Event Log.317 318 = 15.6 =319 * Feature: Comprehensive Event Log.320 * Bugfix: Fixed issues with missing meta-boxes.321 322 = 15.5 =323 * Bugfix: Fixed issues with missing PHP function.324 * Bugfix: Session buttons were not working.325 * UX: Updated UX to sit better with branding.326 * UX: Better UX with license management.327 328 = 15.4 =329 * Bugfix: Some paths were not queued for scan.330 331 = 15.3 =332 * Feature: Windows / Server / IIS compatible.333 * Bugfix: Malware not reported when using WP CLI.334 * Others: Various other refactorings.335 336 = 15.2 =337 * Bugfix: Redirect Hack Test is more robust.338 * Bugfix: Scanning single file using WP CLI wasn't working.339 * Better documentation for WP CLI usage.340 341 = 15.1 =342 * Bugfix: Database scan breks on strict hosts.343 344 = 15.0 =345 * Major: Scan database using batch processing.346 * Ability to scan slow and large databases.347 * Bugfix: Attempt to validate malware patterns.348 * Bugfix: Checking site redirects throws warning under certain conditions.349 350 = 14.3 =351 * Changed default UI to dark skin.352 * Added file blacklist.353 354 = 14.2 =355 * Updated logging.356 * Made redirect scan optional.357 * Other minor UI updates.358 359 = 14.1 =360 * Updated to exclude database records of a few security plugins.361 362 = 14.0 =363 * Bugfix: Incorrect activations displayed in Malcure Advanced Edition.364 365 = 13.9 =366 * Feature: Consistent UI.367 368 = 13.8 =369 * Feature: Allow clearing logs (Advanced Edition).370 * Bugfix: Reset via WP CLI would fail.371 * Several UI Updates.372 * Several UX Updates.373 * Updated WP CLI Help / Documentation.374 375 = 13.7 =376 * Bugfix: File Inspector doesn't reset when inspecting a new file.377 * Bugfix: Unreadable files are not reported.378 * Bugfix: Infection count is not copied in Advanced Edition.379 380 = 13.6 =381 * Minor Bugfix: Some hosts deny access to certain files.382 * Minor Bugfix: Sometimes WP CLI scan times out.383 * Minor Bugfix: Consolidated file validation calls.384 * Major Update: Retired HTTP based scan via WP CLI.385 386 = 13.5.1 =387 * Minor Bugfix: Audio notifications not working by default.388 389 = 13.5 =390 * Feature: Audio notifications on scan completion.391 * Bugfix: Better locale detection.392 393 = 13.4 =394 * Minor UI Update.395 * Tweak to reduce load on API Server.396 397 = 13.3 =398 * Bugfix: Fully compatible with PHP 8.2.399 * Bugfix: Fixed timeout issues. Our server is slow and we are working to expand our infrastructure and costs.400 * Feature: Verbose details when copying results (Advanced Edition).401 402 = 13.2 =403 * Bugfix: Some ajax actions throw PHP warnings.404 405 = 13.1 =406 * Bugfix: Aggregate Scan-speed and start-time broken on second iteration.407 408 = 13.0 =409 * UX: Mouse-wheel event to update the scan speed slider.410 * UX: Updated the default scan speed to 11.411 * UX: Realistic time remaining on second iteration.412 413 = 12.9 =414 * Bugfix: File incorrectly being reported as a file inside core direrctories.415 416 = 12.8 =417 * Bugfix: Notification doesn't show correct message in some cases.418 419 = 12.7 =420 * Major UX improvements.421 * Feature: Better notification system.422 * Feature: Salt Shuffler.423 424 = 12.6 =425 * Feature: Added ability to save scan-log to a file when used with WP-CLI.426 427 = 12.5 =428 * Bugfix: Fixed formatting of copied results.429 * Bugfix: Fixed js error when trying to repair a file.430 431 = 12.4 =432 * Bugfix: Error thrown when repairing a file.433 * Bugfix: UI not reflecting the updated version of signatures.434 * Bugfix: Better file filtering when website is installed in a custom directory.435 * Bugfix: Better verbosity in WP CLI.436 * Feature: Major revamp in CLI functions.437 * Feature: Major revamp in CLI function documentation.438 439 = 12.3 =440 * Bugfix: Better support for symlinks on some web-hosts.441 * Bugfix: Minor performance optimisations.442 443 = 12.2 =444 * Bugfix: Better support for symlinks.445 * Bugfix: Results do not reset on rescan.446 447 = 12.1 =448 * Bugfix: Emergency Release. Missing function hrtime in PHP 5.6 breaks the plugin.449 450 = 12.0 =451 * Bugfix: Definition updates not available when automating with WP CLI.452 * Feature: Ability to force reset in unattended mode with WP CLI453 * Bugfix: Inconsistency with get_home_path and ABSPATH.454 * Feature: Report timings during scan.455 * Feature: Report when website is installed in a custom directory.456 * Feature: Many UX improvements.457 * Feature: Many code optimisations / refactoring, ability to traverse into softlinks.458 459 = 11.9 =460 * Bugfix: Scan failure reported as suspicious.461 * Bugfix: Core file not reported if suspicious.462 * Bugfix: Mismatching of version.php.463 * Feature: Reset plugin settings via CLI.464 * Feature: Other CLI improvements.465 466 = 11.8 =467 * Feature: Massive speed optimizations.468 * Feature: Switched to more secure hash.469 470 = 11.7 =471 * Bugfix: Invalid suspicious incident count.472 473 = 11.6 =474 * New Feature: Infection Count.475 476 = 11.5 =477 * Bugfix: User not alerted by out of date definitions under certain conditions.478 479 = 11.4 =480 * Bugfix: User not alerted by out of date definitions.481 482 = 11.3 =483 * Better UX with CLI.484 * Output detailed setup information during scan via CLI.485 * Output customer info on license page.486 487 = 11.2 =488 * Bugfix: Definition Update Available notice doesn't get removed after updating definitions.489 * Bugfix: Incorrect reflection of meta_id as post_id in database scan results.490 491 = 11.1 =492 * Enhancement: Report max_execution_time, memory_limit and memory_usage on WP CLI.493 * UX: User-sessions-list takes up huge amount of vertical space on multi-user sites. Shifted it down.494 495 = 11.0 =496 * Bugfix: Visibly display message if site is experience an HTTP error.497 498 = 10.9 =499 * Bugfix: CLI scan dies after the default apache timeout on mod_php.500 * Bugfix: Prioritised core files.501 502 = 10.8 =503 * Bugfix: CLI scan dies after the default apache timeout on mod_php.504 * Bugfix: Fixed an error if PHP DOM extension php-xml is missing.505 506 = 10.7 =507 * Feature: Skin changer to configure UI for long working hours.508 509 = 10.6 =510 * Bugfix: Scan fails to initialize on large databases or huge number of files.511 * Bugfix: CLI fails to clear infection status.512 * Feature: Several other UI updates.513 * Others: Code refactoring.514 515 = 10.5 =516 * Feature: UI updates.517 * Feature: Disabled skipping binary files.518 * Bugfix: Several minor bugfixes.519 520 = 10.4 =521 * Feature: Major UI overhaul.522 * Feature: Added DeepScan™ & SpeedScan.523 * Bugfix: Warning thrown when optimising checksums.524 * Bugfix: Fixed the Copy button copying invalid file format to clipboard.525 * Bugfix: Several scan optimisations.526 527 = 10.3 =528 * Bugfix: Prevent third-party metaboxes from polluting the UI.529 530 = 10.2 =531 * Major Bugfix: Prevent engine stats error / delays from hanging the UI.532 533 = 10.1 =534 * Feature: WP-CLI progressbar shows the file being scanned.535 * Bugfix: WP-CLI colors remain affected if infection is detected.536 * Bugfix: De-duplication of scan when batch size is 1.537 538 = 10.0 =539 * Bugfix: Advanced version throws error when running via WP-CLI540 541 = 9.9 =542 * Bugfix: Cannot activate license from commandline.543 * Bugfix: WP CLI scan timesout in certain conditions.544 * Bugfix: WP CLI scan throws fatal error in certain conditions.545 * Several UI fixes.546 547 = 9.8 =548 * Bugfix: Logs generating PHP warnings.549 550 = 9.7 =551 * Added error control operator to suppress errors if allow_url_fopen is not available.552 553 = 9.6 =554 * Updated readme documentation.555 556 = 9.5 =557 * Minor UI Fixes558 559 = 9.4 =560 * Improvement: License activation shouldn't accept empty key.561 562 = 9.3 =563 * Recommit due to previous commit failure..564 * Branding update.565 * Bugfix: Definition-auto-update broken on WP CLI.566 567 = 9.2 =568 * Branding update.569 * Bugfix: Definition-auto-update broken on WP CLI.570 571 = 9.1 =572 * UI bugfixes.573 574 = 9.0 =575 * Minor bugfixes.576 * Added support button to report plugin issues.577 578 = 8.9 =579 * Minor bugfixes.580 581 = 8.8 =582 * Bugfix: Regression slowing down the scan.583 584 = 8.7 =585 * Option to disable automatic-definition updates.586 * Theme checksums from the API.587 588 = 8.6 =589 * Bugfix: Suspicious files not reported sometimes.590 * Updated first-run experience.591 592 = 8.5 =593 * Minor UI Updates.594 595 = 8.4 =596 * Major Bugfix: severe infections were missed sometimes.597 * Bugfix: Report accurate definition count.598 599 = 8.3 =600 * Several minor bugfixes, optimizations and code refactoring.601 602 = 8.2 =603 * Bugfix: Files in root are ignored sometimes.604 * Bugfix: Scan Only Dir not working.605 606 = 8.1 =607 * Feature: Check rougue redirects608 609 = 8.0 =610 * Added automation routines.611 612 = 7.9 =613 * Fixed a bug with capabilities.614 615 = 7.8 =616 * Added timestamp label on clean-scan notice.617 618 = 7.7 =619 * Bugfix: Manually entered search strings are not found (Advanced Version only).620 621 = 7.6 =622 * Bugfix: Fallback to default locale checksums in case checksums are not available.623 624 = 7.5 =625 * UI updates.626 * Better message for clean site status.627 628 = 7.4 =629 * Bugfix: Updated textdomain as per specs "The text domain must match the slug of the plugin".630 631 = 7.3 =632 * Added verbose license status.633 634 = 7.2 =635 * Whitelist module update.636 * Fixed missing asset throwing 404.637 638 = 7.1 =639 * UI improvements plus CSS refactorings.640 641 = 7.0 =642 * UI, Dashboard and branding updates.643 644 = 6.9 =645 * Clean, repair, whitelist, unwhitelist files.646 * Major UI improvements.647 * Real-time display of the file being scanned.648 * Updated styles to match system / browser dark-mode.649 * Major feature launch for Malcure Advanced Edition.650 651 = 6.8 =652 * Bugfix: License is not deactivated on plugin deactivation.653 * Better cleanup on uninstall / deactivation.654 * Better UI indicators for features available only in Advanced Edition.655 * Tested and removed broken functions from CLI which only have full integration in Advanced Edition.656 657 = 6.7 =658 * Fixed a warning on WP CLI.659 * Updated compatibility with version 5.4.1.660 * Admin notice experience update.661 662 = 6.6 =663 * Several performance improvements and minor bugfixes.664 665 = 6.5 =666 * Tweaked checksum validity.667 * Fixed compatibility error with wp_timezone_string on old WP installs.668 669 = 6.4 =670 * Scan-speed optimizations.671 672 = 6.3 =673 * Reuploaded due to svn issue.674 675 = 6.2 =676 * Show user role in user sessions.677 678 = 6.1 =679 * Bugfix: File repair operations throw error in error log if the operation fails.680 * Update: List malware definition / signature version visibly on the CLI as well as web-UI.681 * Several other minor updates.682 683 = 6.0 =684 * Bugfix: Show relevant notices only to relevant user-levels.685 * Bugfix: Signup prompt breaks because of $ instead of jQuery.686 * Bugfix: Title scan doesn't give reliable results.687 688 = 5.9 =689 * Fixes to time format in logs.690 * Bugfix: Dashboard widget shows for all user-roles.691 * Alternative async scan in WP CLI mode.692 693 = 5.8 =694 * Better handling of cleaned up files in scan logs.695 * Multiple UI updates to "Logs" view.696 * Bugfix: Scan status doesn't clear on clean scan.697 698 = 5.7 =699 * Feature: File clean up operations.700 * Better visibility of support options.701 702 = 5.6 =703 * Disabled paranoid mode by default.704 * Scan comments for malware-spam.705 706 = 5.5 =707 * Optimised scan for filesize.708 * Added signature reporting in WP CLI.709 * Minor bugfix in database scan.710 711 = 5.4 =712 * Bugfix: Typo in variable name.713 714 = 5.3 =715 * Feature: Malware scan logs for last 30 days.716 * Implemented help section.717 * Included links to T&C and privacy policy.718 * Better first-run experience.719 * Optimized memory usage.720 721 = 5.2 =722 * Linked results to infection details.723 * Implemented notice before navigating away from results.724 725 = 5.1 =726 * Bugfix: Scan breaks if path has non-Latin1 characters.727 * Bugfix: Force a premium checksum update on license activation.728 * Bugfix: File name and path doesn't change in file inspector.729 730 = 5.0 =731 * Bugfix: Definition check times-out.732 * UI updates.733 734 = 4.9 =735 * Fixed a bug that would break results in case of invalid response.736 737 = 4.8 =738 * Added infection details.739 * Optimized performance.740 741 = 4.7 =742 * UX Revamp from the ground up.743 744 = 4.6 =745 * Bugfix: File scan results wouldn't show up sometimes.746 747 = 4.5 =748 * Fixed: Scroll to results wouldn't work when infnection is detected.749 * Updated default no. of files per batch for faster scans.750 751 = 4.4 =752 * Bugfix: Definition update won't trigger sometimes.753 * Bugfix: Result actionable wouldn't trigger sometimes.754 * Bugfix: Plugin throws php warnings due to typo in function definition.755 756 = 4.3 =757 * Updated firewall settings.758 * Ability to reset plugin data.759 * Compatibility with version 5.3.760 761 299 == Upgrade Notice == 300 301 = 19.4 = 302 * Major Bugfix: Fatal error during auto-upgrade. 303 * Updated readme. 762 304 763 305 = 19.3 = … … 779 321 = 19.0 = 780 322 * Bugfix: Enhanced detection of suspicious empty files in core directories. 781 782 = 17.9 =783 * UI: Updated to follow repository guidelines.784 785 = 17.8 =786 * UX: Updated to work with new checksum endpoint.787 788 = 17.7 =789 * Bugfix: Fixed a bug where errors during definition update wouldn't be reported.790 * Bugfix: Fixed a bug where plugin would run out of memory during definition update.791 * Others: Refactored code.792 793 = 17.6 =794 * UI: Improved installation experience.795 * UI: Improved licensing validation.796 * Bugfix: Improved timeout during certain conditions.797 798 = 17.5 =799 * UX: Added animation for operations in progress.800 * Bugfix: Fixed timeout for certain operations.801 802 = 17.4 =803 * Feature: Major UI revamp.804 * Feature: Copy results button generated a well-formatted scan report.805 * Bugfix: Page hack scan would generate incorrect URL format.806 * Bugfix: Scan results would show all clear even when certain scans are skipped.807 808 = 17.3 =809 * Bugfix: Potential false negatives for certain default files.810 * Bugfix: Fixed formating in WP CLI commands.811 * Bugfix: Core files could be whitelisted in the UI without effect.812 813 = 17.2 =814 * Bugfix: File cleanup not working in advanced edition.815 816 = 17.1.2 =817 * Bugfix: Fixed error if checksums could not be fetched.818 819 = 17.1.1 =820 * Bugfix: Fixed error during activating from WP CLI.821 822 = 17.1 =823 * Security: Strongly recommend all users update to version 17.1 immediately.824 * Security: Fixes CSRF and broken access control vulnerabilities.825 826 = 16.9 =827 * Security: Critical security update. Fixes CSRF and broken access control vulnerabilities in AJAX endpoints. All users should update immediately. Credit: Darius Sveikauskas, author oversight.828 829 = 16.8 =830 * Bugfix: Admin Notice not clearing after cleanup.831 832 = 16.7 =833 * Bugfix: More accurate memory handling.834 * Bugfix: Better handling of database exclusions.835 836 = 16.6 =837 * Bugfix: Page hack test would throw an error under certain conditions.838 * Bugfix: Database scan output had an anomaly.839 * Others: Removed donation links.840 841 = 16.5 =842 * Minor: UI Update.843 * Bugfix: Added license link for easy access.844 845 = 16.4 =846 * Bugfix: Fixed database query to scan options.847 848 = 16.3 =849 * Bugfix: Fixed UI not reflecting infection when infection detected in database.850 * Bugfix: Fixed infection detected in database being missed in certain conditions.851 852 = 16.2 =853 * Bugfix: In certain conditions, suspicious files inside WP core directories would not show up on rescan.854 * Bugfux: Not all sessions of the current user were terminated.855 856 = 16.1 =857 * Feature: Add logging for theme deletion and plugin deletion.858 * Compatibility: Works with Multisite Newtwork.859 * Minor: Updated capturing URL of failed logins.860 * Minor: Better logging for checksum fetching failures.861 * Minor: Other UI updates.862 863 = 16.0 =864 * Bugfix: Scanner Page could break on large sites.865 * Minor: Other code refactoring and optimizations.866 867 = 15.9 =868 * Feature: Activation via WP CLI asks for license key so that it doesn't show in the shell history.869 * Feature: Capture IP for events automatically.870 * Bugfix: Metabox not showing sometimes.871 * Minor: Show plugin version when in WP CLI.872 * Minor: UI improvements.873 874 = 15.8 =875 * Feature: Faster Database Scans.876 * Bugfix: Fixed shuffle_salts function.877 * Bugfix: Fixed destroy_sessions function.878 * Minor: Limited event log to 10,000 entries.879 * Minor: More details for upgrade event in event log.880 * Minor: Added serial number to the event log.881 * Minor: Updated screenshots.882 883 = 15.7 =884 * Bugfix: Fixed issues with hidden meta-boxes.885 * Bugfix: Fixed styling / sorting of Event Log.886 887 = 15.6 =888 * Feature: Comprehensive Event Log.889 * Bugfix: Fixed issues with missing meta-boxes.890 891 = 15.5 =892 * Bugfix: Fixed issues with missing PHP function.893 * Bugfix: Session buttons were not working.894 * UX: Updated UX to sit better with branding.895 * UX: Better UX with license management.896 897 = 15.4 =898 * Bugfix: Some paths were not queued for scan.899 900 = 15.3 =901 * Feature: Windows / Server / IIS compatible.902 * Bugfix: Malware not reported when using WP CLI.903 * Others: Various other refactorings.904 905 = 15.2 =906 * Bugfix: Redirect Hack Test is more robust.907 * Bugfix: Scanning single file using WP CLI wasn't working.908 * Better documentation for WP CLI usage.909 910 = 15.1 =911 * Bugfix: Database scan breks on strict hosts.912 913 = 15.0 =914 * Major: Scan database using batch processing.915 * Ability to scan slow and large databases.916 * Bugfix: Attempt to validate malware patterns.917 * Bugfix: Checking site redirects throws warning under certain conditions.918 919 = 14.3 =920 * Changed default UI to dark skin.921 * Added file blacklist.922 923 = 14.2 =924 * Updated logging.925 * Made redirect scan optional.926 * Other minor UI updates.927 928 = 14.1 =929 * Updated to exclude database records of a few security plugins.930 931 = 14.0 =932 * Bugfix: Incorrect activations displayed in Malcure Advanced Edition.933 934 = 13.9 =935 * Feature: Consistent UI.936 937 = 13.8 =938 * Feature: Allow clearing logs (Advanced Edition).939 * Bugfix: Reset via WP CLI would fail.940 * Several UI Updates.941 * Several UX Updates.942 * Updated WP CLI Help / Documentation.943 944 = 13.7 =945 * Bugfix: File Inspector doesn't reset when inspecting a new file.946 * Bugfix: Unreadable files are not reported.947 * Bugfix: Infection count is not copied in Advanced Edition.948 949 = 13.6 =950 * Minor Bugfix: Some hosts deny access to certain files.951 * Minor Bugfix: Sometimes WP CLI scan times out.952 * Minor Bugfix: Consolidated file validation calls.953 * Major Update: Retired HTTP based scan via WP CLI.954 955 = 13.5.1 =956 * Minor Bugfix: Audio notifications not working by default.957 958 = 13.5 =959 * Feature: Audio notifications on scan completion.960 * Bugfix: Better locale detection.961 962 = 13.4 =963 * Minor UI Update.964 * Tweak to reduce load on API Server.965 966 = 13.3 =967 * Bugfix: Fully compatible with PHP 8.2.968 * Bugfix: Fixed timeout issues. Our server is slow and we are working to expand our infrastructure and costs.969 * Feature: Verbose details when copying results (Advanced Edition).970 971 = 13.2 =972 * Bugfix: Some ajax actions throw PHP warnings.973 974 = 13.1 =975 * Bugfix: Aggregate Scan-speed and start-time broken on second iteration.976 977 = 13.0 =978 * UX: Mouse-wheel event to update the scan speed slider.979 * UX: Updated the default scan speed to 11.980 * UX: Realistic time remaining on second iteration.981 982 = 12.9 =983 * Bugfix: File incorrectly being reported as a file inside core direrctories.984 985 = 12.8 =986 * Bugfix: Notification doesn't show correct message in some cases.987 988 = 12.7 =989 * Major UX improvements.990 * Feature: Better notification system.991 * Feature: Salt Shuffler.992 993 = 12.6 =994 * Feature: Added ability to save scan-log to a file when used with WP-CLI.995 996 = 12.5 =997 * Bugfix: Fixed formatting of copied results.998 * Bugfix: Fixed js error when trying to repair a file.999 1000 = 12.4 =1001 * Bugfix: Error thrown when repairing a file.1002 * Bugfix: UI not reflecting the updated version of signatures.1003 * Bugfix: Better file filtering when website is installed in a custom directory.1004 * Bugfix: Better verbosity in WP CLI.1005 * Feature: Major revamp in CLI functions.1006 * Feature: Major revamp in CLI function documentation.1007 1008 = 12.3 =1009 * Bugfix: Better support for symlinks on some web-hosts.1010 * Bugfix: Minor performance optimisations.1011 1012 = 12.2 =1013 * Bugfix: Better support for symlinks.1014 * Bugfix: Results do not reset on rescan.1015 1016 = 12.1 =1017 * Bugfix: Emergency Release. Missing function hrtime in PHP 5.6 breaks the plugin.1018 1019 = 12.0 =1020 * Bugfix: Definition updates not available when automating with WP CLI.1021 * Feature: Ability to force reset in unattended mode with WP CLI1022 * Bugfix: Inconsistency with get_home_path and ABSPATH.1023 * Feature: Report timings during scan.1024 * Feature: Report when website is installed in a custom directory.1025 * Feature: Many UX improvements.1026 * Feature: Many code optimisations / refactoring, ability to traverse into softlinks.1027 1028 = 11.9 =1029 * Bugfix: Scan failure reported as suspicious.1030 * Bugfix: Core file not reported if suspicious.1031 * Bugfix: Mismatching of version.php.1032 * Feature: Reset plugin settings via CLI.1033 * Feature: Other CLI improvements.1034 1035 = 11.8 =1036 * Feature: Massive speed optimizations.1037 * Feature: Switched to more secure hash.1038 1039 = 11.7 =1040 * Bugfix: Invalid suspicious incident count.1041 1042 = 11.6 =1043 * New Feature: Infection Count.1044 1045 = 11.5 =1046 * Bugfix: User not alerted by out of date definitions under certain conditions.1047 1048 = 11.4 =1049 * Bugfix: User not alerted by out of date definitions.1050 1051 = 11.3 =1052 * Better UX with CLI.1053 * Output detailed setup information during scan via CLI.1054 * Output customer info on license page.1055 1056 = 11.2 =1057 * Bugfix: Definition Update Available notice doesn't get removed after updating definitions.1058 * Bugfix: Incorrect reflection of meta_id as post_id in database scan results.1059 1060 = 11.1 =1061 * Enhancement: Report max_execution_time, memory_limit and memory_usage on WP CLI.1062 * UX: User-sessions-list takes up huge amount of vertical space on multi-user sites. Shifted it down.1063 1064 = 11.0 =1065 * Bugfix: Visibly display message if site is experience an HTTP error.1066 1067 = 10.9 =1068 * Bugfix: CLI scan dies after the default apache timeout on mod_php.1069 * Bugfix: Prioritised core files.1070 1071 = 10.8 =1072 * Bugfix: CLI scan dies after the default apache timeout on mod_php.1073 * Bugfix: Fixed an error if PHP DOM extension php-xml is missing.1074 1075 = 10.7 =1076 * Feature: Skin changer to configure UI for long working hours.1077 1078 = 10.6 =1079 * Bugfix: Scan fails to initialize on large databases or huge number of files.1080 * Bugfix: CLI fails to clear infection status.1081 * Feature: Several other UI updates.1082 * Others: Code refactoring.1083 1084 = 10.5 =1085 * Feature: UI updates.1086 * Feature: Disabled skipping binary files.1087 * Bugfix: Several minor bugfixes.1088 1089 = 10.4 =1090 * Feature: Major UI overhaul.1091 * Feature: Added DeepScan™ & SpeedScan.1092 * Bugfix: Warning thrown when optimising checksums.1093 * Bugfix: Fixed the Copy button copying invalid file format to clipboard.1094 * Bugfix: Several scan optimisations.1095 1096 = 10.3 =1097 * Bugfix: Prevent third-party metaboxes from polluting the UI.1098 1099 = 10.2 =1100 * Major Bugfix: Prevent engine stats error / delays from hanging the UI.1101 1102 = 10.1 =1103 * Feature: WP-CLI progressbar shows the file being scanned.1104 * Bugfix: WP-CLI colors remain affected if infection is detected.1105 * Bugfix: De-duplication of scan when batch size is 1.1106 1107 = 10.0 =1108 * Bugfix: Advanced version throws error when running via WP-CLI1109 1110 = 9.9 =1111 * Bugfix: Cannot activate license from commandline.1112 * Bugfix: WP CLI scan timesout in certain conditions.1113 * Bugfix: WP CLI scan throws fatal error in certain conditions.1114 * Several UI fixes.1115 1116 = 9.8 =1117 * Bugfix: Logs generating PHP warnings.1118 1119 = 9.7 =1120 * Added error control operator to suppress errors if allow_url_fopen is not available.1121 1122 = 9.6 =1123 * Updated readme documentation.1124 1125 = 9.5 =1126 * Minor UI Fixes1127 1128 = 9.4 =1129 * Improvement: License activation shouldn't accept empty key.1130 1131 = 9.3 =1132 * Recommit due to previous commit failure..1133 * Branding update.1134 * Bugfix: Definition-auto-update broken on WP CLI.1135 1136 = 9.2 =1137 * Branding update.1138 * Bugfix: Definition-auto-update broken on WP CLI.1139 1140 = 9.1 =1141 * UI bugfixes.1142 1143 = 9.0 =1144 * Minor bugfixes.1145 * Added support button to report plugin issues.1146 1147 = 8.9 =1148 * Minor bugfixes.1149 1150 = 8.8 =1151 * Bugfix: Regression slowing down the scan.1152 1153 = 8.7 =1154 * Option to disable automatic-definition updates.1155 * Theme checksums from the API.1156 1157 = 8.6 =1158 * Bugfix: Suspicious files not reported sometimes.1159 * Updated first-run experience.1160 1161 = 8.5 =1162 * Minor UI Updates.1163 1164 = 8.4 =1165 * Major Bugfix: severe infections were missed sometimes.1166 * Bugfix: Report accurate definition count.1167 1168 = 8.3 =1169 * Several minor bugfixes, optimizations and code refactoring.1170 1171 = 8.2 =1172 * Bugfix: Files in root are ignored sometimes.1173 * Bugfix: Scan Only Dir not working.1174 1175 = 8.1 =1176 * Feature: Check rougue redirects1177 1178 = 8.0 =1179 * Added automation routines.1180 1181 = 7.9 =1182 * Fixed a bug with capabilities.1183 1184 = 7.8 =1185 * Added timestamp label on clean-scan notice.1186 1187 = 7.7 =1188 * Bugfix: Manually entered search strings are not found (Advanced Version only).1189 1190 = 7.6 =1191 * Bugfix: Fallback to default locale checksums in case checksums are not available.1192 1193 = 7.5 =1194 * UI updates.1195 * Better message for clean site status.1196 1197 = 7.4 =1198 * Bugfix: Updated textdomain as per specs "The text domain must match the slug of the plugin".1199 1200 = 7.3 =1201 * Added verbose license status.1202 1203 = 7.2 =1204 * Whitelist module update.1205 * Fixed missing asset throwing 404.1206 1207 = 7.1 =1208 * UI improvements plus CSS refactorings.1209 1210 = 7.0 =1211 * UI, Dashboard and branding updates.1212 1213 = 6.9 =1214 * Clean, repair, whitelist, unwhitelist files.1215 * Major UI improvements.1216 * Real-time display of the file being scanned.1217 * Updated styles to match system / browser dark-mode.1218 * Major feature launch for Malcure Advanced Edition.1219 1220 = 6.8 =1221 * Bugfix: License is not deactivated on plugin deactivation.1222 * Better cleanup on uninstall / deactivation.1223 * Better UI indicators for features available only in Advanced Edition.1224 * Tested and removed broken functions from CLI which only have full integration in Advanced Edition.1225 1226 = 6.7 =1227 * Fixed a warning on WP CLI.1228 * Updated compatibility with version 5.4.1.1229 * Admin notice experience update.1230 1231 = 6.6 =1232 * Several performance improvements and minor bugfixes.1233 1234 = 6.5 =1235 * Tweaked checksum validity.1236 * Fixed compatibility error with wp_timezone_string on old WP installs.1237 1238 = 6.4 =1239 * Scan-speed optimizations.1240 1241 = 6.3 =1242 * Reuploaded due to svn issue.1243 1244 = 6.2 =1245 * Show user role in user sessions.1246 1247 = 6.1 =1248 * Bugfix: File repair operations throw error in error log if the operation fails.1249 * Update: List malware definition / signature version visibly on the CLI as well as web-UI.1250 * Several other minor updates.1251 1252 = 6.0 =1253 * Bugfix: Show relevant notices only to relevant user-levels.1254 * Bugfix: Signup prompt breaks because of $ instead of jQuery.1255 * Bugfix: Title scan doesn't give reliable results.1256 1257 = 5.9 =1258 * Fixes to time format in logs.1259 * Bugfix: Dashboard widget shows for all user-roles.1260 * Alternative async scan in WP CLI mode.1261 1262 = 5.8 =1263 * Better handling of cleaned up files in scan logs.1264 * Multiple UI updates to "Logs" view.1265 * Bugfix: Scan status doesn't clear on clean scan.1266 1267 = 5.7 =1268 * Feature: File clean up operations.1269 * Better visibility of support options.1270 1271 = 5.6 =1272 * Disabled paranoid mode by default.1273 * Scan comments for malware-spam.1274 1275 = 5.5 =1276 * Optimised scan for filesize.1277 * Added signature reporting in WP CLI.1278 * Minor bugfix in database scan.1279 1280 = 5.4 =1281 * Bugfix: Typo in variable name.1282 1283 = 5.3 =1284 * Feature: Malware scan logs for last 30 days.1285 * Implemented help section.1286 * Included links to T&C and privacy policy.1287 * Better first-run experience.1288 * Optimized memory usage.1289 1290 = 5.2 =1291 * Linked results to infection details.1292 * Implemented notice before navigating away from results.1293 1294 = 5.1 =1295 * Bugfix: Scan breaks if path has non-Latin1 characters.1296 * Bugfix: Force a premium checksum update on license activation.1297 * Bugfix: File name and path doesn't change in file inspector.1298 1299 = 5.0 =1300 * Bugfix: Definition check times-out.1301 * UI updates.1302 1303 = 4.9 =1304 * Fixed a bug that would break results in case of invalid response.1305 1306 = 4.8 =1307 * Added infection details.1308 * Optimized performance.1309 1310 = 4.7 =1311 * UX Revamp from the ground up.1312 1313 = 4.6 =1314 * Bugfix: File scan results wouldn't show up sometimes.1315 1316 = 4.5 =1317 * Fixed: Scroll to results wouldn't work when infnection is detected.1318 * Updated default no. of files per batch for faster scans.1319 1320 = 4.4 =1321 * Bugfix: Definition update won't trigger sometimes.1322 * Bugfix: Result actionable wouldn't trigger sometimes.1323 * Bugfix: Plugin throws php warnings due to typo in function definition.1324 1325 = 4.3 =1326 * Updated firewall settings.1327 * Ability to reset plugin data.1328 * Compatibility with version 5.3. -
wp-malware-removal/trunk/traits/wpmr_client_js.php
r3429433 r3430895 291 291 292 292 function handle_whitelist_labels($) { 293 whitelist = $('#whitelist [data-file]'); 293 // Only consider rendered whitelist entry rows, not incidental elements. 294 var whitelist = $('#whitelist p[data-file-wrap]'); 294 295 if (whitelist.length) { 295 296 $('#whitelist-present-placeholder').show(); … … 303 304 304 305 function handle_db_whitelist_labels($) { 305 whitelist = $('#db_whitelist [data-table][data-id]'); 306 // Only consider rendered DB whitelist entry rows, not incidental elements. 307 var whitelist = $('#db_whitelist p[data-db-wrap]'); 306 308 if (whitelist.length) { 307 309 $('#db-whitelist-present-placeholder').show(); … … 1491 1493 } 1492 1494 1495 // DB whitelist lines 1496 function dbWhitelistLines() { 1497 var wrap = root.querySelector('#db_whitelist'); 1498 if (!wrap) { 1499 return []; 1500 } 1501 // Preferred: explicit whitelist row wrappers. 1502 var rows = wrap.querySelectorAll('p[data-db-wrap]'); 1503 if (rows.length) { 1504 var arr = []; 1505 for (var i=0; i<rows.length; i++) { 1506 var s = textFrom(rows[i]); 1507 if (s) { 1508 arr.push(s); 1509 } 1510 } 1511 return arr; 1512 } 1513 // Fallback: best-effort capture, but ignore empty-state placeholders. 1514 var t = textFrom(wrap); 1515 if (!t) { 1516 return []; 1517 } 1518 return t 1519 .split(/\s*\n+\s*/) 1520 .map(function (s) { return (s || '').trim(); }) 1521 .filter(function (s) { 1522 if (!s) { return false; } 1523 if (/^No database records whitelisted\.?$/i.test(s)) { return false; } 1524 if (/^The following whitelisted database records will not be scanned/i.test(s)) { return false; } 1525 return true; 1526 }); 1527 } 1528 1493 1529 // Whitelist lines 1494 1530 function whitelistLines() { … … 1508 1544 return arr; 1509 1545 } 1546 // Fallback: support legacy markup, but ignore empty-state placeholders. 1547 var rows = wrap.querySelectorAll('p[data-file-wrap]'); 1548 if (rows.length) { 1549 var out = []; 1550 for (var j=0; j<rows.length; j++) { 1551 var s = textFrom(rows[j]); 1552 if (s) { 1553 out.push(s); 1554 } 1555 } 1556 return out; 1557 } 1510 1558 var t = textFrom(wrap); 1511 if (t) { 1512 return t.split(/\s*\n+\s*/).filter(Boolean); 1513 } else { 1559 if (!t) { 1514 1560 return []; 1515 1561 } 1562 return t 1563 .split(/\s*\n+\s*/) 1564 .map(function (s) { return (s || '').trim(); }) 1565 .filter(function (s) { 1566 if (!s) { return false; } 1567 if (/^No files whitelisted\.?$/i.test(s)) { return false; } 1568 if (/^The following whitelisted files will not be scanned/i.test(s)) { return false; } 1569 return true; 1570 }); 1516 1571 } 1517 1572 … … 1544 1599 } else { 1545 1600 out += 'Nothing Detected.\n\n'; 1601 } 1602 1603 out += '— Whitelisted Database Records —\n'; 1604 var dbwl = (typeof dbWhitelistLines === 'function') ? dbWhitelistLines() : []; 1605 if (dbwl.length) { 1606 out += '\t' + dbwl.join('\n\t') + '\n\n'; 1607 } else { 1608 out += 'No database records whitelisted.\n\n'; 1546 1609 } 1547 1610 -
wp-malware-removal/trunk/traits/wpmr_stateful_scanner.php
r3429433 r3430895 224 224 $this->table_events = $GLOBALS['wpdb']->prefix . WPMR_EVENTS; 225 225 226 //add_action( 'admin_menu', array( $this, 'add_stateful_scanner_menu' ) );226 add_action( 'admin_menu', array( $this, 'add_stateful_scanner_menu' ) ); 227 227 228 228 add_action( 'wp_ajax_nopriv_scanner_ajax_dispatcher', array( $this, 'user_ajax_dispatcher' ) ); … … 246 246 // Allows internal and third-party activation tasks (including DB install) to run. 247 247 add_action( 'wpmr_plugin_activation', array( $this, 'upgrade_tables' ) ); 248 add_action( 'plugins_loaded', array( $this, 'upgrade_tables' ) ); 248 // Do NOT run schema upgrades during early bootstrap or updater verification requests. 249 // Instead, defer to safer contexts. 250 add_action( 'plugins_loaded', array( $this, 'maybe_schedule_tables_upgrade' ) ); 251 add_action( 'admin_init', array( $this, 'maybe_run_tables_upgrade_admin' ) ); 252 add_action( 'wpmr_run_schema_upgrade', array( $this, 'upgrade_tables' ) ); 249 253 // If this initializer runs after `plugins_loaded` already fired, the hook above will not 250 // run for this request. In that case, upgrade immediately to ensure tables exist.254 // run for this request. In that case, evaluate and schedule (but do not run heavy work). 251 255 if ( did_action( 'plugins_loaded' ) && ! doing_action( 'plugins_loaded' ) ) { 252 $this-> upgrade_tables();256 $this->maybe_schedule_tables_upgrade(); 253 257 } 254 258 … … 4456 4460 * @return void 4457 4461 */ 4458 function upgrade_tables() { 4462 function upgrade_tables( $source = '' ) { 4463 // WordPress auto-updater performs a post-update "scrape" request to verify the site loads. 4464 // Any fatal during that request triggers an automatic rollback. Never run `dbDelta()` here. 4465 if ( $this->is_wp_updater_scrape_request() ) { 4466 return; 4467 } 4468 4469 $source = is_string( $source ) ? $source : ''; 4470 if ( '' === $source ) { 4471 if ( defined( 'WP_CLI' ) && WP_CLI ) { 4472 $source = 'wp_cli'; 4473 } elseif ( defined( 'DOING_CRON' ) && DOING_CRON ) { 4474 $source = 'cron'; 4475 } elseif ( is_admin() ) { 4476 $source = 'admin'; 4477 } else { 4478 $source = 'unknown'; 4479 } 4480 } 4481 4459 4482 $db_version = $this->get_setting( 'wpmr_db_version' ); 4460 4483 … … 4468 4491 $this->db_install(); 4469 4492 } 4493 4494 // Record successful schema upgrade attempt for diagnostics/verification. 4495 $this->update_setting( 4496 'wpmr_schema_upgrade_last_run', 4497 array( 4498 'time' => function_exists( 'current_time' ) ? current_time( 'mysql' ) : gmdate( 'Y-m-d H:i:s' ), 4499 'source' => $source, 4500 'is_admin' => is_admin(), 4501 'doing_ajax' => function_exists( 'wp_doing_ajax' ) ? wp_doing_ajax() : false, 4502 ) 4503 ); 4504 } 4505 4506 /** 4507 * Check whether DB tables need upgrading and schedule the upgrade in a safe context. 4508 * 4509 * This is intentionally light-weight and safe to run on `plugins_loaded`. 4510 * 4511 * @return void 4512 */ 4513 public function maybe_schedule_tables_upgrade() { 4514 if ( $this->is_wp_updater_scrape_request() ) { 4515 return; 4516 } 4517 4518 // WP-CLI is a safe context to run upgrades immediately. 4519 if ( defined( 'WP_CLI' ) && WP_CLI ) { 4520 $this->upgrade_tables( 'wp_cli' ); 4521 return; 4522 } 4523 4524 $db_version = $this->get_setting( 'wpmr_db_version' ); 4525 $plugin = $this->get_plugin_data( WPMR_PLUGIN, false, false ); 4526 $version = ( ! empty( $plugin['Version'] ) ) ? $plugin['Version'] : ''; 4527 4528 if ( empty( $version ) ) { 4529 return; 4530 } 4531 4532 if ( ! $db_version || version_compare( $db_version, $version, '<>' ) ) { 4533 // Avoid heavy schema work on frontend. Schedule a single upgrade run. 4534 if ( ! is_admin() ) { 4535 $this->schedule_tables_upgrade_event(); 4536 } 4537 } 4538 } 4539 4540 /** 4541 * Run table upgrades in wp-admin for privileged users. 4542 * 4543 * @return void 4544 */ 4545 public function maybe_run_tables_upgrade_admin() { 4546 if ( $this->is_wp_updater_scrape_request() ) { 4547 return; 4548 } 4549 if ( ! is_admin() ) { 4550 return; 4551 } 4552 if ( function_exists( 'wp_doing_ajax' ) && wp_doing_ajax() ) { 4553 return; 4554 } 4555 if ( ! current_user_can( 'manage_options' ) ) { 4556 return; 4557 } 4558 4559 $this->upgrade_tables( 'admin_init' ); 4560 } 4561 4562 /** 4563 * Determine whether the current request is the WordPress updater verification "scrape". 4564 * 4565 * @return bool 4566 */ 4567 private function is_wp_updater_scrape_request() { 4568 // Updater scrape requests typically include these markers. 4569 return isset( $_GET['wp_scrape_key'] ) || isset( $_GET['wp_scrape_nonce'] ); 4570 } 4571 4572 /** 4573 * Schedule a one-off schema upgrade event. 4574 * 4575 * @return void 4576 */ 4577 private function schedule_tables_upgrade_event() { 4578 if ( ! function_exists( 'wp_next_scheduled' ) || ! function_exists( 'wp_schedule_single_event' ) ) { 4579 return; 4580 } 4581 if ( wp_next_scheduled( 'wpmr_run_schema_upgrade' ) ) { 4582 return; 4583 } 4584 4585 $this->update_setting( 4586 'wpmr_schema_upgrade_last_scheduled', 4587 array( 4588 'time' => function_exists( 'current_time' ) ? current_time( 'mysql' ) : gmdate( 'Y-m-d H:i:s' ), 4589 'eta' => function_exists( 'current_time' ) ? gmdate( 'Y-m-d H:i:s', time() + 60 ) : gmdate( 'Y-m-d H:i:s', time() + 60 ), 4590 'delay' => 60, 4591 ) 4592 ); 4593 4594 wp_schedule_single_event( time() + 60, 'wpmr_run_schema_upgrade' ); 4470 4595 } 4471 4596 -
wp-malware-removal/trunk/wpmr.php
r3429433 r3430895 11 11 * Plugin Name: Malcure Malware Scanner — Precision Virus Removal and Firewall 12 12 * Description: Ultra-precision, comprehensive malware scanner and security hardening to protect your site and find viruses, infections & other security threats & vulnerabilities. Detects over 50,000+ security threats & vulnerabilities. Do not forget to report bugs and share your reviews. 13 * Version: 19. 313 * Version: 19.4 14 14 * Author: Malcure 15 15 * Author URI: https://malcure.com … … 71 71 if ( defined( 'WP_CLI' ) && WP_CLI && file_exists( WPMR_PLUGIN_DIR . 'non-versioned/tools/cli.php' ) ) { 72 72 require_once WPMR_PLUGIN_DIR . 'non-versioned/tools/cli.php'; 73 } 74 75 if ( file_exists( WPMR_PLUGIN_DIR . 'non-versioned/tools/update-test-injector.php' ) ) { 76 require_once WPMR_PLUGIN_DIR . 'non-versioned/tools/update-test-injector.php'; 73 77 } 74 78
Note: See TracChangeset
for help on using the changeset viewer.