Learn

38 篇文章分类:全部
URL 跟踪

什么是 URL 跟踪

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,很容易看出是为了跟踪。

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

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

URL 分享中会发生的失误

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

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

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

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

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

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

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

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

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

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

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

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

基本判断很简单。

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

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

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

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

分享前的检查步骤

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

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

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

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

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

仅靠 URL 不能决定匿名性

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

URL 只是线索之一。

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

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

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

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

总结

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

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

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

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

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

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

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

相关文章