diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml index 7d10cc70b9ee5..354dbe18c0119 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/debug.xml @@ -10,6 +10,7 @@ %kernel.cache_dir%/%kernel.container_class%.xml Symfony\Component\HttpKernel\Controller\TraceableControllerResolver Symfony\Component\HttpKernel\EventListener\DeprecationLoggerListener + Symfony\Component\HttpKernel\EventListener\DefaultSecretListener @@ -33,5 +34,12 @@ + + + + + + %kernel.secret% + diff --git a/src/Symfony/Component/HttpKernel/EventListener/DefaultSecretListener.php b/src/Symfony/Component/HttpKernel/EventListener/DefaultSecretListener.php new file mode 100644 index 0000000000000..1c2f48207b2d3 --- /dev/null +++ b/src/Symfony/Component/HttpKernel/EventListener/DefaultSecretListener.php @@ -0,0 +1,45 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\HttpKernel\EventListener; + +use Symfony\Component\HttpKernel\Log\LoggerInterface; +use Symfony\Component\EventDispatcher\EventSubscriberInterface; +use Symfony\Component\HttpKernel\KernelEvents; + +/** + * Checks that the kernel.secret parameter isn't set to the default. + * + * @author Lee McDermott + */ +class DefaultSecretListener implements EventSubscriberInterface +{ + private $logger; + private $secret; + + public function __construct(LoggerInterface $logger = null, $secret) + { + $this->logger = $logger; + $this->secret = $secret; + } + + public function onKernelRequest() + { + if ('ThisTokenIsNotSoSecretChangeIt' === $this->secret) { + $this->logger->alert('The "kernel.secret" parameter is currently set to the default. It is important that you change it'); + } + } + + public static function getSubscribedEvents() + { + return array(KernelEvents::REQUEST => 'onKernelRequest'); + } +}