All Projects → zero-24 → plg_system_httpheader

zero-24 / plg_system_httpheader

Licence: other
This is a Joomla Plugin that provides setting of HTTP Headers

Programming Languages

PHP
23972 projects - #3 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to plg system httpheader

joomla2.x-antispam
Anti-spam plugin for Joomla 2.x
Stars: ✭ 10 (-47.37%)
Mutual labels:  joomla, joomla-plugin
jlsitemap
JL Sitemap - Component sitemap for Joomla
Stars: ✭ 20 (+5.26%)
Mutual labels:  joomla, joomla-plugin
slogin
Social Login for Joomla
Stars: ✭ 24 (+26.32%)
Mutual labels:  joomla, joomla-plugin
joomla-bootstrap3-isis-template
Joomla! admin isis template but using Bootstrap 3 styles.
Stars: ✭ 36 (+89.47%)
Mutual labels:  joomla
database
Joomla Framework Database Package
Stars: ✭ 25 (+31.58%)
Mutual labels:  joomla
go-csp-collector
A CSP collector written in Golang
Stars: ✭ 74 (+289.47%)
Mutual labels:  csp
cache-control
cache-control middleware
Stars: ✭ 41 (+115.79%)
Mutual labels:  http-header
AspNetCore6Experiments
ASP.NET Core Blazor BFF with Azure AD and Razor page
Stars: ✭ 43 (+126.32%)
Mutual labels:  csp
capture reid
可基于摄像头实时监控或录制的视频或静态图片进行行人检测(lffd)/跟踪(deep sort)和行人重识别(reid)。
Stars: ✭ 87 (+357.89%)
Mutual labels:  csp
JCB-Community-Packages
Community Mapped Components for JCB
Stars: ✭ 13 (-31.58%)
Mutual labels:  joomla
jissues
Issue tracking application extending GitHub's issues and pull requests for the Joomla! project.
Stars: ✭ 68 (+257.89%)
Mutual labels:  joomla
Master3
Master3 – modern, comfortable and flexible template for Joomla! 3, based on the UIkit 3 framework
Stars: ✭ 21 (+10.53%)
Mutual labels:  joomla
custom-tables
The Custom Tables extension allows you to create, manage, and display custom data on your Joomla site. It is helpful if you need to display data that is not part of the standard Joomla content structure. For example, you could use this extension to create a custom table for product information, customer data, or any other type of data that you n…
Stars: ✭ 30 (+57.89%)
Mutual labels:  joomla
lando-boilerplates-for-joomla-wordpress-and-prestashop
My personal recipes for Lando - Docker containers. Battle-tested for Joomla, WordPress, and PrestaShop.
Stars: ✭ 23 (+21.05%)
Mutual labels:  joomla
sociallogin
Joomla!™ login and user account creation with Facebook, Google, GitHub etc social media accounts
Stars: ✭ 27 (+42.11%)
Mutual labels:  joomla
JBlank
J!Blank is Joomla CMS blank template for developers
Stars: ✭ 35 (+84.21%)
Mutual labels:  joomla
django-http2-middleware
⚡️Django middleware to automatically send preload headers before views runs, enabling faster HTTP2 server-push (with CSP support).
Stars: ✭ 65 (+242.11%)
Mutual labels:  csp
attributes
Компонент реализует дополнительные атрибуты для элементов системы, меню, материалов, категорий, модулей и плагинов.
Stars: ✭ 15 (-21.05%)
Mutual labels:  joomla
csp
Because Security Matters, and Web libraries, tools, and projects, should be more informative about their state.
Stars: ✭ 15 (-21.05%)
Mutual labels:  csp
jext-cli
This is a Joomla Component Builder CLI tool for creating a Joomla! 4 component using the terminal.
Stars: ✭ 28 (+47.37%)
Mutual labels:  joomla

HttpHeader Plugin

This Joomla Plugin implements an UI Layer for the HTTP Security headers so everyone can set and configure them from the backend.

Features

This Joomla Plugin helps you to set the following HTTP Security Headers.

