Authentication 如何实现Querystring身份验证

Authentication 如何实现Querystring身份验证,authentication,Authentication,我正在开发一个客户的网站,他们正在向客户发送时事通讯(通过网站管理界面) 新闻稿是每个订阅的收件人/客户的个人信息。 每个收件人/客户也是一个具有用户名/密码的用户,该用户名/密码使他们能够登录网站、管理其新闻稿订阅并参与网站社区 这一切都很有魅力。 现在,我的客户希望在时事通讯电子邮件中有一个“管理我的订阅”链接,当按下该链接时,收件人/客户将自动登录网站,而无需记住用户名和密码 这可以通过如下链接轻松解决: 当然,信息不应该是明文,而应该以某种方式进行加密 然而,这带来了一个问题,因为只有

我正在开发一个客户的网站,他们正在向客户发送时事通讯(通过网站管理界面) 新闻稿是每个订阅的收件人/客户的个人信息。 每个收件人/客户也是一个具有用户名/密码的用户,该用户名/密码使他们能够登录网站、管理其新闻稿订阅并参与网站社区

这一切都很有魅力。 现在,我的客户希望在时事通讯电子邮件中有一个“管理我的订阅”链接,当按下该链接时,收件人/客户将自动登录网站,而无需记住用户名和密码

这可以通过如下链接轻松解决:

当然,信息不应该是明文,而应该以某种方式进行加密

然而,这带来了一个问题,因为只有通过提供有效的用户名和密码,才能在网站上对用户进行身份验证。 出于安全考虑,密码作为散列值存储在数据库中,这使得我无法在链接中插入密码

在不影响安全性的情况下,实现这一点的最佳方法是什么?

如果您希望人们能够在不输入密码的情况下登录,您必须在一定程度上降低安全性。请注意,即使您可以访问密码(如示例中所示),您也必须将其嵌入邮件消息中,该消息将以明文形式传输

您可以创建与每个用户和消息关联的Guid,并将其附加到URL,并允许自动登录


您也许可以隔离权限,以便通过新闻稿guid链接登录只允许用户管理订阅,但参与论坛仍然需要真正的密码登录。在这种情况下,如果有人从邮件消息中访问Guid,那么破坏的程度非常有限。

使用包含访问令牌的加密cookie怎么样? 此cookie将在通过单独页面成功验证后交付

这种令牌也可以是URL查询字符串的一部分


也可以考虑使用安全的HTTPS代替HTTP .< /P> < P>不能插入加密的用户名与密码的哈希值捆绑在一起吗?


我的意思是,对用户名进行加密和编码,使其始终为特定长度,或者在其中包含已知的中断字符,然后附加密码哈希值。这样,您就可以在仍然安全地编码用户名和密码的情况下轻松地分离查询字符串。直接比较散列值就足够了,使用未加密、已解码的用户名就可以进行访问。

这就是我过去所做的。请记住在单独的表中映射GUID和用户名