假设只有iOS版本在UserAgent字符串中包含下划线是否安全?

时间:2015-08-17 15:50:25

标签: c# user-agent

首先,我使用HttpContext.Current.Request.UserAgent获取userAgent字符串。

然后,我使用us-parser C#库来获取有关useragent字符串的信息。我注意到iOS的版本总是用下划线写成 - " {Major_Minor_Patch}" (例如" 4_3_3")。

我正在使用:clientInfo.OS.ToString()提取版本,但它使用"来分隔主要,次要,补丁。"所有操作系统的符号(see source)。我真的需要通过" _"传递有关版本的信息。如果它是如何在使用者。

两个问题:

  • 可以安全地假设只有iOS版本在userAgent中附带下划线吗?

  • 可以安全地假设所有iOS版本都在userAgent中附带下划线吗?

1 个答案:

答案 0 :(得分:2)

简答:

  1. 不,假设只有iOS在用户代理字符串中放置下划线是不安全的。通过大多数浏览器的插件,用户代理几乎可以设置为任何东西。

  2. 只有Apple可以肯定地回答这个问题。鉴于1的答案,我不会依赖它。

  3. 只有您可以决定检测下划线是否“足够好”以满足您的需要。我自己不会依赖它!