控制试用订阅的访问

2024-03-03

我的任务是建立一个系统,允许我们公司的某人发送一封电子邮件,其中包含一个 pdf 文件的链接,该文件将保存在我们的网络服务器上。收件人可以点击链接查看我们通常销售的新闻通讯。我们的想法是我们这样做三个月,然后看看他们是否愿意继续并支付完整订阅费用。

我已经构建了注册部分,但我正在尝试找到发送电子邮件的最佳解决方案。这是我的想法,但我很感兴趣是否其他人有更好的东西。

1) 发送电子邮件时,生成附加到 URL 的通用代码。使用将遵循 url,它会检查我们的数据库是否有“ok”条目并通过/失败它们的访问。这看起来没问题,但是链接可以传递,甚至可以加载到任何人都可以访问的公共站点。

2)为了扩展上述内容,我想也许我会有一种“一次性点击”之类的事情,一旦我知道链接被点击,它可能会过期,因此任何后续点击都会失败。缺点是,如果他们单击查看并关闭窗口,那么他们就完成了。同样,如果他们单击并且计算机在下载完成之前崩溃,他们也会被锁定。我不知道是否有一种方法(对我来说是 PHP)来确认文件下载已完成......

3)我可以将文件放在 /Trials/201009/ 这样的目录中[电子邮件受保护] /cdn-cgi/l/email-protection文件上传的位置和链接的名称是随机的,因此很难猜测。然后我可以使用 .htaccess 使用不同的密码保护每个月的文件夹。这可能会变得乏味,并且很可能会让用户感到烦恼。

我们不想强迫他们管理自己的密码,因为必须登录并记住另一个帐户可能会阻碍参与。

感谢您的任何想法或指点。 D .


我建议使用随机代码对每个电子邮件地址进行身份验证,并在 5 天后过期。如果您限制对首先命中 url 哈希的 IP 的访问,这也可以工作,但可能会给合法用户/客户带来不便。

无论如何,让合法用户在需要时可以轻松请求新的身份验证代码。这样,即使您的任何限制给您的潜在客户带来不便,他们也不会对此感到恼火。

最后,考虑一下,如果他们喜欢 pdf 并想要分享它,他们可能会立即分享 pdf 本身,而不会费心链接。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

控制试用订阅的访问 的相关文章

