| 开发者 | eboxnet |
|---|---|
| 更新时间 | 2026年9月15日 02:46 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv3 or later |
| 版权网址: | 版权信息 |
wp_delete_file().upload-sleuth directory to /wp-content/plugins/.No. A finding means the plugin did not detect a reference in the locations it checked. Treat it as a candidate requiring review.
Quarantine moves selected files into a timestamped directory below the configured quarantine folder while preserving their original relative paths. The quarantine directory is excluded from future scans.
Yes. The Quarantined files panel lists recoverable files and restores each one to its original uploads path. Restore is blocked rather than overwriting a file that already exists there. The same panel can permanently delete selected quarantined files or all recoverable quarantined files. Downloadable backup ZIPs are not included in Delete all.
The dashboard and WP-CLI create one ZIP, verify every archived entry using its size and SHA-256 hash, and only then remove the originals. The dashboard starts an authenticated download; WP-CLI reports the protected server-side archive path.
Yes. Dry-run is an opt-in checkbox in the dashboard. WP-CLI supports --dry-run with quarantine or deletion.
Yes. Dashboard scans process database candidates in small batches. Stop finishes the current request, saves everything classified through the latest completed batch, and marks the result as partial. Unprocessed candidates are not included in partial findings.
ACF commonly stores values in post, term, user, and options metadata. Those locations are checked. Unusual custom tables can be configured explicitly.
Run wp upload-sleuth. Use wp help upload-sleuth for all options.
Use wp upload-sleuth --older-than=90 --min-size=100 to report candidates older than 90 days and at least 100 KB.
Yes. --summary-only --fail-on-findings provides a concise result and a non-zero exit when candidates exist.
No. Scanning and file operations run locally within WordPress.
Yes. The Library integrity tab checks attachment records in batches. It reports missing local originals and, separately, generated sizes that are absent while the original exists. Missing-original records can be deleted individually or all at once after confirmation; cleanup uses WordPress wp_delete_attachment() rather than direct database queries.
Sites using S3, CDN, or another media-offload plugin require special care. A valid remote attachment may intentionally have no local file, so confirm the remote object and offload configuration before deleting a reported record.
--state-file, --resume, and --clear-state.--save-report and secure dashboard import for review.upload_sleuth_* lifecycle hooks for notification integrations.upload-sleuth.--all-files now expands reporting only.uploads/upload-sleuth, added direct-access protection files, and stored quarantined files with a non-executable suffix.wp_delete_attachment() with immediate original rechecks.wp_delete_file() for standalone-file removal.