Content Security Policy Manager

Plugin Banner

Content Security Policy Manager

by Patrick Sletvold

Download
Description

Content Security Policy Manager is a WordPress plugin that allows you to easily configure Content Security Policy headers for your site. You can have different CSP headers for the admin interface, the frontend for logged in users, and the frontend for regular visitors. The CSP directives can be individually enabled, and each policy can be set to enforce, report or be disabled.

Please note that this plugin offers limited help in figuring out what the contents of the policy should be. It only lets you configure the CSP in a easy to use interface.

What is a Content Security Policy?

To quote MDN:

Content Security Policy (CSP) is an added layer of security that helps to detect and mitigate certain types of attacks, including Cross Site Scripting (XSS) and data injection attacks. These attacks are used for everything from data theft to site defacement to distribution of malware.

To enable CSP, you need to configure your web server to return the Content-Security-Policy HTTP header.

How do I enable reporting?

Reporting can be enabled by setting the report-uri and/or report-to directives. You will need the URL to a server that can handle these kinds of reports, which there are several of. Report URI is one example of such a service, they have a free tier that allows up to 10 000 reports per month (any more than that is just ignored, no extra cost). They also have a CSP wizard that can help you construct your policy.

Reporting can be enabled both in report only mode and in enforce mode. You can use report-only mode to evaluate the contents of the policy by looking at which resources are reported as blocked.

Report To not working

By ningmorris on July 13, 2023

Hello,

Since report-uri is no longer recommended anymore, I need to use report-to to send CSP reports. But for reason, it doesn't send reports with report-to. My CSP settings are as follows:

In Policy: report-to filed, I filled in csp-endpoint , in Frontend Policy Report-To Header field, I filled in the following JSON data

{
  "group": "csp-endpoint",
  "max_age": 10886400,
  "endpoints": [
    {
      "url": "{CSP REPORT ENDPOINT}"
    }
  ]
}

After saving changes in the CMS, all the commas disappeared in Frontend Policy Report-To Header field.

{   "group": "csp-endpoint"   "max_age": 10886400   "endpoints": [     {       "url": "{CSP REPORT ENDPOINT}"     }   ] }

I am wondering if you can help to take a look at it, thanks! Note: I have no problem with report-uri.

kills all CSS styles

By rintelengrafik on February 18, 2023

As soon as I leave the backend the view of my side is without any CSS. Only the plain HTML.

Very helpful and useful plugin. do you provide filters ?

By buzibuzi on January 25, 2023

We are really happy with this plugin.
im wondering if you provide a filter so i can merge some dynamic 'nonce-xx' to the policy header. this could be very very useful.

I like all the options for logged-in versus anonymous and report-only

By Jason Robinson (jsrobinson) on April 10, 2022

This plugin is well thought out and does what I need it to. It has also helped me troubleshoot other website's CSP that wasn't working correctly, and the documentation is solid if brief.

Extraordinaire !

By jeebeezebee on November 1, 2021

Ce plugin m;a fait gagner des heures de travail.

Great plugin to manage CSP

By c3idesign on May 14, 2021

Great plugin, thank you.

This plugin’s development happens in its GitHub repo. Feel free to send bug reports there.

1.2.1

  • Fix error caused by improperly checking the chosen CSP mode when outputting headers (thanks @reatlat).

1.2.0

  • Improved UI, with CSP directives divided into collapsible categories.
  • Add all remaining non-deprecated CSP directives.
  • Warn if enabling upgrade-insecure-requests on a site that does not support HTTPS.
  • Sanitize directives on save and disallow newlines in header content.
  • Various internal improvements.

1.1.0

This is a relatively small update, that only contains a few more CSP directives. The next update will contain even more, along with an updated user interface.

  • Add some commonly used CSP headers that were missing (thanks Master Dan).
  • Add some other user requested directives.
  • Fix some translator comments.

1.0.0

First version.

  • Support for different policies for admin, logged-in frontend and regular visitors.
  • Different policies can have different reporting/enforcing mode.
  • Directives can be configured separately, to easier see what is allowed in which cases.
  • Support for configuring the Report-To header.
Back to top