如何在不暴露Matomo服务器地址的情况下追踪多个网站

默认情况下,Matomo(Piwik)的追踪代码都包含Matomo的服务器地址。对于大多数用户来说,这没什么问题,但有些人(如竞争对手)就可以运行一个脚本找到所有源码中包含你的matomo服务器地址的网站。这样Ta就可以找到你的matomo实例追踪的所有网站。

欢迎加入Matomo中文网官方QQ群255820112(点击滚动至本页末可扫描二维码),随时提问,有问必答。

在一些情况下,你可能想完全隐藏你的matomo网址,同时不影响在你的matomo实例中追踪多个网站。

通过修改matomo的javascript代码,这是可以实现的。我们可以把你的matomo服务器地址修改成“代理piwik.php脚本”。不过这个piwik.php脚本必须被上传到所有被追踪的网站,它可以将所有请求秘密转发到你的matomo服务器。

  • 关于如何安装脚本的文档位于piwik/tracker-proxy. 在此有以下提醒
    • tracker-proxy中的piwik.php文件名称可以修改成任意名称
    • config.php配置中的$PIWIK_URL表示matomo实例的网址(最后切记别忘了斜杠),$PROXY_URL表示tracker-proxy中piwik.php对应的网址(去掉piwik.php)
  • 仔细按照文档的说明,你就可以在不暴露你的maotmo服务器地址的情况追踪所有网站,这样就没有人会发现并攻击你的maotmo服务器,同时也不会知道你的matomo服务承载了哪些网站的追踪任务了。

具体步骤如下

具体步骤如下
1. 在matomo服务器中使用超级用户登录并创建用户,例如tracking_api,然后为相应网站授权为admin;然后登录用户tracking_api, 然后在左边菜单中点击”API”,即可找到对应的token_auth
2. 下载piwik.php, proxy.php, matomo-proxy.php, plugins/HeatmapSessionRecording/configs.php, 并上传到被追踪网站的特定目录(如http://www.trackedsite.com/tracking/)
3. 修改config.php文件中的参数
• $PIWIK_URL Matomo服务器地址,一定不要忘记最后的斜杠
• $PROXY_URL tracker-proxy中piwik.php文件对应的网址(去掉piwik.php),如http://www.trackedsite.com/tracking/
• $TOKEN_AUTH 对应API用户的授权token
4. 客户端代码如下
<script type=”text/javascript”>
var _paq = _paq || [];
_paq.push([‘trackPageView’]);
_paq.push([‘enableLinkTracking’]);

(function() {
var u=”// www.trackedsite.com /tracking”;
_paq.push([“setTrackerUrl”, u+”piwik.php”]);
_paq.push([“setSiteId”, “trackedsite-id”]);
var d=document, g=d.createElement(“script”), s=d.getElementsByTagName(“script”)[0];
g.type=”text/javascript”; g.async=true; g.defer=true; g.src=u+”piwik.php”; s.parentNode.insertBefore(g,s);
})();
</script>

Leave a Reply

Your email address will not be published. Required fields are marked *