Skip to content

Commit 5425d8c

Browse files
committed
Change the default value of cookie_httponly to fix #15303
1 parent 96e211d commit 5425d8c

File tree

7 files changed

+31
-5
lines changed

7 files changed

+31
-5
lines changed

UPGRADE-2.8.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,3 +136,17 @@ DependencyInjection
136136
<service id="foo" class="stdClass" shared="false" />
137137
</services>
138138
```
139+
140+
FrameworkBundle
141+
---------------
142+
143+
* The default value of the parameter `session`.`cookie_httponly` is now `true`.
144+
It prevents scripting languages, such as JavaScript to access the cookie,
145+
which help to reduce identity theft through XSS attacks. If your
146+
application need to access the session cookie override this parameter:
147+
148+
```yaml
149+
framework:
150+
session:
151+
cookie_httponly: false
152+
```

UPGRADE-3.0.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,18 @@ UPGRADE FROM 2.x to 3.0
468468
interface.
469469
The `security.csrf.token_manager` should be used instead.
470470

471+
* The default value of the parameter `session`.`cookie_httponly` is now `true`.
472+
It prevents scripting languages, such as JavaScript to access the cookie,
473+
which help to reduce identity theft through XSS attacks. If your
474+
application need to access the session cookie override this parameter:
475+
476+
```yaml
477+
framework:
478+
session:
479+
cookie_httponly: false
480+
```
481+
482+
471483
### HttpKernel
472484

473485
* The `Symfony\Component\HttpKernel\Log\LoggerInterface` has been removed in

src/Symfony/Bundle/FrameworkBundle/DependencyInjection/Configuration.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ private function addSessionSection(ArrayNodeDefinition $rootNode)
340340
->scalarNode('cookie_path')->end()
341341
->scalarNode('cookie_domain')->end()
342342
->booleanNode('cookie_secure')->end()
343-
->booleanNode('cookie_httponly')->end()
343+
->booleanNode('cookie_httponly')->defaultTrue()->end()
344344
->scalarNode('gc_divisor')->end()
345345
->scalarNode('gc_probability')->defaultValue(1)->end()
346346
->scalarNode('gc_maxlifetime')->end()

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/php/full.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
'cookie_path' => '/',
3333
'cookie_domain' => 'example.com',
3434
'cookie_secure' => true,
35-
'cookie_httponly' => true,
35+
'cookie_httponly' => false,
3636
'gc_maxlifetime' => 90000,
3737
'gc_divisor' => 108,
3838
'gc_probability' => 1,

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/xml/full.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
<framework:esi enabled="true" />
1515
<framework:profiler only-exceptions="true" enabled="false" />
1616
<framework:router resource="%kernel.root_dir%/config/routing.xml" type="xml" />
17-
<framework:session gc-maxlifetime="90000" gc-probability="1" gc-divisor="108" storage-id="session.storage.native" handler-id="session.handler.native_file" name="_SYMFONY" cookie-lifetime="86400" cookie-path="/" cookie-domain="example.com" cookie-secure="true" cookie-httponly="true" save-path="/path/to/sessions" />
17+
<framework:session gc-maxlifetime="90000" gc-probability="1" gc-divisor="108" storage-id="session.storage.native" handler-id="session.handler.native_file" name="_SYMFONY" cookie-lifetime="86400" cookie-path="/" cookie-domain="example.com" cookie-secure="true" cookie-httponly="false" save-path="/path/to/sessions" />
1818
<framework:request>
1919
<framework:format name="csv">
2020
<framework:mime-type>text/csv</framework:mime-type>

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/Fixtures/yml/full.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ framework:
2424
cookie_path: /
2525
cookie_domain: example.com
2626
cookie_secure: true
27-
cookie_httponly: true
27+
cookie_httponly: false
2828
gc_probability: 1
2929
gc_divisor: 108
3030
gc_maxlifetime: 90000

src/Symfony/Bundle/FrameworkBundle/Tests/DependencyInjection/FrameworkExtensionTest.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -149,7 +149,7 @@ public function testSession()
149149
$this->assertEquals('/', $options['cookie_path']);
150150
$this->assertEquals('example.com', $options['cookie_domain']);
151151
$this->assertTrue($options['cookie_secure']);
152-
$this->assertTrue($options['cookie_httponly']);
152+
$this->assertFalse($options['cookie_httponly']);
153153
$this->assertEquals(108, $options['gc_divisor']);
154154
$this->assertEquals(1, $options['gc_probability']);
155155
$this->assertEquals(90000, $options['gc_maxlifetime']);

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy