首先读取主机名

URL可以包含方案、用户信息、主机、端口、路径、查询和片段。主机名标识目标名称;路径或查询中的词语不标识操作者。在https://example.net/bank-login中,bank-login是example.net上的一个路径。

@符号可引入用户信息。在https://[email protected]/中,目标主机名是example.net,而不是trusted-name。请保留原始字符串,然后使用符合标准的解析器,而不是仅凭肉眼查看链接。

编码和国际化域名

百分比编码可以隐藏路径和查询中的字符。国际化名称可能使用以xn--开头的Puncycode表示。在保持原始文本不变的情况下进行解码以进行解释。外观相似的Unicode字符不一定相同。

查询字符串可能包含登录令牌、标识符或个人数据。未经授权,请勿将完整的敏感URL发送给公共分析服务。片段通常由浏览器处理,而不是作为HTTP请求的一部分发送。

安全的初步分类

首先进行离线解析和公共DNS或注册信息查询。请勿在日常浏览器中访问可疑目标。解析器描述一个URL;它不证明目标是安全的。

  • 将原始URL保留在其原始消息或工件中。
  • 分别识别方案、主机、端口、路径和查询。
  • 检查用户信息、相似域名和编码字符。
  • 仅从用于外部提交的副本中删除敏感数据。

来源与延伸阅读

WHATWG, URL标准RFC 3986,URI通用语法
此资源支持调查分类。它不是法律建议、归因判断,也不是网站安全的认证。