| 开发者 | guramzhgamadze |
|---|---|
| 更新时间 | 2026年7月21日 00:54 |
| PHP版本: | 8.0 及以上 |
| WordPress版本: | 7.0 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
http:// references to your own site (including www/non-www variants and JSON-escaped URLs), plus common src, href, action, og:image, url() and srcset patterns, are rewritten to https:// just before the page is sent to the browser. Feeds, sitemaps and JSON responses are left untouched. An optional fixer for the WordPress admin is available too.
Certificate monitoring
The dashboard shows the certificate issuer, expiry date, and whether it covers your domain (wildcards included). When SSL is active and the certificate is about to expire (or already has), administrators see a warning.
HTTP Strict Transport Security (HSTS) — opt-in
Once your site runs reliably on https, you can send the Strict-Transport-Security header. Max-age starts at one day for safe testing; the preload-eligible configuration (1 year + includeSubDomains) requires explicit opt-in, because it is hard to undo.
Security hardening — XSS, CSRF, and injection defense in depth (all opt-in)
X-Content-Type-Options: nosniff, X-Frame-Options (clickjacking), Referrer-Policy (keeps tokens out of cross-site referrers), a conservative Permissions-Policy, and CSP upgrade-insecure-requests. Every header stands down automatically if another plugin already sends it.SameSite=Lax attribute, so CSRF protection no longer depends on browser defaults — a second layer next to WordPress nonces.DISALLOW_FILE_EDIT), block PHP execution in the uploads directory (an uploaded webshell becomes a dead file), deny web access to sensitive files (logs, database dumps, backup copies, wp-config variants), disable directory listings, disable XML-RPC and pingbacks, and hide the WordPress version and PHP X-Powered-By header..css to an account page). This plugin marks logged-in pages and authenticated REST responses as Cache-Control: no-store, private, and refuses to let a dynamic response be cached under a static-looking URL — the origin-side defense recommended by OWASP and PortSwigger.
Honest scope: these features reduce attack surface and blunt common exploit paths. They are defense in depth — they cannot fix an injection, XSS or XXE vulnerability inside another plugin's or theme's code, and no plugin can. Server-side injection (SQL/NoSQL), XML external entity (XXE) and web LLM/prompt-injection flaws are fixed in the application code that has the bug; keep WordPress, plugins and themes updated, and use security headers here as a second layer.
Locked out? Built-in emergency recovery
If anything goes wrong, add one line to wp-config.php:
define( 'ZENSS_DISABLE_SSL', true );
On the next visit the plugin reverts your site to http, disables the redirect, and removes its .htaccess rules.
No. Your hosting provider installs the certificate (most offer free Let's Encrypt certificates in their control panel). This plugin detects the certificate, migrates WordPress to https, and keeps the site redirected and mixed-content free.
The plugin removes its .htaccess rules, and the PHP redirect stops. Your site URLs stay on https on purpose — deactivating a plugin should never push a working https site back to http. Use "Revert site to HTTP" on the settings page first if you really want to go back.
Add define( 'ZENSS_DISABLE_SSL', true ); to wp-config.php via FTP or your hosting file manager. The plugin reverts everything on the next request. Remove the line once your certificate is fixed.
Yes. The .htaccess rules skip requests that already arrive with X-Forwarded-Proto: https, preventing redirect loops. If your proxy terminates SSL and WordPress does not detect it, your proxy setup needs the standard HTTP_X_FORWARDED_PROTO handling in wp-config.php.
No plugin can patch vulnerable code in another plugin — be wary of any that claims to. What this plugin does is defense in depth: security headers that make XSS harder to exploit, SameSite cookies that blunt CSRF, and attack-surface reduction (no file editors, no PHP execution in uploads, no XML-RPC) that turns many injection exploit paths into dead ends. Keeping WordPress, plugins and themes updated remains essential.
Version 1.x targets single-site installs. Multisite support is planned.
Yes — they are designed as a pair that fills each other's gaps. Zen Login & Authentication covers identity and login security; this plugin covers transport and platform security. When both are active, overlapping controls (like XML-RPC) are owned by exactly one of them, and site-wide security headers automatically stand down on pages where the sibling already sends them. Each plugin also works fine on its own.
script-src 'nonce-…' 'strict-dynamic'. Report-Only by default with a violations panel; a separate front-end-only "Enforce" toggle.Header always set, so PHP-rendered pages are never double-headed; removed cleanly on deactivation.