Skip to content

Commit a7bef1e

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

File tree

6 files changed

+27
-13
lines changed

6 files changed

+27
-13
lines changed

UPGRADE-2.8.md

Lines changed: 22 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -8,32 +8,32 @@ Form
88
option together with the `Valid` constraint instead. Contrary to
99
"cascade_validation", "constraints" must be set on the respective child forms,
1010
not the parent form.
11-
11+
1212
Before:
13-
13+
1414
```php
1515
$form = $this->createForm('form', $article, array('cascade_validation' => true))
1616
->add('author', new AuthorType())
1717
->getForm();
1818
```
19-
19+
2020
After:
21-
21+
2222
```php
2323
use Symfony\Component\Validator\Constraints\Valid;
24-
24+
2525
$form = $this->createForm('form', $article)
2626
->add('author', new AuthorType(), array(
2727
'constraints' => new Valid(),
2828
))
2929
->getForm();
3030
```
31-
31+
3232
Alternatively, you can set the `Valid` constraint in the model itself:
33-
33+
3434
```php
3535
use Symfony\Component\Validator\Constraints as Assert;
36-
36+
3737
class Article
3838
{
3939
/**
@@ -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 needs to access the session cookie, override this parameter:
147+
148+
```yaml
149+
framework:
150+
session:
151+
cookie_httponly: false
152+
```

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