Security is our number one priority with ProcessWire. Make it your number one priority too. In this section we attempt to cover some of the more important aspects in maintaining a secure installation.
Beyond just using ProcessWire to power your site or application, a big part of maintaining good security involves securing your web server and file system, writing secure code in your template files, installing only the modules/plugins that you need, securing your admin panel, and adhering to security best practices. In this section we attempt to cover some of the more important aspects in maintaining a secure installation.
Securing file permissionsGetting your file permissions right is one of the most important factors in maintaining the security of your ProcessWire installation, particularly in non-dedicated/shared environments.
Securing your adminInformation about the design and purpose of the admin environment and how to protect it. Overview of securing your admin, preventing attacks, SSL certificates, tracking logins, enabling 2FA, managing page edit access and other security best practices.
Web hosting securityWhen possible, your production sites running ProcessWire (or any CMS) should ideally be in a dedicated environment. This doesn't necessarily mean a dedicated server…
Migrating to productionUnless the production server is a completely dedicated environment, don't assume that what was safe on your development server will also be safe on the production server.
Remove unnecessary filesProcessWire comes with several files that you will no longer need after installation.
Database-driven sessionsDatabase-driven sessions offer potentially better security since the session information is not stored on the file system.
Running ProcessWire alongside other softwareProcessWire will happily run alongside almost any other PHP application, including other CMSs. However, security on your site will only be as good as the weakest link.
Third party modulesWe can vouch for the security of the code that we write in the ProcessWire core, but we can't vouch for the security of third party modules. Follow these guidelines to maximize your security with third party modules.
Template filesWhile ProcessWire handles a lot of the common security considerations before your template files are even loaded, you should also follow security best practices within your template files as you would in any other PHP framework.
2-factor authenticationTwo factor authentication gives you an extra layer of account security relative to just using a password. ProcessWire comes built-in with support for 2-factor authentication, and this page provides more information on how to enable and use it.