网上商店允许客人订餐。在退房时,客人必须提供电子邮件地址(除了送货地址和付款数据)。当该电子邮件地址已被注册商店用户使用时,该客户订单将与该用户帐户相关联。
自动将客户订单与用户帐户关联是否安全,而不要求客户事先登录(以证明客人是自称的客户)?
当客人有恶意意图时,会发生什么(最坏的情况)?
场景:爱丽丝注册了她的邮件地址。鲍勃知道这一点,并作为客人点了一些提供他的发货地址和付款数据,输入了爱丽丝的邮件地址。
社会工程将是我在这里出现的唯一攻击媒介。当客人选择提前付款时,这可能是特别痛苦的。(根据发票),用户以某种方式被骗去支付一份订单的费用,该订单将被运往客人手中。
发布于 2013-12-09 17:23:13
不。这在任何情况下都不是个好主意。客人订单就是客人订单,在此期间。他们需要联系信息,运输信息和支付information...Always。
登录为没有/部分/全部预先填充这些信息提供了方便,并且它是自动与帐户相关联的订单的一种要求。如果没有登录过程,您基本上就是根据电子邮件地址对用户进行身份验证,这是远远不够的。
如果客人用户使用已知用户的电子邮件地址创建订单,那么唯一合理的折衷办法是,将其添加到队列中,下次该用户登录到站点时,您可能会问他们这是否是他们的订单,如果他们希望将其添加到他们的帐户中以进行跟踪/记录保存,并允许他们选择确认或否认这是他们的命令。
将其自动关联到他们的帐户将是一个糟糕的想法,不仅因为您和GoD已经说过的原因,而且从用户体验的角度来看,在任何情况下都不是在愉快的(设计使用)路径上。
发布于 2013-12-09 17:00:04
我假设你不会允许某人在不需要电子邮件验证的情况下订购一些东西。抛开这一点将是一件坏事,因为Bob可能会:
这个场景有一个信息泄漏,Bob可以确定Alice是否是该站点的客户,如果他知道她的电子邮件地址,或者他可以简单地作为客人发出错误的订单,直到他找到一个可以工作的帐户。不管是哪种方式他都能找到一个顾客。
不幸的是,如果您想使用来宾用户,您无法阻止该活动。最好的选择是允许人们以客人的身份将东西添加到他们的购物车中,但是一旦他们想要结帐,就会强制进行登录/注册过程。这仍然是可以猜测的,Bob可以简单地注册并继续尝试不同的电子邮件地址。你不能阻止它,但你可以:
https://security.stackexchange.com/questions/46714
复制相似问题