随机推荐

  • 如何使用自定义形状的 fab 按钮制作 Bottombar?

    我想制作一个带有附加 fab 按钮的底栏 如下图所示 如果有人知道那种带有 fab 底部的不同形状按钮库 请向我推荐 下面给出的图像用这样的 fab 制作了一个底栏 这只是一个可以改进代码的想法 您可以更改形状FloatingActionB
  • 如何有条件地从 .NET 集合中删除项目

    我正在尝试在 NET 中编写一个扩展方法 它将对通用集合进行操作 并从集合中删除与给定条件匹配的所有项目 这是我的第一次尝试 public static void RemoveWhere
  • 如何用 C 语言为 PIC24 编写与硬件无关的函数

    我正在编写一些实现各种功能的代码 例如 PID 控制器 信号发生器等 我的硬件提供各种输入和输出 刚才我有大量 SWITCH 语句来确定计算的源和目的地 例如 对于 PID 控制器 每 100ms 有一个开关命令 决定将哪个输入传递给 pi
  • 如何通过 PHP 发布到 Google Plus? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否已经有一个浮动的非官方 PHP 库或类 我可以使用它来发布到用户的 Google Plus
  • 如果不存在则删除表空间

    我已经编写了 pl sql 脚本 可以工作 但看起来不太好 DECLARE v exists NUMBER BEGIN SELECT count INTO v exists FROM dba tablespaces WHERE tables
  • 将结果集从 SQL 数组转换为字符串数组

    我正在查询information schema columns我的 PostgreSQL 数据库中的表 使用表名 结果集查找所有列名 类型以及是否可为空 主键 id 除外 这是正在使用的查询 SELECT column name is nu
  • C# Lambda 表达式:为什么应该使用它们?

    我很快读完了微软 Lambda 表达式 http msdn microsoft com en us library bb397687 aspx文档 不过 这种例子帮助我更好地理解 delegate int del int i del myD
  • Isabelle 返回数字而不是 Suc(Suc( ... 0 ))

    当我使用value为了找出返回自然数的函数的某个值 我总是以 0 的迭代后继函数的形式获得答案 即Suc Suc 0 有时可能很难阅读 有没有办法直接输出Isabelle返回的数字 这是我不久前想修复的问题 但显然我忘记了 卡西吉奈特的猜测
  • 如何从 C# 获取进程窗口类名?

    如何获取某个进程的窗口类名 我想在c 中实现这一点 我已经尝试过 c 中的进程类 但我只能获取进程的窗口名称 Thanks 我假设你的意思是你想获得的类名主窗口一个过程的 为此 您需要使用以下命令获取主窗口的句柄MainWindowHand
  • C中的函数调用[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 gcc 允许将参数传递给定义为不带参数的函数 https stackoverflow com questions 12643202 why does gcc allow arguments t
  • SLURM:如何在同一计算节点或不同节点上并行运行不同的可执行文件?

    Goal 了解如何通过 sbatch 作业提交来运行 共同调度或执行可执行文件 应用程序 使用 srun 或 mpirun 研究 代码片段 bin bash SBATCH job name LEBT SBATCH partition ang
  • Office 脚本(Excel 网页版)获取错误

    我正在尝试从 Web 上的 Excel 调用外部 API 但是 我一直试图从 fetch 调用中获取结果 我什至使用 Office 文档示例来确保 在 Excel 中 单击自动化以创建新脚本 async function main work
  • 按具有不同Where条件的两个字段对数据表进行分组和求和

    我有一个包含示例数据的数据表 如下所示 UserName IsBillable Hours user1 Yes 10 user2 Yes 15 user3 No 20 user1 Yes 25 user1 No 15 user2 Yes 1
  • 如何在不改变纵横比的情况下适应QGraphicsView/QGraphicsScene中的像素图查看

    我正在使用 QGraphicsView QGraphicsScene 来显示图像 图像始终以其原始大小显示 并在末端带有滚动条 我希望 QGraphicsView 根据窗口的大小自动适应图像 保持纵横比 我尝试了这个 但什么也没发生 ui
  • PHP 表单令牌的使用和处理

    我是一个用 PHP 编写登录脚本的初学者 这是我到目前为止所拥有的表单令牌声明 SESSION form token md5 rand time true 该语句是在用户表示他 她想要登录后立即发出的 我有限的理解是 令牌的目的是在唯一的时
  • 取消的 AsyncTask 挂起新的 HttpRequest

    我遇到了 asynctasks 和 http 请求的问题 用户可以按下两个不同的按钮 这两个按钮都从网络服务器下载信息 我希望这些请求可以取消 每次调用之前都会显示一个进度对话框 http请求是在异步任务中执行的 并且我在进度对话框上有一个
  • 在 PHP 中到处使用准备好的语句? (原产地保护)

    我将把在多个站点 项目中使用的数据库类从使用自定义 mysql query 方法 切换到使用 PDO 和准备好的语句 不过我首先有一个问题 我想使用准备好的语句吗到处 即使在查询只运行一次的地方 我需要做类似以下事情的情况该怎么办 INSE
  • Lucene 的 Ruby 替代品

    我经常听说 Lucene 它是 Java 中最好的搜索引擎库之一 Ruby 有类似 同样强大 的库吗 嗯 有Ferret http ferret davebalmain com trac 这是 Lucene 到 Ruby 的端口 此外 Lu
  • Docker:无法打开从容器到主机的端口

    我在用着Docker for Mac 我有一个运行服务器的容器 例如我的服务器在端口 5000 上运行 我已将此端口公开Dockerfile 当我的容器运行时 我连接到该容器并通过运行下面的命令来检查该服务器是否正在工作 并查看它是否返回数
  • 控制试用订阅的访问

    我的任务是建立一个系统 允许我们公司的某人发送一封电子邮件 其中包含一个 pdf 文件的链接 该文件将保存在我们的网络服务器上 收件人可以点击链接查看我们通常销售的新闻通讯 我们的想法是我们这样做三个月 然后看看他们是否愿意继续并支付完整订