我正在构建一个网站,用户可以使用网站的消息系统(基本电子邮件系统)创建帐户并互相发送消息。如果用户A收到来自其他用户B的消息,我想通过他/她的电子邮件地址自动通知用户A.此外,我想保存用户A不必输入他/她的登录凭据到网站以访问此消息。安全风险:通过GET参数自动登录
给User-A发送一封特殊的链接,并在网站上自动登录他/她是不是一个好主意?例如:“请点击www.domain.com/?message_id=1 & hash = abc123”(我可以使用has值自动将用户A登录到他/她的帐户并查看特定消息)。
该电子邮件已经包含用户B发送的消息。用户A必须前往该网站才能回复。
我想我的假设是,这个链接是安全的,因为它会直接发送给用户A,他/她应该有他/她的电子邮件安全。此外,我可以使散列只工作一段时间或第一次点击后等。
请记住,电子邮件通常是以纯文本形式发送的,因此您绝对不能将任何放入电子邮件中的内容视为“安全”。 –
您对Flimzy的建议有什么看法?它需要cookies。 – StackOverflowNewbie
我同意如果您尚未登录(使用适当的cookie),让哈希URL将您指向一次性登录页面的想法。这样,如果有人从电子邮件的链接中发现了恶意,那么他们无法使用它在没有有效的登录cookie(或用户名/密码)的情况下登录。当然,为了保证安全,您需要让所有流量都通过https://,否则cookie也会在网络上解密(并且可能会以与电子邮件相同的方式被盗取)。 –