URL 跟踪

什么是 URL 跟踪

URL 中的跟踪参数和唯一 token 可能暴露链接来源和传播路径。

URL 并不只是表示网页位置的一串字符。

URL 中可能不仅包含要打开哪个页面的信息,还可能包含访问者来自哪条广告、点击了哪个社交媒体链接,或者这条链接是面向哪位用户生成的信息。

即使没有写入姓名或电子邮件地址,URL 中残留的参数也可能成为判断流量来源、搜索词、活动、点击 ID、引荐来源或会话信息的线索。

考虑匿名性时,只检查正文和图片,然后把要分享的 URL 原样贴出去,是有风险的。

本文整理 URL 跟踪是什么、URL 的哪些部分需要确认,以及分享前应如何判断。

什么是 URL 跟踪

URL 跟踪是使用附加在 URL 上的信息来测量访问来源和用户行为的机制。

例如,广告、电子邮件简报、社交媒体帖子、联盟链接和活动页面,可能会在 URL 末尾添加额外信息。

这些额外信息通常放在 URL 中 ? 的后面。

示例:

https://example.com/article?utm_source=newsletter&utm_campaign=spring

? 后面的部分称为查询字符串。查询字符串中可能包含搜索条件、页码、商品 ID、点击 ID、广告 ID、引荐者 ID 等值。

对网站运营者来说,URL 跟踪用于访问分析和广告效果测量。

但是,从匿名性的角度看,它也可能成为判断是谁分享了 URL,或链接经由什么路径被点击的线索。

URL 的哪些部分需要查看

检查 URL 时,重要的是不要把整个 URL 当作一个整体块来看。

URL 包含含义不同的部分。

部分示例从匿名性角度看什么
域名sample.test表示会连接到哪个网站
路径/article/network表示会打开哪个页面或功能
查询字符串?id=123&utm_source=sns可能包含搜索词、标识符或跟踪信息
参数名utm_source、ref、gclid是推测信息类型的线索
参数值newsletter、abc123可能表示流量来源、个人 ID 或活动
片段#section在普通 HTTP 请求中通常不会发送给服务器

尤其需要注意的是查询字符串。

并不是所有查询字符串都有危险。搜索结果页面或商品页面可能需要某些值才能正确显示页面。

另一方面,也可能附带了分享并不需要的跟踪参数。

关键是分开判断:“没有这个值页面是否还能打开”以及“这个值是否用于识别某个人”。

常见的跟踪参数

URL 跟踪中常见的值有一些固定模式。

类型示例含义
UTMutm_source、utm_medium、utm_campaign测量流量来源、媒介和活动
广告点击 IDgclid、fbclid、msclkid识别广告或社交媒体点击
引荐来源ref、referrer、source表示从哪里来
联盟推广affiliate、aff、partner表示介绍者或合作来源
分享用 IDshare、invite、campaign_id可能表示分享链接或邀请路径
类似会话的值session、sid、token可能接近个人状态或认证信息

有些值,例如 UTM 和点击 ID,很容易看出是为了跟踪。

另一方面,像 id 或 token 这样的名称,仅凭名称无法判断。id 可能是文章 ID,也可能是按用户生成的标识符。

把不明值当作“大概没问题”并不好。

URL 分享中会发生的失误

URL 跟踪导致的失误,不一定来自技术上复杂的攻击。

很多只是把复制来的 URL 原样贴出就会发生。

失误会发生什么
原样分享广告来源的 URL广告点击 ID 或活动信息会残留
原样粘贴邮件中的链接可能残留邮件投递用的识别信息
分享搜索结果 URL搜索词或搜索条件可能残留在 URL 中
分享登录后的 URL可能混入会话或个人页面的信息
不展开短链接就分享无法确认中转目标和是否存在跟踪

例如,假设有人用匿名账号介绍一篇文章。

正文中没有写个人信息。但是,如果粘贴的 URL 中残留了邮件投递 ID 或广告点击 ID,就会成为显示这条链接是经由什么路径取得的材料。

仅凭这一点不一定会暴露真实姓名。

但是,如果与发布时间、账号、Cookie、登录状态和访问日志结合起来,就会增强“像是同一个人”的判断。

在匿名性中,重要的是不要轻视这类很小的线索。

可以删除的值和不应删除的值

URL 参数并不是全部删掉就好。

有些值一旦删除,页面就不能正确打开。

类型处理理由
utm_source 等多数情况下可以删除多用于访问分析,页面显示通常不需要
gclid、fbclid 等多数情况下可以删除多用于广告或社交媒体点击测量
ref、affiliate 等确认内容可能与引荐信息或收益统计有关
page、q、id 等谨慎确认可能是页面显示或搜索条件所必需
token、sid、session 等优先判断为不分享可能接近个人状态或认证信息

基本判断很简单。

删除后仍能打开同一页面,那么它可能是分享时不需要的值。

删除后变成其他页面、搜索结果改变,或必要信息丢失,那么该值与页面内容有关。

不过,带有 token 或 session 这类值的 URL,本身就不适合公开分享。

与其清理这条 URL,不如另外寻找正式的分享链接更安全。

分享前的检查步骤

分享 URL 前,按以下顺序检查。

顺序检查内容理由
1检查整个 URL查看 ? 之后是否有不必要的信息
2寻找像跟踪用的参数确认 utm、gclid、fbclid、ref 等值
3分类不明值区分显示所需值和类似标识符的值
4用删除后的 URL 重新打开确认是否显示相同内容
5如果是短链接则展开确认最终连接目标和中转

如果可能,应在未登录状态或其他浏览器中检查。

如果用平时的浏览器检查,Cookie 和登录状态的影响可能导致分享“自己能打开,但别人打不开的 URL”。

匿名用途下,分享前只要在其他环境中打开确认一次,也能减少失误。

仅靠 URL 不能决定匿名性

即使清理了 URL,也不代表仅凭这一点就匿名了。

URL 只是线索之一。

同一篇帖子还涉及文章、图片、发布时间、账号、通信路径、登录状态和过去帖子。

例如,即使从 URL 中删除了跟踪参数,如果仍然登录在实名账号下发布,匿名性也会变弱。

相反,即使使用 VPN 或 Tor,如果分享的 URL 中残留个人 ID,也会在网络对策之外的位置发生关联。

URL 检查只是整体匿名性中的一个步骤。

总结

URL 跟踪是使用 URL 中包含的参数来测量访问来源和行为的机制。

UTM、点击 ID、引荐代码、短链接和重定向,可能成为分享来源或流入路径的线索。

考虑匿名性时,不仅要检查正文和图片,也要检查要分享的 URL。

重要的是区分可以删除的值和不应删除的值。跟踪用参数通常可以删除,而搜索词或页面 ID 这样的值可能是显示所必需的。

如果仍有不明值,不要把它当作安全。应推迟分享、寻找其他正式链接,或在其他环境中确认。

URL 看起来只是一小串字符。

但是,在匿名性中,这一小串字符可能会显示行动路径。

相关文章

返回文章列表