From ad4912f2e7c5ada1e6ee4c51f841c559ef8410c5 Mon Sep 17 00:00:00 2001 From: barbushin <barbushin@gmail.com> Date: Wed, 15 Jul 2015 12:08:51 +0300 Subject: [PATCH] Ignore sub-domains in whitelist urls matching --- core/Tracker/VisitExcluded.php | 2 +- tests/PHPUnit/Integration/Tracker/VisitTest.php | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/core/Tracker/VisitExcluded.php b/core/Tracker/VisitExcluded.php index ef0cd00b6d..0bc6fa2fbb 100644 --- a/core/Tracker/VisitExcluded.php +++ b/core/Tracker/VisitExcluded.php @@ -293,7 +293,7 @@ class VisitExcluded if (!empty($site['exclude_unknown_urls']) && !empty($site['hosts'])) { $trackingHost = parse_url($this->request->getParam('url'), PHP_URL_HOST); foreach ($site['hosts'] as $siteHost) { - if ($trackingHost == $siteHost) { + if ($trackingHost == $siteHost || (substr($trackingHost, -strlen($siteHost) - 1) === ('.' . $siteHost))) { return false; } } diff --git a/tests/PHPUnit/Integration/Tracker/VisitTest.php b/tests/PHPUnit/Integration/Tracker/VisitTest.php index 107c16c083..e870fa6c51 100644 --- a/tests/PHPUnit/Integration/Tracker/VisitTest.php +++ b/tests/PHPUnit/Integration/Tracker/VisitTest.php @@ -108,8 +108,6 @@ class VisitTest extends IntegrationTestCase 'http://test.com/uri' => true, 'http://test.com/?query' => true, 'http://xtest.com' => false, - 'http://x.test.com' => false, - 'http://x.com/test.com' => false, )), array(array('http://test.com', 'http://localhost'), true, array( 'http://test.com' => true, @@ -119,6 +117,16 @@ class VisitTest extends IntegrationTestCase array(array('http://test.com'), false, array( 'http://x.com' => true, )), + array(array('http://test.com', 'http://sub.test2.com'), true, array( + 'http://sub.test.com' => true, + 'http://sub.sub.test.com' => true, + 'http://subtest.com' => false, + 'http://test.com.org' => false, + 'http://sub.test2.com' => true, + 'http://x.sub.test2.com' => true, + 'http://xsub.test2.com' => false, + 'http://sub.test2.com.org' => false, + )), ); } -- GitLab