UpgradeInsecure.php 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. <?php
  2. /***
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Store\Model\HeaderProvider;
  7. use \Magento\Store\Model\Store;
  8. /**
  9. * Adds an Content-Security-Policy header to HTTP responses.
  10. */
  11. class UpgradeInsecure extends \Magento\Framework\App\Response\HeaderProvider\AbstractHeaderProvider
  12. {
  13. /**
  14. * Upgrade Insecure Requests Header name
  15. *
  16. * @var string
  17. */
  18. protected $headerName = 'Content-Security-Policy';
  19. /**
  20. * Upgrade Insecure Requests header value
  21. *
  22. * @var string
  23. */
  24. protected $headerValue = 'upgrade-insecure-requests';
  25. /**
  26. * @var \Magento\Framework\App\Config\ScopeConfigInterface
  27. */
  28. protected $scopeConfig;
  29. /**
  30. * UpgradeInsecure constructor.
  31. *
  32. * @param \Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig
  33. */
  34. public function __construct(\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig)
  35. {
  36. $this->scopeConfig = $scopeConfig;
  37. }
  38. /**
  39. * @inheritdoc
  40. */
  41. public function canApply()
  42. {
  43. return $this->scopeConfig->isSetFlag(Store::XML_PATH_SECURE_IN_FRONTEND)
  44. && $this->scopeConfig->isSetFlag(Store::XML_PATH_SECURE_IN_ADMINHTML)
  45. && $this->scopeConfig->isSetFlag(Store::XML_PATH_ENABLE_UPGRADE_INSECURE);
  46. }
  47. }