bugix: CookieJar returns cookies with domain "domain.com" for domain "foodomain.com"

This commit is contained in:
Povilas Skruibis 2013-09-25 14:22:21 +03:00 committed by Fabien Potencier
parent 9016f7dd68
commit 89809541b9
2 changed files with 11 additions and 2 deletions

View File

@ -195,8 +195,8 @@ class CookieJar
$cookies = array();
foreach ($this->cookieJar as $domain => $pathCookies) {
if ($domain) {
$domain = ltrim($domain, '.');
if ($domain != substr($parts['host'], -strlen($domain))) {
$domain = '.'.ltrim($domain, '.');
if ($domain != substr('.'.$parts['host'], -strlen($domain))) {
continue;
}
}

View File

@ -195,4 +195,13 @@ class CookieJarTest extends \PHPUnit_Framework_TestCase
$this->assertEquals(array('foo' => 'bar1'), $cookieJar->allValues('http://foo.example.com/'));
$this->assertEquals(array('foo' => 'bar2'), $cookieJar->allValues('http://bar.example.com/'));
}
public function testCookieWithWildcardDomain()
{
$cookieJar = new CookieJar();
$cookieJar->set(new Cookie('foo', 'bar', null, '/', '.example.com'));
$this->assertEquals(array('foo' => 'bar'), $cookieJar->allValues('http://www.example.com'));
$this->assertEmpty($cookieJar->allValues('http://wwwexample.com'));
}
}