This plugin also comes with some easy defaults for:

  • X-Frame-Options
  • X-XSS-Protection
  • X-Content-Type-Options
  • Referrer-Policy

Note: If you have configured some HTTP Security Headers directly on the server, then this Plugin might create double entries.

Check the output of your HTTP headers after configuring this HTTP Security Headers Plugin. In Google Chrome: Inspect > Network > the output under Headers). In this Plugin you can disable the settings that cause double entries. Also check the Console of your browser for possible errors.

Configuration

Initial setup the plugin

Now the inital setup is completed and you can start configure the headers.

Default Headers

Please note that by default the following headers und values are set:

X-Frame-Options: SAMEORIGIN

More Infos: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options

X-XSS-Protection: 1; mode=block

More Infos: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-xss-protection

X-Content-Type-Options: nosniff

More Infos: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-content-type-options

Referrer-Policy: no-referrer-when-downgrade

More Infos: https://scotthelme.co.uk/a-new-security-header-referrer-policy/

You can allways choose to disable or change the value for one of those by changing the plugin configuration.

Option descriptions

Force HTTP Header

Using this you can set different values from the default ones and also force headers. The supported headers are:

  • Strict-Transport-Security
  • Content-Security-Policy
  • Content-Security-Policy-Report-Only
  • X-Frame-Options
  • X-XSS-Protection
  • X-Content-Type-Options
  • Referrer-Policy
  • Expect-CT
  • Feature-Policy
  • Cross-Origin-Opener-Policy
  • Permissions-Policy

Here you can also decide whether the header is applyed only to the frontend and or only the backed or both sites.

HTTP Strict Transport Security (HSTS)

This option activates 'Strict Transport Security' and allows the configuration of the value of that header including Include subdomains, Maximum registration time (max-age) and Preload.

HSTS means that your domain can no longer be called without HTTPS. Once added to the preload list, this is not easy to undo. Domains can be removed, but it takes months for users to make a change with a browser update. This option is very important to prevent 'man-in-the-middle attacks', so it should be activated in any case, but only if you are sure that HTTPS is fully supported for the domain and all subdomains in the long run! The value for 'maximum registration time' must be set to 63072000 (2 years) for recording.

Content Security Policy (CSP)

With this option the Content-Security-Policy rule can be set individually including an dedicated subform for the the different directives as well as setting the rules in Report-Only mode.

Update Server

Please note that my update server only supports the latest version running the latest version of Joomla and atleast PHP 7.0. Any other plugin version I may have added to the download section don't get updates using the update server.

Issues / Pull Requests

You have found an Issue, have a question or you would like to suggest changes regarding this extension? Open an issue in this repo or submit a pull request with the proposed changes.

Translations

You want to translate this extension to your own language? Check out my Crowdin Page for my Extensions for more details. Feel free to open an issue here on any question that comes up.

This plugin is translated into the following languages:

  • de-DE by @zero-24
  • en-GB by @zero-24 & @brianteeman
  • fr-FR by @Sandra97 & @YGomiero
  • it-IT by @jeckodevelopment
  • nl-NL by @pe7er

Beyond this repo

This plugin has been included in the Joomla Core (joomla/joomla-cms#18301) and will be part of the upcomming 4.0 Release. Please note that the core the plugin has been renamed to plg_system_httpheaders (extra s) and extended by the new com_csp component for to core distribution.

Special Thanks

David Jardin - @snipersister - https://www.djumla.de/ & Yves Hoppe - @yvesh - https://compojoom.com/

For giving me the inspiration for the plugin and their feedback on the actual implementation. Thanks 👍

Joomla! Extensions Directory (JED)

This plugin can also been found in the Joomla! Extensions Directory: HTTPHeader by zero24

Release steps

  • build/build.sh
  • git commit -am 'prepare release HttpHeader 1.0.x'
  • git tag -s '1.0.x' -m 'HttpHeader 1.0.x'
  • git push origin --tags
  • create the release on GitHub
  • git push origin master

Crowdin

Upload new strings

crowdin upload sources

Download translations

crowdin download --skip-untranslated-files --ignore-match

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].