【问题标题】:Safe emailing of software软件的安全电子邮件
【发布时间】:2009-07-25 04:10:08
【问题描述】:

有些人通过 PayPal 购买了我的应用程序(没有 DRM)。我没有在应用程序中包含更新功能(坏主意。)现在有了更新,我想我可以通过电子邮件向所有以前的客户发送他们可以安装的更新版本的链接。不幸的是,这个想法太容易受到攻击(只需在论坛上复制和发布链接),因此被拒绝了。如何向所有购买了该应用程序的人发送电子邮件,并提供一个不易受到攻击的安全链接?
谢谢,艾萨克

【问题讨论】:

    标签: software-distribution


    【解决方案1】:

    也许考虑一下:

    • 将更新的包上传到您的网站/ftp。保护它。
    • 向每位客户发送登录页面的链接
    • 每个链接都应在查询字符串中包含一个参数 - 也许是一个 GUID,供一次性使用。
    • 要求用户输入他们的电子邮件地址,并确保它与您记录在案的该电子邮件地址的 GUID 相匹配。
    • 下载后,拒绝使用该电子邮件地址或 GUID 进行任何下载;写入小型数据库(即 SQLite)
    • 如果客户需要多次下载,请让他们向您发送电子邮件。您可以向他们重新发送带有新 GUID 的新下载链接。这将全部与他们的电子邮件地址相关联,以实现可追溯性。
    • 也许甚至不强迫用户给你发电子邮件。重新生成新的 GUID,但将用户限制为 2 或 3 个自动生成的 GUID。
    • 您现在有关于谁下载了什么以及下载了多少次的统计信息?

    此模式可以复制到您要提供下载的所有产品以及每个不同的版本。在所有这些情况下都可以利用这个方案。

    【讨论】:

    • 好主意,但只是一个问题:散列查询参数的用途是什么?
    【解决方案2】:

    只需创建一个可以对用户进行身份验证的 Web 应用程序。向您的客户发送电子邮件,以便他们可以注册到您的网站,并创建用户名/密码来下载您的应用程序。每次有新的更新,他们就可以进去,认证和下载。 您还可以创建仅有效一次的链接,这也由您的网络应用程序处理。

    【讨论】:

      【解决方案3】:

      您可以让更新安装程序要求安装原始版本。或者,您可以使用安装程序在安装前发送回服务器的 id 标记每个下载,以检查该副本之前是否已安装,以防止重新上传。 (可能希望允许重新安装几次)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-05-27
        • 2020-08-28
        • 1970-01-01
        • 1970-01-01
        • 2012-04-10
        • 1970-01-01
        • 2013-01-15
        • 1970-01-01
        相关资源
        最近更新 更多