如何正确保护 laravel 时事通讯订阅?
How to properly secure laravel newsletter subscription?
我有一份由 laravel 应用程序提供支持的时事通讯。它允许订阅者 select 一个区域并设置一些过滤器以接收有关待售新房的邮件通知。
为了以简单的方式为用户解决这个问题,我不想使用密码和冗长的名称注册过程。相反,你只是收到一封电子邮件,在该电子邮件中有一个编辑 link 使用秘密令牌:
https://myapp.com/subscribers/42/edit?token=gwoi6n4ginagrpoargp4ar5gp14a
这会被认为是一种安全的方法吗?
当用户单击 link 时,它是通过 HTTPS 进行加密的,但它仍会显示在当前浏览器历史记录中..
我会因为这样做而受到抨击吗?如果是,有哪些改进方法?
在 SSL 通信中使用加密数据是的,它是安全的。但在我看来有一些优惠:
1-从地址中删除令牌字。
2- 这个 link 不应该直接显示用户编辑页面。相反,将参数发送到控制器,控制器将用户重定向到一个干净的 link 的新页面。只需在页面中保存令牌以授权您的用户。
3- 为什么不生产更长(再长一点!)的代币?
4- 为了更安全,每个 link 都应该有一个过期时间。新 link 将随每封时事通讯邮件一起发送。
我有一份由 laravel 应用程序提供支持的时事通讯。它允许订阅者 select 一个区域并设置一些过滤器以接收有关待售新房的邮件通知。
为了以简单的方式为用户解决这个问题,我不想使用密码和冗长的名称注册过程。相反,你只是收到一封电子邮件,在该电子邮件中有一个编辑 link 使用秘密令牌:
https://myapp.com/subscribers/42/edit?token=gwoi6n4ginagrpoargp4ar5gp14a
这会被认为是一种安全的方法吗? 当用户单击 link 时,它是通过 HTTPS 进行加密的,但它仍会显示在当前浏览器历史记录中..
我会因为这样做而受到抨击吗?如果是,有哪些改进方法?
在 SSL 通信中使用加密数据是的,它是安全的。但在我看来有一些优惠:
1-从地址中删除令牌字。
2- 这个 link 不应该直接显示用户编辑页面。相反,将参数发送到控制器,控制器将用户重定向到一个干净的 link 的新页面。只需在页面中保存令牌以授权您的用户。
3- 为什么不生产更长(再长一点!)的代币?
4- 为了更安全,每个 link 都应该有一个过期时间。新 link 将随每封时事通讯邮件一起发送。