短信客户端 URL 预览检测

Posted

技术标签:

【中文标题】短信客户端 URL 预览检测【英文标题】:SMS client URL preview detection 【发布时间】:2018-10-02 03:37:58 【问题描述】:

我的应用程序的用户最近发现了一种情况,这是我在 2 年多前遇到的情况。

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

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

我有一个相同的解决方法,例如显示一个假页面或类似的东西,但我不想使用它,因为我知道这认为我很常见,你们这些天才们有一些东西可以分享。

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

【问题讨论】:

【参考方案1】:

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

因此,基于此的阻止是一个不断变化的目标,每个应用都可以根据需要使用不同的代理。

我一直反对这一点的方式是,获取操作绝不应该是破坏性操作。 get 应该始终可以安全地一遍又一遍地运行。 如果您需要破坏性操作,该页面应包含某种形式的用户输入/按钮/链接,这会触发向服务器发送帖子。

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

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

【讨论】:

以上是关于短信客户端 URL 预览检测的主要内容,如果未能解决你的问题,请参考以下文章

视频url保存失败怎么办

企业信使短信接口API代码示例

Android点击短信链接打开App之App Link 技术实现(亲证篇)

如何防范短信接口被恶意调用(被刷)(转)

从单个链接打开原生应用商店?

前端图片预览,上传前预览,兼容IE7891011,Firefox,Chrome