Learn

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

未知 URL 参数

URL 中不只会带有容易理解含义的参数。

utm_sourcegclid 这样容易推测为跟踪目的的参数存在,像 idtokencidsourcerefsession 这样,仅凭外观难以判断的值也存在。

看到未知参数时,认为“因为不知道所以可以删”,或“因为不知道所以保留就好”,都很危险。

匿名性中重要的是区分该值是否为页面显示所必需,还是用于识别用户或路径。

本文整理如何阅读和判断未知 URL 参数。

什么是未知参数

未知参数是指仅凭名称难以判断用途的 URL 内部值。

例如下面这样的字符串。

sample.test/page?id=123&cid=abc&token=xyz

这里的 sample.test 是说明用字符串。

id=123 可能是文章 ID。也可能是商品 ID。也可能是每个用户的 ID。

cid=abc 可能是活动 ID。也可能是客户 ID。

token=xyz 可能是接近临时访问权限或会话的值。

不能只凭名称决定。

因此,未知参数应作为“推测含义、确认行为、必要时不共享”的对象来处理。

分类思考

把未知参数分成几类来看,会更容易判断。

种类例子处理
显示所需值id、page、q、category删除后内容可能改变
像跟踪的值cid、campaign、source、ref共享时可能不需要
像个体识别的值uid、user、visitor、client成为接近用户或终端的线索
像认证或临时链接的值token、session、sid、key优先判断为不公开共享
含义不明的长值随机英数字可能是个别发放,应谨慎处理

这种分类不是完全判定。

但是,比什么都不想就粘贴更安全。

特别是 tokensessionsidkey 这样的值,要谨慎处理。它们可能不是共享用 URL,而是与登录状态或临时访问有关的 URL。

确认可否删除

未知参数要实际删除后确认。

但是,如果只用平时登录着的浏览器确认,可能会判断错误。

顺序确认内容理由
1查看参数名推测接近跟踪、显示、认证中的哪一种
2逐个删除区分哪个值是页面显示所必需
3用其他浏览器打开减少 和登录状态影响
4以退出登录状态打开确认他人也能看到的 URL
5残留不明长值时不共享避免个别链接的可能性

一次性全部删除,就不知道哪个值是必需的。

逐个删除,更容易区分显示所需值和不需要的值。

未知值变危险的场景

未知参数成为问题,不只是因为值本身可能是可读个人信息。

即使看似随机的英数字,在服务内部也可能与特定用户、投放、邀请、点击、会话连接。

场景会发生什么
邮件个别链接可能带有表示发给谁的值
邀请链接邀请者或被邀请者可能被记录
限定公开链接变成只有知道 URL 的人才能看
购买・申请后页面接近订单或申请的信息可能留在 URL
管理画面或预览可能共享本来不是公开用的页面

用匿名账号共享这样的 URL 时,即使隐藏网络路径,URL 一侧也会产生关联。

不会消除 URL 中包含的识别符。

不应共享的信号

未知参数中,有些在删除之前就应避免共享。

出现以下情况时,比起强行整理后共享,更应该从公开页面或官方分享按钮寻找其他 URL。

信号理由
包含 token、session、sid可能接近临时状态或认证
URL 极端长可能包含大量个别状态或跟踪信息
只有登录中能打开可能是他人看不到的个人页面
有表示管理、编辑、预览的词可能不是公开用 URL
删除后内容大幅改变该值与页面内容强相关

在匿名性中,重要的是不要把不懂的东西当作安全。

“不太懂,但大概没事”是危险判断。

常见误解

关于未知参数,有几个常见误解。

首先是“随机英数字没有意义”。

实际上,看似随机的值越可能在内部作为单个用户识别符使用。

其次是“没有自己的名字就没问题”。

匿名性中有问题的不只是姓名。个别发放链接、邮件投放 ID、邀请 ID、会话 ID 会与服务侧日志连接。

最后是“把 URL 缩短就安全”。

短链接只是缩短外观。如果展开目标中仍残留未知参数,问题并没有消失。

实践判断

看到未知参数时,按以下方式判断。

  • 确认是否像显示所需值
  • 将类似跟踪、介绍、活动的值作为删除候选
  • 对 token、session、sid、key 等优先选择不共享
  • 删除后用其他浏览器重新打开
  • 如果仍残留不明值,寻找官方共享 URL

这种判断看起来麻烦。

但是,匿名共享的 URL 是帖子正文的一部分。

如果要重读正文,也需要重读 URL。

总结

未知 URL 参数是指仅凭名称难以判断用途的 URL 内部值。

idcidreftokensession 这样的值,需要确认它们与页面显示、跟踪、个体识别、认证中的哪一种有关。

未知值不能立即判断为可以删除,也不能立即判断为保留即可。

要逐个删除,用其他浏览器或退出登录状态确认,减少共享不需要的值。

特别是存在 token、session、sid、key 这样的值时,应优先选择不共享。

URL 中残留的小值,可能与服务侧日志和访问时刻连接。

匿名性中,重要的是不要放置不明值。

相关文章