INI Protector is a focused, no-bloat hardening plugin for WordPress. Every feature
is an independent toggle, grouped into three areas:
Security
- File integrity monitoring — hashes every code file (.php, .php5, .phtml,
.phar, .js, .htaccess, .user.ini …), keeps a baseline, and re-checks on a
schedule. Any file that is added, changed, or deleted is emailed to you (and
optionally POSTed to a webhook) before the baseline is updated, so the
evidence has already left the server even if the site itself is compromised.
Media is never hashed, but uploads, caches and backup folders are still checked
for executable files — a .php among your images has no innocent explanation and
is reported as critical. Runs from WP-Cron or from system cron via
wp inipr integrity scan.
- Two-factor authentication (TOTP) — a time-based one-time code from any
standard authenticator app, required per role. The password is verified first,
then the code, before any session cookie is issued. Recovery codes are issued
at setup, and
wp inipr 2fa reset <user> restores access from the shell.
- Disable XML-RPC, disable the theme/plugin file editor, require login for the
REST API.
- Limit login attempts (IP lockout), mask the login URL to a secret slug.
- Password-protect the whole front-end.
- Disable comments and pingbacks/trackbacks.
- Prevent user enumeration and information disclosure (directory listing,
wp-config/.htaccess/backup/log access; Apache .htaccess rules or an Nginx
snippet).
- Hardening HTTP security headers (X-Frame-Options, X-Content-Type-Options,
Referrer-Policy, Permissions-Policy).
- ALTCHA proof-of-work login captcha (self-hosted, no third-party calls).
- Traffic monitor — records incoming requests so suspicious activity is visible,
with a per-IP drill-down. Defaults to 90 days and 250,000 requests; saved limits
are preserved. Either limit can be disabled. The row cap preserves requests
inside the auto-block evaluation window, so the count can temporarily exceed it.
- Auto-block escalation — a dedicated IP Block page that surfaces the
traffic monitor's suggested blocks for one-click review (Block Suggestion
System), and an optional Auto-Block mode that blocks offending IPs
automatically on an escalating temporary schedule (1h → 4h → 8h → 5 days →
2 weeks). Never issues a permanent block automatically; an allowlist and
verified search-engine bots are always exempt; quiet IPs decay back down.
- Vulnerability scan — a daily check of your installed plugins, themes, and
WordPress core against the free WPVulnerability database (CC0, no API key).
Findings appear on a dedicated page and on the dashboard, with an optional
email alert on new findings. No data about your site is sent — only the
public slug of each component is looked up.
Head cleanup
- Remove the generator/RSD/WLW/shortlink tags, strip or mask asset version
query strings, drop front-end Dashicons.
Utilities
- Rotate asset cache token — changes the version token on every CSS and JS
URL at once, so returning visitors re-fetch them. Use it after a deploy when
a file has changed but the version it declares has not. Available from
INI Protector → Utilities and from
wp inipr asset-salt rotate, which is
where it belongs in a deploy script.
- Export / import settings — download which protections are on and how they
are configured as a JSON file, and import it on another site. Every change is
shown before it is applied, the previous settings are kept for one-click undo,
and secrets (site password, webhook secret) are left out unless you opt in.
Also
wp inipr settings export|import|undo.
SEO & privacy
- Disable feeds, disable author archives, obfuscate author slugs, and protect
email addresses from harvesting.
INI WP platform
- Exposes a read-only, HMAC-signed REST endpoint (
secwp/v1/state) so the
INI WP control panel can pull this site's security posture and scan results.
The endpoint only activates when the INI WP connector is installed and
configured; auth reuses the connector's signed channel.