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');
+ }
+}