| 开发者 | solotop |
|---|---|
| 更新时间 | 2026年9月9日 19:19 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
mu-plugins, drop-ins, the active theme/plugins, and uploads; never loads the whole file tree into RAM at once.OFFSET) over options/posts/postmeta; only flags a row when it decodes into an actually executable PHP/JS token, skipping image data URIs..htaccess/.user.ini rules that map media extensions to PHP, auto_prepend_file, file/directory permissions, weak salts/keys, unusual cron entries.system.multicall, security headers (HSTS/X-Frame-Options/CSP Report-Only), controlled auto-updates (low-traffic time window, skips VCS-managed sites, health-check after updating).blog_id, scanning each site's own uploads folder and tables.wp/v2/users REST routes stop being served and ?author=<id> links redirect to the home page. This is a deliberate part of the login-hardening layer, but it is a change to an API this plugin does not own — a headless front end, a mobile app or a third-party integration that reads the public user list will see it disappear. Turn it off under Hardening if something depends on it. (rc-47)wp smeplan-ss scan run exits 75 when a scan is already running. 75 is EX_TEMPFAIL — "temporary failure, try again" — rather than 0, so a wrapper running under set -e will treat a busy lock as a failed command. Handle 75 explicitly if you schedule the command that way. (rc-49)__(), ready for translators via translate.wordpress.org — no translation is bundled with the plugin itself).wp-content/plugins/ or install it through the Plugins screen.No. Files at the "malicious" level are moved into quarantine (wp-content/uploads/smeplan-security-shield/quarantine/) rather than deleted, and can be rolled back with 1 click. Files at the "suspicious" level are only recorded, waiting for manual review on the Findings page.
Quarantined files are kept for a limited time: once a session is older than the retention period set under Policies (14 days by default), it is removed automatically to stop the quarantine folder growing without bound. Roll back anything you want to keep before that window closes, or raise the retention setting.
Deleting the plugin removes every option it created, its scheduled events, and the three custom capabilities it grants. It deliberately does not remove its storage folder at wp-content/uploads/smeplan-security-shield/, which holds the quarantine, the file baseline, the event log and any component backups.
This is a deliberate choice, not an oversight. Quarantined files are moved, not copied — the folder holds the only remaining copy of anything the plugin took out of the site. Deleting a plugin is easy to do in the middle of handling an incident, or by someone who is not the person investigating, and having that click silently destroy both the only rollback path and the only forensic evidence would be the wrong default for a security plugin. Reinstalling brings the previous quarantine and logs straight back.
To remove it, delete that folder yourself over SFTP or your host's file manager once you are sure nothing in it is still needed. Read the caution first: the quarantine/ subfolder can contain live malicious files that were pulled off the site. Delete them, do not move them back into place.
No. Every finding in the database or in configuration files (.htaccess/.user.ini) is only reported, never auto-fixed, to avoid breaking a site's legitimate functionality.
No. It never supplies its own update source: there is no bundled update checker, no third-party update server, no filtering of the plugin-information API, and nothing written to the transients core caches available updates in. Everything WordPress installs still comes from WordPress.org, fetched and verified by WordPress itself.
What it does offer — off by default, and only if you switch it on in Policies — is control over when an update WordPress has already found and verified gets applied. Using core's own public auto_update_core / auto_update_plugin / auto_update_theme filters, it can hold an update back until the low-traffic window you configure, skip it while the site is under load, and skip any plugin or theme directory that is under version control (updating those breaks a deploy). It only ever delays WordPress's own updates; it never substitutes them.
Since 0.7.32 it can also refuse one: a plugin or theme package is scanned while still in its temporary folder, and if a file in it matches malware detection the install is stopped before anything is written. A manual update can be allowed through once from the dashboard notice; an automatic one is refused and reported. This uses core's own upgrader_source_selection filter, changes nothing about where updates come from, and can be switched off in Policies.
Automated scanners flag any use of those filters for a human to look at, which is why this is spelled out here.
WordPress 6.1+, PHP 7.4+. Works best when WP-Cron runs normally; if the site has DISABLE_WP_CRON set or blocks loopback requests, use system cron/WP-CLI following the instructions on the Wizard page.
changelog.txt, shipped with the plugin.
0.7.35
Plugins and themes stop being taken purely on trust.
changelog.txt.