| 开发者 |
themepaste
habibnote |
|---|---|
| 更新时间 | 2026年8月13日 21:36 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
wp-content directory, verifies your WordPress core files against the official checksums, detects backdoors, finds injected site scripts, flags redirect hacks, and scans your database for hidden payloads — all from your WordPress admin dashboard, with no external service, no subscription, and no scan data ever leaving your server.
Whether you're dealing with a live attack, a hidden backdoor, or a redirect hack silently sending visitors to malicious sites, Deep Malware Cleaner gives you the tools to scan, alert, and act — fast.
Finding the infected file is only half the job. Deep Malware Cleaner also surfaces the things attackers leave behind so a cleaned site stays clean: the second administrator account, the scheduled event that re-downloads the payload, and the uploads directory that will happily execute the next webshell.
Core Capabilities
Deep Cleanup Scan
Walks your entire wp-content directory, inspecting PHP files plus the client-side formats most often used to deliver malware — JavaScript, HTML, SVG, and .htaccess — for known signatures, obfuscated code, and injected payloads. Results are sorted by severity so the worst threats surface first.
Pre-Install Upload Guard
Scans plugins, themes, and risky media uploads (.php, .svg, .html, .js, .htaccess) in their temporary directory before WordPress moves them into place. If malware is detected the install or upload is aborted and an error is shown — stopping a compromised package before it ever touches your site. Can be toggled in Settings.
Database Scanner
Inspects the most-targeted database tables — options, posts, comments, and post meta — for injected scripts, hidden iframes, and encoded payloads, using keyset pagination and a time budget so it stays safe on a live site.
Core Integrity Check
Hashes every file of your WordPress installation and compares it against the official checksums published by WordPress.org, so a patched wp-login.php or a webshell hidden inside wp-includes cannot pass as a core file. Findings are split into modified, unknown, and missing.
Recently Modified Files
Lists every PHP file changed in the last 1–30 days, newest first. After a break-in the attacker's files are usually the newest ones on the site, which makes this the fastest way to spot an intrusion the signature rules have not seen before.
Admin User Audit
Reviews every administrator account for the patterns that give away an attacker-created login — added recently, an email on an unrelated domain, no display name, or a machine-generated username. Read-only: no account is ever changed or removed for you.
Cron Job Audit
Lists every WordPress scheduled event and flags the ones no active code listens for, or whose hook name looks obfuscated. If a site keeps getting reinfected after a clean-up, a hidden cron event is the usual reason.
Uploads Directory Protection
Blocks PHP execution in wp-content/uploads with one click. Nothing you upload to WordPress is ever a PHP file, so denying PHP outright turns a webshell dropped through a vulnerable plugin into a file the attacker cannot run. Reversible at any time.
Backdoor Fixer
Detects PHP backdoors uploaded through vulnerable plugins or themes — including webshells, remote-execution scripts, and hidden PHP files inside the uploads folder where no PHP should ever exist.
Site Script Cleaner
Identifies injected JavaScript and malicious <script> tags, hidden iframes, and obfuscated code blocks embedded in your theme or plugin files.
Redirect Hack Fix
Flags the PHP patterns most commonly responsible for redirect hacks — including header() injection, variable-based shell execution, and compressed payload backdoors used to silently redirect visitors to attack sites.
Threat Triage
Review every finding on the scan results screen with its full path, threat type, and severity, and dismiss anything you've confirmed is a false positive with one click. One-click Quarantine and Restore are available in Deep Malware Cleaner Pro.
Login Protection
Hardens your WordPress login against brute-force attacks and unauthorized access attempts — an essential layer of website protection alongside active scanning.
Instant Alerts
Get notified the moment a scan finds a threat. Real-time alerts keep you informed so you can respond before an attack escalates.
What the Scanner Detects
shell_exec, passthru, proc_open, popen, and system called with a variable, a classic attack pattern for remote code execution.<iframe> elements injected with display:none used to load malicious content invisibly.eval(atob(...)) payload pairs and javascript-obfuscator (_0x hex identifier) fingerprints in JS, HTML, and SVG files..php file in wp-content/uploads/ is flagged High severity; legitimate uploads are never PHP files.https://api.wordpress.org/core/checksums/1.0/ — the same public endpoint WordPress core itself uses. The request carries only your WordPress version and site locale; no file contents, scan results, or site data are transmitted. Responses are cached for 12 hours. If you never open that screen, the plugin makes no outbound requests at all.
WordPress.org's privacy policy applies to that request: https://wordpress.org/about/privacy/
No. The scanner runs only when you click Start Scan in the admin. It does not hook into page loads or run any background cron jobs. Visitor-facing performance is completely unaffected.
The scanner reads PHP-family files (.php, .php3, .php4, .php5, .php7, .phtml, .phar) plus the client-side formats most often used to deliver malware — JavaScript (.js, .mjs), HTML (.html, .htm), .svg, and .htaccess — inside your wp-content directory. To stay fast on shared hosting, it reads only the first 64 KB of each file (malware is injected at the top) and runs under a 20-second time budget per run.
Legitimate image, video, and document uploads are never .php files. If the scanner finds any PHP file inside wp-content/uploads/, it is almost certainly a backdoor uploaded through a vulnerable plugin or theme — a High severity threat that should be removed immediately.
The free plugin detects and reports threats, and lets you dismiss findings you've confirmed are false positives. Automatically moving an infected file out of harm's way — one-click Quarantine, with Restore to put it back — is available in Deep Malware Cleaner Pro. Without Pro you can still remediate manually: use the reported file path to remove or clean the file over SFTP or your host's file manager. Always review the file path and threat type before deleting anything.
Pro adds the one-click remediation engine: Quarantine safely moves an infected file to a protected, non-executable location (with a warning first if the file belongs to an active plugin or theme), and Restore puts it back if a detection turns out to be a false positive. Everything else — the file scan, database scan, pre-install upload guard, scheduled scans, email alerts, and login protection — is included in the free plugin.
Your scan results never leave your site — they are stored only in your own WordPress database. The plugin makes one external request, and only when you run the Core Integrity check: it downloads the official checksums for your WordPress version from api.wordpress.org, sending nothing but the version number and locale. If you never use that screen, no outbound request is made at all.
Every file in your WordPress installation is hashed with MD5 and compared against the official checksum list for your exact version and locale. Modified means a core file's contents no longer match the official release — the strongest single signal of a compromise. Unknown means a PHP file exists inside wp-admin or wp-includes that is not part of WordPress at all. Missing means a file in the checksums is not on disk, which some hosts cause by stripping optional files and is usually harmless.
Do not edit them by hand. Reinstall WordPress from Dashboard → Updates → Re-install now, which overwrites every core file with a clean copy and leaves your content, themes, and plugins alone. If files are still flagged afterwards, restore from a backup taken before the infection.
Not necessarily. The most common cause is an ordinary plugin that was deactivated or deleted without unscheduling its events, which leaves a hook behind that nothing listens for any more. Treat it as worth a look, not as proof. An event that is flagged both as an unknown hook and as having an obfuscated name is far more suspicious, since legitimate plugins do not name their hooks with random hex strings.
The flags describe patterns, not verdicts. An administrator you added last week is correctly flagged as a new account, and a colleague using a Gmail address is correctly flagged as an external email — both are perfectly normal. The audit's job is to make sure no administrator on the list is one you cannot account for. Nothing is ever changed or deleted automatically.
Yes, on almost every site. WordPress stores images, video, and documents in wp-content/uploads, and none of those need PHP to run. Blocking it is one of the standard hardening steps recommended for WordPress. A small number of plugins do place PHP files there and expect to execute them; if something breaks, click Remove Protection and the rules are removed cleanly, leaving any other .htaccess content in that directory untouched.
No — .htaccess files are read by Apache and LiteSpeed, and ignored entirely by Nginx. The plugin detects this and says so on the screen rather than writing rules that would never take effect. On Nginx, ask your host to deny PHP execution under wp-content/uploads in the server configuration.
Login protection limits repeated failed login attempts and helps prevent brute-force attacks against your wp-login.php endpoint — a key layer of website security that works alongside the malware scanner.
Go to Malware Cleaner → Scan Results and click the file path to view the matched pattern. The troubleshoot view shows the exact line and rule that triggered the alert, so you can decide whether it is a false positive or a real threat.
Go to Malware Cleaner → Settings, enable Remove all data on uninstall, then deactivate and delete the plugin. All database tables, scan history, and plugin options will be removed automatically.
To stay safe on resource-constrained servers, the file scan runs under a 20-second time budget and the database scan under its own 10-second budget. On a very large wp-content directory the file scan stops when the budget is reached, so a single run may not reach every file. Run the scan again to continue checking, and remediate the highest-severity findings first.
deepmacl_is_pro, deepmacl_pro_upgrade_url, deepmacl_pro_quarantine, and deepmacl_pro_restore filters so the Pro add-on can hook in.