Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthieu Napoli <matthieu@mnapoli.fr>2015-06-23 16:09:06 +0300
committerMatthieu Napoli <matthieu@mnapoli.fr>2015-06-24 22:22:02 +0300
commit12241c90dfb13d91b779f70ecc53eb1a643831dc (patch)
tree470bb74edb54e243a6c6b57b8e598375d4353459 /core/Tracker/Visit
parentb1df4aa23693096e0c3cbb479b71b8cb1d4ddb4a (diff)
#7674 Auto-update the referrer spammer blacklist
The blacklist is updated weekly from github (stored in the option table).
Diffstat (limited to 'core/Tracker/Visit')
-rw-r--r--core/Tracker/Visit/ReferrerSpamFilter.php14
1 files changed, 12 insertions, 2 deletions
diff --git a/core/Tracker/Visit/ReferrerSpamFilter.php b/core/Tracker/Visit/ReferrerSpamFilter.php
index 0c6ee6204a..fca4ab68c9 100644
--- a/core/Tracker/Visit/ReferrerSpamFilter.php
+++ b/core/Tracker/Visit/ReferrerSpamFilter.php
@@ -3,6 +3,7 @@
namespace Piwik\Tracker\Visit;
use Piwik\Common;
+use Piwik\Option;
use Piwik\Tracker\Request;
/**
@@ -10,6 +11,7 @@ use Piwik\Tracker\Request;
*/
class ReferrerSpamFilter
{
+ const OPTION_STORAGE_NAME = 'referrer_spam_blacklist';
/**
* @var string[]
*/
@@ -43,8 +45,16 @@ class ReferrerSpamFilter
return $this->spammerList;
}
- $file = PIWIK_INCLUDE_PATH . '/vendor/piwik/referrer-spam-blacklist/spammers.txt';
- $this->spammerList = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
+ // Read first from the auto-updated list in database
+ $list = Option::get(self::OPTION_STORAGE_NAME);
+
+ if ($list) {
+ $this->spammerList = unserialize($list);
+ } else {
+ // Fallback to reading the bundled list
+ $file = PIWIK_INCLUDE_PATH . '/vendor/piwik/referrer-spam-blacklist/spammers.txt';
+ $this->spammerList = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
+ }
return $this->spammerList;
}