PluginProbe
GD Security Headers / trunk
GD Security Headers vtrunk
trunk 1.0 1.1 1.1.1 1.2 1.3 1.4 1.5 1.6 1.6.1 1.7 1.7.1 1.8 1.9
← All changes | core/plugin.php +121 -64 1.0trunk View file →
@@ -1,97 +1,154 @@
1 1 <?php
2 2
3 -if (!defined('ABSPATH')) exit;
3 +if ( ! defined( 'ABSPATH' ) ) {
4 + exit;
5 +}
4 6
5 7 class gdsih_core_plugin extends d4p_plugin_core {
6 - public $svg_icon = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDMwMCAzMDAiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIgeG1sbnM6c2VyaWY9Imh0dHA6Ly93d3cuc2VyaWYuY29tLyIgc3R5bGU9ImZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO3N0cm9rZS1saW5lam9pbjpyb3VuZDtzdHJva2UtbWl0ZXJsaW1pdDoxLjQxNDIxOyI+CiAgICA8cGF0aCBkPSJNMTAsMTMyLjg3N0wxMC40OTQsMTM2LjIxMUMxMC44MDYsMTM4LjU3NiAxMS41MjksMTQyLjIwOCAxMi41MjEsMTQ3LjIxN0MxMy41MjQsMTUyLjEwNCAxNC40NTMsMTU2LjM2OSAxNS4zMjcsMTU5Ljc2OUMxNi4yMDIsMTYzLjE2OCAxNy4wODgsMTY2LjQ0NiAxNy45OTUsMTY5LjQ3OUwxOC44LDE3Mi4wNDlMMTguOCwyNzIuNkMxOC44LDI3Ny40IDIzLjgsMjgyLjYgMjguNywyODIuNkw5My40NTUsMjgyLjZMOTMuODI0LDI4Mi45MjlDOTUuMDM3LDI4NC4wMjIgOTYuMzgsMjg1LjEyNiA5Ny45NSwyODYuNjJDOTkuNTMyLDI4Ny45OTIgMTAwLjg3NSwyODkuMDk3IDEwMS44NSwyODkuOTIyTDEwMS45NDYsMjkwTDIwLjUsMjkwQzE1LjMsMjkwIDEwLDI4NC41IDEwLDI3OS4zTDEwLDEzMi44NzdaIiBzdHlsZT0iZmlsbDpyZ2IoMTU4LDE2MywxNjgpOyIvPgogICAgPHBhdGggZD0iTTI4OS45LDEyMS45MDlMMjg5LjksMjc5LjNDMjg5LjksMjg0LjQgMjg0LDI5MCAyNzguOCwyOTBMMTcxLjY3NCwyOTBMMTc1LjQ4MywyODcuNjgxQzE3Ny44MzcsMjg2LjI5NCAxNzkuMjM2LDI4NS4zMTMgMTc5Ljc4OSwyODQuOTkzTDE4My41MTQsMjgyLjZMMjcyLjIsMjgyLjZDMjc3LjAzNywyODIuNTM5IDI4Mi41MzQsMjc3LjQzMiAyODIuNTg2LDI3Mi42TDI4Mi42LDI3Mi42TDI4Mi42LDI3Mi41TDI4Mi41ODYsMjcyLjZMMjgyLjUsMjcyLjZMMjgyLjUsMTUzLjQ3MkwyODMuMTc5LDE1MS40ODJDMjg0LjI1NSwxNDguMjU4IDI4NS4yMjQsMTQ0Ljc3OCAyODYuMjE0LDE0MS4wNTRDMjg3LjA3NCwxMzcuMzE5IDI4Ny45ODksMTMyLjk3MyAyODguOTgsMTI3Ljc3M0wyODkuOSwxMjEuOTA5WiIgc3R5bGU9ImZpbGw6cmdiKDE1OCwxNjMsMTY4KTsiLz4KICAgIDxwYXRoIGQ9Ik0xNDUuNTM5LDI4Mi42TDE0NC40MTgsMjgzLjE2OUMxNDQuMDA1LDI4My4zNzggMTQzLjMzMywyODMuNTYzIDE0Mi4xMTksMjgzLjk0NkMxNDAuOTA0LDI4NC4zMjkgMTM5LjU1OSwyODQuNyAxMzcuOTMzLDI4NS4yOTJDMTM2LjMxNywyODUuNzYyIDEzNS4yNDMsMjg2LjAzNSAxMzQuNTcxLDI4Ni4yMkwxMzMuNjM5LDI4Ni4zODJMMTMyLjYyLDI4Ni4wNDVDMTMxLjk4LDI4NS44NjQgMTMxLjIyMiwyODUuNTUgMTMwLjQ3NCwyODUuMTE0QzEyOS43MjcsMjg0LjY3OCAxMjguNDcsMjg0LjA3MyAxMjYuNzI1LDI4My4wNTVMMTI1Ljk0NSwyODIuNkwxNDUuNTM5LDI4Mi42WiIgc3R5bGU9ImZpbGw6cmdiKDE1OCwxNjMsMTY4KTsiLz4KICAgIDxwYXRoIGQ9Ik0yODAuNiwxMC4xQzI4NS44NSwxMC4xNSAyODkuOTk5LDE0LjMzIDI4OS45LDE5LjRMMjg5LjksNTMuNDY4TDI4Ni4zMDEsNTIuNTA1TDI4Mi41LDUxLjY0NEwyODIuNSwyNy45QzI4Mi41LDIzIDI3OC42LDE5LjEgMjczLjcsMTkuMUwxODguNTA4LDE5LjFMMTg0LjA3NSwxNi44NzdDMTc3LjU2MywxMy40NjMgMTczLjY3MywxMS41MTUgMTcyLjU0NiwxMC45MjJMMTcxLjA2NiwxMC4xTDI4MC42LDEwLjFaIiBzdHlsZT0iZmlsbDpyZ2IoMTU4LDE2MywxNjgpOyIvPgogICAgPHBhdGggZD0iTTEzOS40ODcsMTAuMUwxMzUuMzk0LDExLjM5N0MxMzIuODM1LDEyLjE1MSAxMzAuMDA1LDEzLjAwNCAxMjYuNzczLDEzLjk0NEMxMjMuNjcyLDE0Ljg5NSAxMjEuOTI2LDE1LjM1MyAxMjEuNjY2LDE1LjMzQzEyMS40MDUsMTUuMzA3IDExOS41MTksMTUuODc1IDExNi4wMjcsMTYuNzkxQzExMy4yNjMsMTcuNjExIDExMC4zNDQsMTguMzM5IDEwNy4yMzEsMTkuMUwyNy42LDE5LjFDMjIuNywxOS4xIDE4LjgsMjMgMTguOCwyNy45TDE4LjgsMjkuNjU1TDE0LjkzNSwyOS44NDlDMTMuMDkyLDI5LjkzIDExLjg5OSwzMC4wNjggMTEuMzU3LDMwLjI2NkwxMC42ODQsMzAuNDUxTDEwLjE2OSwzNi4xODZMMTAsMzguNzE5TDEwLDE5LjRDMTAsMTQuMzMgMTQuMDUxLDEwLjE1IDE5LjMsMTAuMUwxMzkuNDg3LDEwLjFaIiBzdHlsZT0iZmlsbDpyZ2IoMTU4LDE2MywxNjgpOyIvPgogICAgPGc+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMDA3OCwwLjExNjg1MywtMC4xMDk2MDcsMS4yMjAxMiwtMzMuMzMxNiwtNDQuNDcxNikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTczLjUzNCwzNS40ODNMMTc4LjEsMzcuNEMxNzguMiwzNy40IDE3OS42LDM3LjkgMTgyLjIsMzlDMTg0LjgsNDAgMTg2LjgsNDAuOCAxODguMiw0MS4zQzE4OS42LDQxLjggMTkxLjcsNDIuNSAxOTQuMyw0My40QzE5Ni45LDQ0LjIgMTk4LjYsNDQuOCAxOTkuMyw0NUMyMDAsNDUuMiAyMDAuOSw0NS41IDIwMS45LDQ1LjhDMjAyLjksNDYuMiAyMDQuMyw0Ni41IDIwNS45LDQ3QzIwNy42LDQ3LjQgMjA5LjcsNDggMjEyLjIsNDguNkMyMTQuNyw0OS4yIDIxNy4yLDQ5LjggMjE5LjYsNTAuM0MyMjIsNTAuOCAyMjMuNSw1MS4yIDIyNC4yLDUxLjNDMjI0LjksNTEuNSAyMjcuMiw1MS45IDIzMC45LDUyLjVDMjM0LjYsNTMuMiAyMzcsNTMuNiAyMzcuOSw1My43QzIzOC44LDUzLjggMjQxLjEsNTQuMiAyNDQuOCw1NC43TDI0Ny40NDIsNTUuMDc3TDI1NC40MTgsMTM3Ljg2N0wyNTIuOSwxNDQuNUMyNTIuMiwxNDcuMyAyNTEuNSwxNDkuNyAyNTEsMTUxLjhDMjUwLjUsMTUzLjkgMjQ5LjgsMTU2LjIgMjQ5LjEsMTU4LjZDMjQ4LjQsMTYxIDI0Ny45LDE2Mi41IDI0Ny44LDE2M0MyNDcuNiwxNjMuNSAyNDcuNCwxNjQuMSAyNDcuMSwxNjQuOUMyNDYuOCwxNjUuNyAyNDYuNSwxNjYuNyAyNDYuMSwxNjcuOEMyNDUuNywxNjguOSAyNDUsMTcwLjYgMjQ0LjIsMTcyLjdDMjQzLjMsMTc0LjggMjQyLjYsMTc2LjUgMjQyLjEsMTc3LjhDMjQxLjYsMTc5LjEgMjQwLjksMTgwLjYgMjQwLjEsMTgyLjRDMjM5LjMsMTg0LjEgMjM4LjIsMTg2LjMgMjM3LDE4OC44QzIzNS44LDE5MS4zIDIzNSwxOTIuOCAyMzQuOCwxOTMuMkMyMzQuNiwxOTMuNiAyMzMuNywxOTUuMSAyMzIuMSwxOTcuN0MyMzAuNiwyMDAuMyAyMjkuNiwyMDEuOCAyMjkuMywyMDIuM0MyMjksMjAyLjcgMjI4LjIsMjA0IDIyNywyMDUuOUMyMjUuOCwyMDcuOCAyMjUsMjA5LjEgMjI0LjYsMjA5LjZDMjI0LjIsMjEwLjIgMjIzLjcsMjExIDIyMi45LDIxMi4xQzIyMi4xLDIxMy4yIDIyMS41LDIxNC4xIDIyMSwyMTQuN0MyMjAuNiwyMTUuMyAyMjAsMjE2LjEgMjE5LjQsMjE2LjlDMjE4LjgsMjE3LjcgMjE4LjIsMjE4LjUgMjE3LjYsMjE5LjJDMjE3LjEsMjE5LjkgMjE2LjYsMjIwLjUgMjE2LjMsMjIxQzIxNiwyMjEuNSAyMTUuNSwyMjIuMSAyMTQuOSwyMjIuOUMyMTQuMywyMjMuNyAyMTMuNywyMjQuNCAyMTMuMSwyMjUuMkMyMTIuNSwyMjUuOSAyMTEuOSwyMjYuNyAyMTEuMiwyMjcuNUMyMTAuNSwyMjguMyAyMTAsMjI5IDIwOS41LDIyOS42QzIwOS4xLDIzMC4yIDIwOCwyMzEuMyAyMDYuNSwyMzIuOUMyMDQuOSwyMzQuNSAyMDMuMSwyMzYuMyAyMDEsMjM4LjRDMTk4LjksMjQwLjUgMTk3LjEsMjQyLjIgMTk1LjUsMjQzLjdDMTkzLjksMjQ1LjIgMTkyLjgsMjQ2LjEgMTkyLjMsMjQ2LjVDMTkxLjcsMjQ2LjggMTkwLjUsMjQ3LjggMTg4LjYsMjQ5LjRMMTg3Ljc3NywyNTAuMDgyTDE1OC44MTcsMjUyLjg1NkwxNTkuMiwyNTIuNkMxNTkuOCwyNTIuMyAxNjAuMywyNTIgMTYwLjgsMjUxLjdDMTYxLjMsMjUxLjQgMTYxLjgsMjUxLjIgMTYyLjIsMjUwLjlDMTYyLjYsMjUwLjYgMTYzLjUsMjUwLjEgMTY0LjgsMjQ5LjRDMTY2LjEsMjQ4LjcgMTY3LDI0OC4yIDE2Ny41LDI0Ny45QzE2OCwyNDcuNiAxNjguNSwyNDcuMyAxNjksMjQ2LjlDMTY5LjUsMjQ2LjYgMTcwLjMsMjQ2IDE3MS4zLDI0NS4yQzE3Mi4zLDI0NC41IDE3My4xLDI0My45IDE3My43LDI0My40QzE3NC4yLDI0Mi45IDE3NC44LDI0Mi41IDE3NS4yLDI0Mi4yQzE3NS42LDI0MS45IDE3Ni42LDI0MS4yIDE3OCwyNDBDMTc5LjQsMjM4LjggMTgwLjMsMjM4LjEgMTgwLjcsMjM3LjhDMTgxLjEsMjM3LjUgMTgyLjEsMjM2LjcgMTgzLjcsMjM1LjNDMTg1LjMsMjM0IDE4Ni40LDIzMy4xIDE4Ni44LDIzMi44QzE4Ny4yLDIzMi40IDE4OC4yLDIzMS42IDE4OS41LDIzMC40QzE5MC44LDIyOS4yIDE5Mi40LDIyNy43IDE5NC4yLDIyNS45QzE5NiwyMjQuMSAxOTcuNiwyMjIuNiAxOTguOSwyMjEuMkMyMDAuMiwyMTkuOCAyMDEuMSwyMTguOSAyMDEuNSwyMTguNEMyMDEuOSwyMTcuOSAyMDIuNCwyMTcuMyAyMDMsMjE2LjZDMjAzLjYsMjE1LjkgMjA0LjEsMjE1LjIgMjA0LjYsMjE0LjZDMjA1LjEsMjE0IDIwNS42LDIxMy4zIDIwNi4xLDIxMi43QzIwNi42LDIxMiAyMDcsMjExLjUgMjA3LjMsMjExLjFDMjA3LjYsMjEwLjcgMjA4LDIxMC4yIDIwOC41LDIwOS42QzIwOSwyMDkgMjA5LjUsMjA4LjMgMjEwLDIwNy42QzIxMC41LDIwNi45IDIxMSwyMDYuMiAyMTEuNCwyMDUuN0MyMTEuOCwyMDUuMiAyMTIuMywyMDQuNSAyMTMsMjAzLjVDMjEzLjcsMjAyLjYgMjE0LjIsMjAxLjkgMjE0LjUsMjAxLjRDMjE0LjgsMjAwLjkgMjE1LjUsMTk5LjkgMjE2LjUsMTk4LjJDMjE3LjYsMTk2LjUgMjE4LjIsMTk1LjUgMjE4LjUsMTk1LjFDMjE4LjcsMTk0LjcgMjE5LjYsMTkzLjQgMjIwLjksMTkxLjJDMjIyLjIsMTg5IDIyMywxODcuOCAyMjMuMiwxODcuNEMyMjMuNCwxODcgMjI0LDE4NS44IDIyNS4xLDE4My42QzIyNi4xLDE4MS41IDIyNywxNzkuNiAyMjcuNywxNzguMUMyMjguNCwxNzYuNiAyMjguOSwxNzUuMyAyMjkuNCwxNzQuMkMyMjkuOSwxNzMuMSAyMzAuNSwxNzEuNiAyMzEuMiwxNjkuOEMyMzEuOSwxNjggMjMyLjUsMTY2LjYgMjMyLjgsMTY1LjZDMjMzLjEsMTY0LjYgMjMzLjQsMTYzLjggMjMzLjcsMTYzLjFDMjM0LDE2Mi41IDIzNC4yLDE2MS45IDIzNC4zLDE2MS41QzIzNC41LDE2MSAyMzQuOSwxNTkuOCAyMzUuNSwxNTcuN0MyMzYuMiwxNTUuNiAyMzYuNywxNTMuNyAyMzcuMiwxNTEuOUMyMzcuNywxNTAuMSAyMzguMiwxNDggMjM4LjgsMTQ1LjZDMjM5LjQsMTQzLjIgMjQwLDE0MC44IDI0MC41LDEzOC41QzI0MSwxMzYuMSAyNDEuNCwxMzMuNiAyNDEuOCwxMzFDMjQyLjIsMTI4LjMgMjQyLjUsMTI1LjIgMjQyLjgsMTIxLjVDMjQzLjEsMTE3LjggMjQzLjUsMTExLjMgMjQ0LDEwMi4xQzI0NC42LDkyLjkgMjQ0LjksODUuMyAyNDUsNzkuNUwyNDUuMyw3MS4xQzI0NS4zLDcxIDI0My43LDcwLjcgMjQwLjcsNzAuMkMyMzcuNyw2OS43IDIzNi4xLDY5LjQgMjM2LjEsNjkuNEMyMzYuMSw2OS40IDIzNC41LDY5LjIgMjMxLjMsNjguN0MyMjguMSw2OC4yIDIyNi4xLDY3LjkgMjI1LjMsNjcuOEMyMjQuNSw2Ny43IDIyMi41LDY3LjMgMjE5LjMsNjYuOEMyMTYuMSw2Ni4zIDIxNC4yLDY1LjkgMjEzLjYsNjUuOEMyMTMsNjUuNyAyMTEuNiw2NS40IDIwOS42LDY1QzIwNy42LDY0LjUgMjA1LjUsNjQgMjAzLjMsNjMuNUMyMDEuMSw2MyAxOTkuMyw2Mi41IDE5Ny45LDYyLjFDMTk2LjQsNjEuNyAxOTUuMyw2MS40IDE5NC40LDYxLjFDMTkzLjUsNjAuOCAxOTIuOCw2MC42IDE5Mi4yLDYwLjRDMTkxLjYsNjAuMiAxOTAuMiw1OS43IDE4Ny45LDU5QzE4NS42LDU4LjIgMTgzLjksNTcuNiAxODIuNyw1Ny4yQzE4MS41LDU2LjggMTc5LjgsNTYuMSAxNzcuNiw1NS4yQzE3NS4zLDU0LjMgMTc0LjEsNTMuOCAxNzQsNTMuOEMxNzMuOSw1My44IDE3MS42LDUyLjggMTY3LjEsNTAuOUMxNjIuNyw0OSAxNjAuMSw0Ny45IDE1OS4zLDQ3LjVDMTU4LjYsNDcuMiAxNTcsNDYuNCAxNTQuNiw0NS4zTDE1MSw0My42TDE0OS40LDQzLjZMMTQ1LjksNDUuM0MxNDMuNSw0Ni41IDE0MS42LDQ3LjQgMTQwLDQ4LjFDMTM4LjQsNDguOCAxMzYuOCw0OS41IDEzNS4yLDUwLjJDMTMzLjYsNTAuOSAxMzEuOCw1MS42IDEyOS44LDUyLjVDMTI3LjgsNTMuMyAxMjYuNyw1My44IDEyNi42LDUzLjhDMTI2LjQsNTMuOCAxMjUuMiw1NC4zIDEyMyw1NS4yQzEyMC44LDU2LjEgMTE4LjQsNTcgMTE1LjgsNTcuOUMxMTMuMyw1OC44IDExMS42LDU5LjQgMTEwLjcsNTkuN0MxMDkuOCw2MCAxMDguOSw2MC4yIDEwOCw2MC41QzEwNy4xLDYwLjggMTA1LjgsNjEuMiAxMDQuMSw2MS43QzEwMi40LDYyLjIgMTAwLjQsNjIuNyA5OC4xLDYzLjNDOTUuOCw2My45IDkzLjEsNjQuNSA4OS45LDY1LjJDODYuOCw2NS45IDg0LjIsNjYuNCA4Mi4zLDY2LjdDODAuNCw2NyA3Ny4yLDY3LjUgNzIuOCw2OC4yQzY4LjQsNjguOSA2NS4xLDY5LjQgNjIuOSw2OS43QzYwLjcsNzAgNTksNzAuMyA1Ny44LDcwLjVDNTYuNSw3MC43IDU1LjgsNzAuOSA1NS41LDcxTDU1LjEsNzEuMkw1NS4xLDc1LjNDNTUuMSw3OCA1NS4yLDgyLjYgNTUuNSw4OS4xQzU1LjgsOTUuNiA1NiwxMDAuMiA1Ni4yLDEwMy4xQzU2LjMsMTA2IDU2LjUsMTA4LjcgNTYuNiwxMTEuMkM1Ni43LDExMy43IDU3LDExNy41IDU3LjQsMTIyLjVDNTcuOCwxMjcuNSA1OC4xLDEzMC41IDU4LjIsMTMxLjVDNTguMywxMzIuNSA1OC43LDEzNC42IDU5LjQsMTM3LjdDNjAuMSwxNDAuOSA2MC42LDE0My4zIDYxLDE0NC45QzYxLjQsMTQ2LjUgNjIuMSwxNDkgNjMsMTUyLjRDNjQsMTU1LjggNjQuOCwxNTguNyA2NS42LDE2MUM2Ni40LDE2My4zIDY3LjEsMTY1LjUgNjcuOSwxNjcuNkM2OC43LDE2OS42IDY5LjMsMTcxLjIgNjkuNywxNzIuMkM3MC4xLDE3My4yIDcwLjcsMTc0LjYgNzEuNSwxNzYuNEM3Mi4zLDE3OC4yIDcyLjcsMTc5LjEgNzIuNywxNzkuMUM3Mi43LDE3OS4xIDczLjEsMTgwIDczLjksMTgxLjZDNzQuNywxODMuMiA3NS4zLDE4NC41IDc1LjcsMTg1LjNDNzYuMiwxODYuMSA3Ni42LDE4NyA3Ny4yLDE4Ny45Qzc3LjgsMTg4LjkgNzguNiwxOTAuMyA3OS43LDE5Mi4xQzgwLjgsMTk0IDgxLjUsMTk1LjEgODEuOCwxOTUuNUM4MiwxOTUuOSA4Mi42LDE5Ni44IDgzLjUsMTk4LjFDODQuNCwxOTkuNCA4NC45LDIwMC4zIDg1LjEsMjAwLjZDODUuMywyMDAuOSA4NS43LDIwMS41IDg2LjMsMjAyLjRDODYuOSwyMDMuMiA4Ny4zLDIwMy45IDg3LjYsMjA0LjNDODcuOSwyMDQuNyA4OC4yLDIwNS4yIDg4LjgsMjA2Qzg5LjQsMjA2LjggODkuOCwyMDcuMyA5MC4xLDIwNy44QzkwLjUsMjA4LjIgOTAuOSwyMDguNyA5MS4zLDIwOS4zQzkxLjgsMjA5LjkgOTIuMSwyMTAuMyA5Mi40LDIxMC43QzkyLjYsMjExIDkyLjksMjExLjQgOTMuMywyMTEuOUM5My42LDIxMi4zIDk0LjEsMjEyLjggOTQuNSwyMTMuNEM5NSwyMTMuOSA5NS40LDIxNC41IDk1LjgsMjE1Qzk2LjIsMjE1LjUgOTYuNiwyMTYgOTcsMjE2LjVDOTcuNCwyMTcgOTgsMjE3LjYgOTguNywyMTguNEM5OS40LDIxOS4yIDk5LjksMjE5LjggMTAwLjMsMjIwLjJMMTA3LjEsMjI3QzEwNy42LDIyNy41IDEwOC42LDIyOC40IDEwOS45LDIyOS42QzExMS4zLDIzMC44IDExMiwyMzEuNSAxMTIuMiwyMzEuN0MxMTIuMywyMzEuOSAxMTMuMiwyMzIuNiAxMTQuNywyMzMuOEMxMTYuMiwyMzUgMTE3LjIsMjM1LjggMTE3LjYsMjM2LjFDMTE4LjEsMjM2LjUgMTE5LjEsMjM3LjMgMTIwLjcsMjM4LjZDMTIyLjMsMjM5LjkgMTIzLjUsMjQwLjkgMTI0LjMsMjQxLjVDMTI1LjEsMjQyLjIgMTI2LjEsMjQyLjkgMTI3LjIsMjQzLjhDMTI4LjMsMjQ0LjcgMTI5LjIsMjQ1LjQgMTI5LjksMjQ1LjlDMTMwLjYsMjQ2LjQgMTMxLjIsMjQ2LjggMTMxLjcsMjQ3LjJDMTMyLjIsMjQ3LjYgMTMyLjcsMjQ3LjkgMTMzLjIsMjQ4LjJDMTMzLjcsMjQ4LjUgMTM0LjYsMjQ5IDEzNS45LDI0OS43QzEzNy4yLDI1MC41IDEzOC4xLDI1MC45IDEzOC41LDI1MS4yQzEzOSwyNTEuNSAxMzkuNiwyNTEuOSAxNDAuNSwyNTIuNEMxNDEuMywyNTIuOSAxNDEuOSwyNTMuMiAxNDIuMSwyNTMuNEwxNDMuODc0LDI1NC4yODdMMTE5LjA5NiwyNTYuNjZMMTE1LjEsMjUzLjVDMTEzLjIsMjUxLjkgMTEyLDI1MSAxMTEuNSwyNTAuNkMxMTEsMjUwLjMgMTA5LjksMjQ5LjMgMTA4LjEsMjQ3LjlDMTA2LjMsMjQ2LjUgMTA1LjMsMjQ1LjcgMTA1LjEsMjQ1LjVDMTA0LjksMjQ1LjMgMTA0LDI0NC41IDEwMi40LDI0My4xQzEwMC44LDI0MS42IDk5LjcsMjQwLjYgOTkuMSwyNDBDOTguNSwyMzkuNCA5Ny4xLDIzOCA5NSwyMzUuOUM5Mi45LDIzMy44IDkxLjYsMjMyLjUgOTEuMiwyMzJDOTAuNywyMzEuNSA5MC4xLDIzMC44IDg5LjMsMjI5LjlDODguNSwyMjguOSA4Ny45LDIyOC4yIDg3LjQsMjI3LjZDODYuOSwyMjcgODYuNSwyMjYuNCA4NiwyMjUuOEM4NS41LDIyNS4yIDg1LDIyNC42IDg0LjUsMjIzLjlDODQsMjIzLjIgODMuNSwyMjIuNiA4My4xLDIyMi4xQzgyLjcsMjIxLjYgODIuMywyMjEuMSA4MiwyMjAuN0M4MS43LDIyMC4zIDgxLjMsMjE5LjggODAuOCwyMTkuMUM4MC4zLDIxOC40IDc5LjksMjE3LjggNzkuNSwyMTcuM0M3OS4xLDIxNi43IDc4LjYsMjE2IDc4LDIxNS4yQzc3LjQsMjE0LjMgNzYuOSwyMTMuNyA3Ni42LDIxMy4yQzc2LjIsMjEyLjcgNzUuNywyMTEuOSA3NSwyMTAuOUM3NC4zLDIwOS45IDczLjgsMjA5LjIgNzMuNiwyMDguOEM3My4zLDIwOC41IDcyLjcsMjA3LjUgNzEuNywyMDUuOUM3MC43LDIwNC4zIDcwLDIwMy4yIDY5LjcsMjAyLjhDNjkuNCwyMDIuNCA2OC42LDIwMS4xIDY3LjMsMTk4LjlDNjYsMTk2LjcgNjUsMTk1LjEgNjQuNCwxOTRDNjMuOCwxOTIuOSA2My4yLDE5MS45IDYyLjcsMTkwLjlDNjIuMiwxOTAgNjEuNSwxODguNSA2MC42LDE4Ni42QzU5LjcsMTg0LjcgNTkuMywxODMuNyA1OS4zLDE4My43QzU5LjMsMTgzLjYgNTguOSwxODIuNiA1OCwxODAuNUM1Ny4xLDE3OC40IDU2LjQsMTc2LjggNTUuOSwxNzUuNkw1NC41OSwxNzIuMjMxTDQ0LjgzNSw1Ni40Nkw0Ny45LDU2QzUwLjUsNTUuNiA1NC4zLDU1IDU5LjUsNTQuMkM2NC42LDUzLjQgNjguNCw1Mi44IDcwLjYsNTIuNEM3Mi44LDUyIDc1LjgsNTEuNSA3OS41LDUwLjdDODMuMiw0OS45IDg2LjQsNDkuMiA4OS4xLDQ4LjVDOTEuNyw0Ny44IDk0LjEsNDcuMiA5Niw0Ni42Qzk4LDQ2IDk5LjUsNDUuNiAxMDAuNiw0NS4yQzEwMS43LDQ0LjggMTAyLjcsNDQuNSAxMDMuNyw0NC4yQzEwNC43LDQzLjggMTA2LjcsNDMuMiAxMDkuNyw0Mi4xTDExMS41NSw0MS40MTlMMTczLjUzNCwzNS40ODNaIiBzdHlsZT0iZmlsbDpyZ2IoMTU4LDE2MywxNjgpOyIvPgogICAgICAgIDwvZz4KICAgICAgICA8ZyB0cmFuc2Zvcm09Im1hdHJpeCgxLjMwMDc4LDAuMTE2ODUzLC0wLjEwOTYwNywxLjIyMDEyLC0zMy4zMzE2LC00NC40NzE2KSI+CiAgICAgICAgICAgIDxwYXRoIGQ9Ik0xODcuNzc3LDI1MC4wODJMMTg1LjEsMjUyLjNDMTg0LjcsMjUyLjYgMTgzLjcsMjUzLjUgMTgyLDI1NC44TDE3OS4yNTQsMjU2Ljk2M0wxMjYuMDc4LDI2Mi4wNTZMMTI2LDI2MkMxMjUuMiwyNjEuNCAxMjQuMSwyNjAuNiAxMjIuOCwyNTkuNkMxMjEuNSwyNTguNSAxMjAuNCwyNTcuNyAxMTkuNCwyNTYuOUwxMTkuMDk2LDI1Ni42NkwxNDMuODc0LDI1NC4yODdMMTQ0LjUsMjU0LjZDMTQ1LjksMjU1LjMgMTQ2LjksMjU1LjcgMTQ3LjUsMjU2QzE0OC4xLDI1Ni4zIDE0OC43LDI1Ni41IDE0OS4yLDI1Ni42TDE1MCwyNTYuOEwxNTAuNywyNTYuNkMxNTEuMiwyNTYuNCAxNTIsMjU2LjEgMTUzLjIsMjU1LjZDMTU0LjQsMjU1IDE1NS40LDI1NC42IDE1Ni4zLDI1NC4yQzE1Ny4yLDI1My44IDE1Ny43LDI1My42IDE1OCwyNTMuNEwxNTguODE3LDI1Mi44NTZMMTg3Ljc3NywyNTAuMDgyWiIgc3R5bGU9ImZpbGw6cmdiKDE1OCwxNjMsMTY4KTsiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMDA3OCwwLjExNjg1MywtMC4xMDk2MDcsMS4yMjAxMiwtMzMuMzMxNiwtNDQuNDcxNikiPgogICAgICAgICAgICA8cGF0aCBkPSJNNDQuODM1LDU2LjQ2TDU0LjU5LDE3Mi4yMzFMNTMuOCwxNzAuMkM1Mi45LDE2Ny44IDUyLDE2NS4yIDUxLjEsMTYyLjVDNTAuMiwxNTkuOCA0OS4yLDE1Ni40IDQ4LjEsMTUyLjVDNDcsMTQ4LjUgNDYuMiwxNDUuNiA0NS44LDE0My43TDQ1LjE5NSwxNDEuMDI2TDM4Ljc0NSw2NC40NzJMMzguNyw2Mi40TDM4LjcsNTcuN0wzOS4yLDU3LjVDMzkuNiw1Ny4zIDQwLjUsNTcuMSA0MS45LDU2LjlMNDQuODM1LDU2LjQ2WiIgc3R5bGU9ImZpbGw6cmdiKDE1OCwxNjMsMTY4KTsiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMDA3OCwwLjExNjg1MywtMC4xMDk2MDcsMS4yMjAxMiwtMzMuMzMxNiwtNDQuNDcxNikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMjUwLjQsNTUuNUwyNTMuMjExLDU2LjAyMUwyNTcuOSwxMTEuNjY1TDI1Ny42LDExNi41QzI1Ny4yLDEyMC44IDI1Ni44LDEyNC40IDI1Ni40LDEyNy41QzI1NS45LDEzMC42IDI1NS40LDEzMy41IDI1NC44LDEzNi4yTDI1NC40MTgsMTM3Ljg2N0wyNDcuNDQyLDU1LjA3N0wyNTAuNCw1NS41WiIgc3R5bGU9ImZpbGw6cmdiKDE1OCwxNjMsMTY4KTsiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMS4zMDA3OCwwLjExNjg1MywtMC4xMDk2MDcsMS4yMjAxMiwtMzMuMzMxNiwtNDQuNDcxNikiPgogICAgICAgICAgICA8cGF0aCBkPSJNMTU5LjYxNSwyOS40NEwxNjAuOCwzMEMxNjEuNywzMC40IDE2NC44LDMxLjcgMTcwLDM0TDE3My41MzQsMzUuNDgzTDExMS41NSw0MS40MTlDMTEzLjg3Miw0MC41NzQgMTE2LjA0OCwzOS43NjggMTE4LjEsMzguOUMxMjAuNywzNy45IDEyMi4xLDM3LjMgMTIyLjMsMzcuM0MxMjIuNSwzNy4zIDEyMy44LDM2LjggMTI2LjEsMzUuOEMxMjguNSwzNC44IDEzMC42LDMzLjkgMTMyLjUsMzMuMUwxMzUuNTMyLDMxLjc0NkwxNTkuNjE1LDI5LjQ0WiIgc3R5bGU9ImZpbGw6cmdiKDE1OCwxNjMsMTY4KTsiLz4KICAgICAgICA8L2c+CiAgICAgICAgPGcgdHJhbnNmb3JtPSJtYXRyaXgoMC4zMTM3NDIsMC4wNTIzODQ4LC0wLjA1MjM4NDgsMC4zMTM3NDIsODAuNTg4LDQ2LjkyNTgpIj4KICAgICAgICAgICAgPHBhdGggZD0iTTM0OS41NjUsOTguNzgzQzI5NS45NzgsOTguNzgzIDI1MS43MjEsNjQgMTg0LjM0OCw2NEMxNTkuMzkzLDY0IDEzNy4wMzksNjguMzg0IDExNi4zMDMsNzYuMDEzQzExOS4xNzcsNjguNTA4IDEyMC40LDYwLjQ3MSAxMTkuODg5LDUyLjQ1MUMxMTguMTE3LDI0LjAxNSA5NC44MDYsMS4yMDYgNjYuMzM4LDAuMDQ4QzM0LjM0NSwtMS4yNTQgOCwyNC4yOTYgOCw1NkM4LDc1LjAyNiAxNy40OTcsOTEuODI1IDMyLDEwMS45NDVMMzIsNDg4QzMyLDUwMS4yNTUgNDIuNzQ1LDUxMiA1Niw1MTJMNzIsNTEyQzg1LjI1NSw1MTIgOTYsNTAxLjI1NSA5Niw0ODhMOTYsMzkzLjZDMTI0LjMxMSwzODEuNTM2IDE1OS41ODIsMzcxLjQ3OCAyMTAuNDM1LDM3MS40NzhDMjY0LjAyMywzNzEuNDc4IDMwOC4yNzksNDA2LjI2MSAzNzUuNjUyLDQwNi4yNjFDNDIzLjgyMSw0MDYuMjYxIDQ2Mi4zMTksMzg5Ljk2NyA0OTguMTU3LDM2NS40MDNDNTA2Ljg0LDM1OS40NTIgNTEyLDM0OS41NzEgNTEyLDMzOS4wNDVMNTEyLDk1Ljk0NUM1MTIsNzIuNTUyIDQ4Ny43MzEsNTcuMDc1IDQ2Ni41MTUsNjYuOTI5QzQzMi4xNzcsODIuODc3IDM5MC4wNjEsOTguNzgzIDM0OS41NjUsOTguNzgzWiIgc3R5bGU9ImZpbGw6cmdiKDE1OCwxNjMsMTY4KTtmaWxsLXJ1bGU6bm9uemVybzsiLz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=';
8 + public $svg_icon = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+Cjxzdmcgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgdmlld0JveD0iMCAwIDMyIDMyIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHhtbDpzcGFjZT0icHJlc2VydmUiIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iIHN0eWxlPSJmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtzdHJva2UtbGluZWpvaW46cm91bmQ7c3Ryb2tlLW1pdGVybGltaXQ6MjsiPgogICAgPHBhdGggZD0iTTE2LDBDMTQuMTAxLDAuNzMgMTEuOTI5LDEuMjkzIDkuNTk1LDEuNjE3QzcuMTk5LDEuOTUgNC44OTksMS45OTQgMi44MzMsMS43OTFDMi41OTMsMi44IDIuNDY2LDMuODUyIDIuNDY2LDQuOTMyTDIuNDY2LDE4LjQ2NkMyLjQ2NiwyNS45MzYgMTYsMzIgMTYsMzJDMTYsMzIgMjkuNTM0LDI1LjkzNiAyOS41MzQsMTguNDY2TDI5LjUzNCw0LjkzMkMyOS41MzQsMy44NTIgMjkuNDA3LDIuOCAyOS4xNjcsMS43OTFDMjcuMSwxLjk5NCAyNC44MDEsMS45NSAyMi40MDUsMS42MTdDMjAuMDcxLDEuMjkzIDE3Ljg5OSwwLjczIDE2LDBaTTE2LDIuNDY2QzE3LjYwNiwzLjA4MyAxOS40NDQsMy41NiAyMS40MTgsMy44MzRDMjMuNDQ0LDQuMTE1IDI1LjM4OSw0LjE1MiAyNy4xMzgsMy45ODFDMjcuMzQxLDQuODM0IDI3LjQ0OSw1LjcyNCAyNy40NDksNi42MzhMMjcuNDQ5LDE4LjA4NkMyNy40NDksMjQuNDA1IDE2LjAwMSwyOS41MzQgMTYuMDAxLDI5LjUzNEMxNi4wMDEsMjkuNTM0IDQuNTUzLDI0LjQwNCA0LjU1MywxOC4wODZMNC41NTMsNi42MzhDNC41NTMsNS43MjMgNC42Niw0LjgzNSA0Ljg2NCwzLjk4MUM2LjYxMiw0LjE1MiA4LjU1Nyw0LjExNSAxMC41ODQsMy44MzRDMTIuNTU4LDMuNTYgMTQuMzk2LDMuMDgzIDE2LjAwMiwyLjQ2NkwxNiwyLjQ2NlpNMTYsNC4wOUMxNC41ODcsNC42MzMgMTIuOTcsNS4wNTMgMTEuMjMyLDUuMjk0QzkuNDQ5LDUuNTQxIDcuNzM3LDUuNTc0IDYuMTk5LDUuNDI0QzYuMDIxLDYuMTc1IDUuOTI2LDYuOTU4IDUuOTI2LDcuNzYyTDUuOTI2LDE3LjgzNkM1LjkyNiwyMy4zOTcgMTYsMjcuOTExIDE2LDI3LjkxMUMxNiwyNy45MTEgMjYuMDc0LDIzLjM5NyAyNi4wNzQsMTcuODM2TDI2LjA3NCw3Ljc2MkMyNi4wNzQsNi45NTggMjUuOTc5LDYuMTc1IDI1LjgwMSw1LjQyNEMyNC4yNjMsNS41NzUgMjIuNTUxLDUuNTQyIDIwLjc2OCw1LjI5NEMxOS4wMyw1LjA1MiAxNy40MTMsNC42MzMgMTYsNC4wOVpNMTguODU3LDIwLjI4NUwxNiwxNy44MjhMMTMuMTQzLDIwLjI4NUwxMy4xNDMsMTEuNzE0TDE4Ljg1NywxMS43MTRMMTguODU3LDIwLjI4NVoiIHN0eWxlPSJmaWxsOnJnYigxNjcsMTcwLDE3Myk7ZmlsbC1ydWxlOm5vbnplcm87Ii8+Cjwvc3ZnPgo=';
7 9
8 - public $enqueue = true;
9 - public $cap = 'gd-security-headers-standard';
10 - public $plugin = 'gd-security-headers';
10 + public $enqueue = true;
11 + public $cap = 'gd-security-headers-standard';
12 + public $plugin = 'gd-security-headers';
11 13
12 - /** @var d4p_datetime_core */
13 - public $datetime;
14 + /** @var d4p_datetime_core */
15 + public $datetime;
14 16
15 - private $_ip;
16 - private $_ua;
17 + private $_ip;
18 + private $_ua;
17 19
18 - public function __construct() {
19 - parent::__construct();
20 + /** @var bool|gdsih_component_csp */
21 + private $_csp = false;
22 + /** @var bool|gdsih_component_xxp */
23 + private $_xxp = false;
24 + /** @var bool|gdsih_component_headers */
25 + private $_hdr = false;
26 + /** @var bool|gdsih_component_feature_policy */
27 + private $_fep = false;
20 28
21 - if (!defined('GDSIH_HTACCESS_FILE_NAME')) {
22 - define('GDSIH_HTACCESS_FILE_NAME', '.htaccess');
23 - }
29 + public function __construct() {
30 + parent::__construct();
24 31
25 - $this->url = GDSIH_URL;
26 - $this->datetime = new d4p_datetime_core();
27 - }
32 + if ( ! defined( 'GDSIH_HTACCESS_FILE_NAME' ) ) {
33 + define( 'GDSIH_HTACCESS_FILE_NAME', '.htaccess' );
34 + }
28 35
29 - public function ip() {
30 - return $this->_ip;
31 - }
36 + $this->url = GDSIH_URL;
37 + $this->datetime = new d4p_datetime_core();
38 + }
32 39
33 - public function ua() {
34 - return $this->_ua;
35 - }
40 + public function ip() {
41 + return $this->_ip;
42 + }
36 43
37 - public function plugins_loaded() {
38 - parent::plugins_loaded();
44 + public function ua() {
45 + return $this->_ua;
46 + }
39 47
40 - $this->_ip = d4p_visitor_ip();
41 - $this->_ua = d4p_user_agent();
48 + public function plugins_loaded() {
49 + parent::plugins_loaded();
42 50
43 - define('GDSIH_WPV', intval($this->wp_version));
44 - define('GDSIH_WPV_MAJOR', substr($this->wp_version, 0, 3));
45 - define('GDSIH_WP_VERSION', $this->wp_version_real);
51 + $this->_ip = d4p_visitor_ip();
52 + $this->_ua = $this->make_serialized_invalid( sanitize_text_field( d4p_user_agent() ) );
46 53
47 - do_action('gdsih_load_settings');
54 + define( 'GDSIH_WPV', intval( $this->wp_version ) );
55 + define( 'GDSIH_WPV_MAJOR', substr( $this->wp_version, 0, 3 ) );
56 + define( 'GDSIH_WP_VERSION', $this->wp_version_real );
48 57
49 - do_action('gdsih_plugin_init');
58 + do_action( 'gdsih_load_settings' );
50 59
51 - $this->load();
52 - }
60 + do_action( 'gdsih_plugin_init' );
53 61
54 - public function load() {
55 - add_action('gdsih_saved_the_settings', array($this, 'htaccess'));
62 + $this->load();
63 + }
56 64
57 - if (gdsih_settings()->get('mode', 'csp') != 'disable') {
58 - require_once(GDSIH_PATH.'core/objects/core.csp.build.php');
59 - require_once(GDSIH_PATH.'core/objects/core.csp.php');
65 + public function load() {
66 + add_action( 'gdsih_saved_the_settings', array( $this, 'htaccess' ) );
60 67
61 - new gdsih_component_csp();
62 - }
68 + if ( gdsih_settings()->get( 'mode', 'csp' ) != 'disable' ) {
69 + require_once( GDSIH_PATH . 'core/objects/core.csp.build.php' );
70 + require_once( GDSIH_PATH . 'core/objects/core.csp.php' );
63 71
64 - if (gdsih_settings()->get('x_xss_protection', 'xxp')) {
65 - require_once(GDSIH_PATH.'core/objects/core.xxp.php');
72 + $this->_csp = new gdsih_component_csp();
73 + }
66 74
67 - new gdsih_component_xxp();
68 - }
75 + if ( gdsih_settings()->get( 'x_xss_protection', 'xxp' ) ) {
76 + require_once( GDSIH_PATH . 'core/objects/core.xxp.php' );
69 77
70 - require_once(GDSIH_PATH.'core/objects/core.headers.php');
78 + $this->_xxp = new gdsih_component_xxp();
79 + }
71 80
72 - new gdsih_component_headers();
73 - }
81 + if ( gdsih_settings()->get( 'protection', 'feature' ) ) {
82 + require_once( GDSIH_PATH . 'core/objects/core.feature.build.php' );
83 + require_once( GDSIH_PATH . 'core/objects/core.feature.php' );
74 84
75 - public function htaccess() {
76 - require_once(GDSIH_PATH.'core/objects/core.htaccess.php');
85 + $this->_fep = new gdsih_component_feature_policy();
86 + }
77 87
78 - $htaccess = new gdsih_core_htaccess();
79 - $status = $htaccess->check();
88 + require_once( GDSIH_PATH . 'core/objects/core.headers.php' );
80 89
81 - if ($status['automatic']) {
82 - gdsih_settings()->set('htaccess_available', true, 'core');
90 + $this->_hdr = new gdsih_component_headers();
91 + }
83 92
84 - if (gdsih_settings()->get('htaccess')) {
85 - gdsih_settings()->set('htaccess_added', true, 'core');
93 + public function htaccess() {
94 + require_once( GDSIH_PATH . 'core/objects/core.htaccess.php' );
86 95
87 - $htaccess->write();
88 - } else {
89 - gdsih_settings()->set('htaccess_added', false, 'core');
96 + $htaccess = new gdsih_core_htaccess();
97 + $status = $htaccess->check();
90 98
91 - $htaccess->reset();
92 - }
99 + if ( $status['automatic'] ) {
100 + gdsih_settings()->set( 'htaccess_available', true, 'core' );
93 101
94 - gdsih_settings()->save('core');
95 - }
96 - }
102 + if ( gdsih_settings()->get( 'htaccess' ) ) {
103 + gdsih_settings()->set( 'htaccess_added', true, 'core' );
104 +
105 + $htaccess->write();
106 + } else {
107 + gdsih_settings()->set( 'htaccess_added', false, 'core' );
108 +
109 + $htaccess->reset();
110 + }
111 +
112 + gdsih_settings()->save( 'core' );
113 + }
114 + }
115 +
116 + public function build_headers_to_array() : array {
117 + $list = array();
118 +
119 + if ( $this->_csp !== false ) {
120 + $list['content-security-policy'] = $this->_csp->csp->build( true );
121 + }
122 +
123 + if ( $this->_xxp !== false ) {
124 + $list['x-xss-protection'] = $this->_xxp->build( true );
125 + }
126 +
127 + if ( $this->_fep !== false ) {
128 + $headers = $this->_fep->fep->build( true );
129 +
130 + if ( ! empty( $headers ) ) {
131 + foreach ( $headers as $header ) {
132 + $parts = explode( ' ', $header, 2 );
133 + $list[ strtolower( $parts[0] ) ] = $header;
134 + }
135 + }
136 + }
137 +
138 + $list += $this->_hdr->build( true );
139 +
140 + return $list;
141 + }
142 +
143 + private function make_serialized_invalid( $input ) {
144 + if ( ! is_string( $input ) || empty( $input ) ) {
145 + return $input;
146 + }
147 +
148 + if ( is_serialized( $input ) ) {
149 + return 'INVALID__' . $input;
150 + }
151 +
152 + return $input;
153 + }
97 154 }