| 开发者 | joshme21 |
|---|---|
| 更新时间 | 2026年10月30日 11:43 |
| 捐献地址: | 去捐款 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 6.9.2 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
/wp-content/plugins/New installs enable a minimal enforced Content-Security-Policy: upgrade-insecure-requests on HTTPS responses. It upgrades HTTP resource URLs to HTTPS without adding script or other source restrictions. Resources unavailable over HTTPS will fail to load. You can disable it using the HTTPS resource upgrades checkbox.
Existing installations keep their previous behaviour and must opt in to HTTPS resource upgrades after updating. Advanced CSP remains disabled by default because source restrictions need website-specific configuration.
Yes, for advanced CSP. Report-Only mode reports advanced policy issues without blocking resources. The separate HTTPS resource upgrades setting remains enforced even while advanced CSP is in Report-Only mode. When advanced CSP is enforced, the baseline directive is merged into that policy.
No. A grade depends on the headers actually returned for each scanned URL and the scanner's criteria. The minimal upgrade policy does not restrict script sources or provide the XSS protection of a carefully configured CSP.
No. Detection is a compatibility aid, not a security audit. Public browser reports can be forged and are never treated as trusted approvals. The plugin may miss features not exercised, conditional requests, logged-in variations, and reports that do not arrive. Missing reports do not prove safety. Origin approvals permit more than a single file, and broad permissions in manual fields can weaken CSP. Discovery is capped at 250 source/directive pairs; reports are limited to 16 KB, 20 entries per batch, and 60 entries per client per minute. Limits can prevent complete observations. New installs use the reviewed-source workflow and disable automatic source inclusion. Existing installations keep legacy settings until an administrator explicitly starts discovery. Legacy automatic inclusion can also permit attacker-injected sources and is retained only for compatibility.
In bounded WordPress options on your own site, not in an external service unless you configure an external report endpoint. Page paths are stored without visitor query strings or fragments. Reports and source suggestions are untrusted. Removing the plugin through WordPress uninstall deletes its settings, reports, discovery, verification, and workflow backup options.
Page caches, hosting proxies, and CDNs can serve HTML without running WordPress. PHP headers cannot cover those responses. Apache rules can cover static cache files when Apache processes the plugin's generated .htaccess rules, but Nginx does not read .htaccess. Ask your host to apply security headers at the cache-serving layer and avoid duplicate headers. Purging caches alone may not solve the issue if the cache bypasses WordPress again. Auto-detected advanced CSP requires WordPress to inspect rendered HTML. It cannot detect sources in a static cache response. Emergency CSP bypass also requires a WordPress-generated response and cannot bypass policies enforced by your server or CDN.
No. HSTS should only be enabled when your site is fully available over HTTPS.
Apache may receive plain HTTP from an HTTPS-terminating proxy. The generated .htaccess rules accept either Apache HTTPS or X-Forwarded-Proto: https for these HTTPS-only headers. Configure the trusted proxy to overwrite X-Forwarded-Proto on every request, rather than passing through a client-supplied value. After updating, save the plugin settings to regenerate .htaccess, purge hosting and CDN caches, and test an HTTPS page and an HTTP request. WordPress-generated responses also depend on WordPress is_ssl() recognizing the proxy; configure that separately if the diagnostics screen reports HTTPS as No. If Nginx or a CDN serves the response without Apache, add the headers at that layer.
In Security Headers settings, uncheck "Send reports to the built-in collector" and clear any custom report-uri value, then save and purge page/hosting/CDN caches. This removes report destinations from newly served CSP policies without disabling the CSP policy itself. The collector returns HTTP 204 without storing reports while disabled. Browsers that received an older policy may continue posting for a while, and every report request that reaches WordPress still starts PHP. During a server overload, ask the host to short-circuit POST requests to /wp-json/firstpage-sg-security-headers/v1/csp-report at Nginx or its edge firewall so they do not reach PHP. Verify that normal site pages and other REST routes remain available.