【问题标题】:How to implement Email validation using Apex?如何使用 Apex 实现电子邮件验证?
【发布时间】:2017-08-14 22:38:37
【问题描述】:

我正在研究 Apex,并且正在尝试实施电子邮件验证流程。当用户订阅时,他将收到一封邮件,其中包含验证其帐户的链接。

我打算这样做的方式是:

在用户表中,创建两列,用唯一的随机 20 个字符代码 Column1,Column 2,20 个字符长;

例如

  • 第 1 列:sd7f54xcze4aze654SDF
  • 第 2 列:q4fg4apu8ty9cf3q21cq

然后创建一个包含两个隐藏项的public页面;比方说:

  • 字段 1
  • 字段 2

在电子邮件中会有一个链接打开页面并填写这两个非保护字段:

顶点:

www.domain.com/f?p=App:MyPageID:Field1,Field2:Code1,Code2

然后用户将点击提交。

内部进程会在表Users中搜索,并检查是否有新的用户,其列1和列2对应这两个代码。

如果是这种情况,则验证帐户,否则抛出错误。

请问这个实现安全吗?

提前致谢。

【问题讨论】:

  • 为什么是 2 个字段和值?单个 40 个字符的字符串同样安全。

标签: security oracle-apex


【解决方案1】:

我想通过在您的网址和页面级别添加校验和来防止网址篡改。

【讨论】:

  • 我昨天投了赞成票,但实际上这在通过电子邮件发送的链接中是不可能的。校验和特定于会话。假设您的意思是 APEX 校验和,而不是定制的......?
  • 不,我说的是顶点校验和。这通常会起作用。通过使用 apex_util.prepare_url 。例如: apex_util.prepare_url( p_url =>'apex.oracle.com/pls/apex/… => 3) Apex 根据您的 url 参数进行计算并生成校验和。然后当用户点击链接时,顶点验证校验和是否相同。但我注意到 apex_util.prepare_url 有问题程序不生成校验和我不知道为什么? community.oracle.com/thread/3979483
  • 对不起,看来我错了!我认为 APEX 校验和是特定于会话的,但它似乎毕竟不是。
猜你喜欢
  • 1970-01-01
  • 2011-01-10
  • 2018-07-10
  • 1970-01-01
  • 1970-01-01
  • 2011-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多