SMS客户端URL预览检测

时间:2018-04-21 17:10:56

标签: c# asp.net html5 web

我的应用程序用户最近确定了一种情况,这是我2年多前做过的。

为了简化问题,有一个URL链接发送给客户,点击该链接,根据与URL查询字符串一起传递的加密密钥执行某些操作。之前它工作正常,因为用户必须单击SMS中的链接才能执行该操作。但现在短信客户端,例如在iPhone或类似的东西,他们拿起URL并尝试显示预览(类似于什么是应用程序Skype等)。但问题是该链接只有一次,并且在第二次点击时链接已经过期,因为假设它已经被击中。

因此,在这种情况下,用户永远无法进入下一步,因为链接已经以消息预览的形式消费。

我有一个相同的工作,例如显示一个假的页面或类似的东西,但我不想使用它,因为我明白,这认为我很常见,你有天才的人有分享。< / p>

请分享如何识别正在寻找og标签的客户端或如何识别这些类型的客户端,以便除非用户通过点击链接手动完成,否则不会处理实际请求。

1 个答案:

答案 0 :(得分:1)

据我所知,没有一致的用户代理客户端必须在开放图表规范中使用。

因此基于此的阻止是一个不断变化的目标,如果他们愿意,每个应用程序可以使用不同的代理。

我一直反驳的方式是,获取行动永远不应该是一种破坏性的行动。 get应始终安全地反复运行。 如果您需要破坏性操作,页面应包含某种形式的用户输入/按钮/链接,这将触发发布到服务器。

如果需要,您还可以通过要求用户确认数据中的某些内容,在链接中添加更高级别的安全性,例如:他们的电话号码。

这意味着如果链接落入坏人之手(请记住,SMS未加密,因此可以窥探),如果没有此信息,用户需要输入,他们将无法执行链接的破坏性操作。