是否可以通过电子邮件中的点击在网站上预先填充密码字段


Is it possible to pre-populate a password field on a website through a click-through in an email?

我正在为一个客户构建一封电子邮件。他们希望将电子邮件发送到他们的登录页面,该页面已关闭。

是否可以单击电子邮件中的URL并让其自动生成网站的用户名和密码?

该网站只有一个登录名,因此所有电子邮件收件人都可以登录。

谢谢,

为什么不在已填充登录名和密码的情况下构建网页呢。

例如:

<form method="POST" action="http://">
    <label for="username">Username:</label> 
    <input placeholder="MyLogin" id="username" name="username" size="15">
  <br /><br />
    <label for="password">Password:</label> 
    <input placeholder="MyPassword" type="password" id="password" name="password" size="15">
  <br /><br />
    <input type="submit" value="Login">
    </form>

这是可能的,但不确定这是否是最安全的做法。

如果我要实施,我会:

  1. 创建一个系统以发布与系统中的用户关联的令牌并且可能有某种过期和"已使用"标志来防止共享链接。

  2. 创建一个登录页/api端点,用于查找令牌、检索用户凭据,并执行任何处理身份验证的登录工作流。

  3. 电子邮件中的链接会将您直接带到登录页/api端点以及为用户颁发的令牌。一旦进入此处理页面,请检查令牌是否已使用,检查是否过期,将令牌标记为"已使用",然后继续身份验证。

我也做过类似的事情(尽管不建议使用密码)。

在登录页上放置一些代码,在页面加载时检查URL:

window.onload = function(){
  var key = window.location.search; // grab the ?XXX part of the URL
  if (key == '?some_key'){
    populateInputs(); // function to fill user/pass
  }
}

然后你可以发送这样的链接:www.thesite.com/landingPage.html?some_key

这只是一个简单的例子,希望能让你了解如何完成任务。