首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Magento中的Cart ID

Magento中的Cart ID
EN

Stack Overflow用户
提问于 2014-09-10 07:05:25
回答 1查看 1.3K关注 0票数 1

我正在集成第三方结帐,并发现了一个安全漏洞,我需要帮助关闭。基本上,结帐过程是这样的:

  1. 如果满足某些条件,当客户单击“结帐”时,购物车中的项目就会被刮掉,并被重定向到第三方站点。
  2. 他们填写客户信息和支付信息。
  3. 付款已处理完毕
  4. 在确认付款后,它们将被重定向回商家网站。
  5. 订单将使用购物车中当前的项目进行编程处理,客户将收到它们的确认。
  6. 每个人都很快乐

如果有人在步骤2-4期间随时编辑手推车,那么问题就来了,Magento相信新的购物车内容就是他们花钱买的。

我不太熟悉magento如何保存引号,但我希望有一个"cart ID“或类似于表示特定购物车及其特定内容的ID,并且在购物车中添加/删除/编辑某些内容时会发生变化。然后我可以比较他们离开时的数字和他们回来时的数字,并确保没有欺诈行为。

所以我的问题是:

-Is有这样一个数字吗?

-Where是存储的吗?它是如何检索的?

-Can --它只是基于数字加载,以便在重定向到第三方时,用购物车中的项目重新填充购物车?

-If我的计划行不通,为什么,还有更好的方法吗?

-what是你最喜欢的不是来自你的国家的食物。我的是来自菲律宾的Sinagang猪肉。

谢谢你们的帮助。如果没有答案,我是不可能通过所有这些的。

-Matt

编辑:一些澄清-

  1. 客户点击“查看购物车”或类似的东西来查看购物车(如果他们去结账,如果他们的geoIP是国际的,他们会被重定向回购物车)
  2. 他们可以查看购物车中的项目,然后单击“结帐”。 2a。如果他们的geoIP是国内的,他们会去商人的结账处 2b。如果他们的geoIP是国际的,那么jQuery就会抓取项目的详细信息,并将它们发送到托管的结帐处。这就是我想要“冻结”购物车中的项目,或者得到一个ID号码,让我检查购物车返回时是否相同。
  3. 无论他们使用哪种结帐方式,订单都会被确认,并被定向到成功控制器。

这个过程是在我开始为他们开发之前就确定的,无论出于什么原因,他们都不想改变这个过程。

EN

回答 1

Stack Overflow用户

发布于 2014-09-10 07:25:28

结构

Magento有3种不同的检查和销售工作流结构:

  1. Cart与CartItems
  2. 报价和QuoteItems
  3. Order与OrderItems

Quote是在客户填写个人详细信息、地址、付款选项和访问支付网关或其他任何东西时存储物品的地方。

工作流程

手推车被转换成一个引号,你实际上是在为一个引号付费。一旦您的付款被确认(当您从付款网关被重定向回来时),Quote将被转换为订单。

Cart => Quote =>订单转换工作流旨在防止您所描述的内容,它还有助于对产品的正确价格进行簿记(这可能在将来发生变化)。

试图规避这一保护

当您单击订单确认按钮(并被重定向到付款网关)时,您的购物车信息将被转换为Quote信息(其中添加了许多客户信息和地址信息)。

如果您回过头来继续编辑购物车,您应该会看到您的购物车现在是空的(已经转换为Quote),如果您试图向购物车添加新产品,那么将创建一个具有与不同Quote对应的不同ID的新购物车,以此类推。

你的处境

如果您可以绕过当前Magento安装上的保护,请尝试在新的Magento安装上复制相同的步骤(原始Magento代码,单独的数据库,新安装的)。

我怀疑它是否会复制,因为我使用过类似的用例--在Magento 1.5、1.6、1.7、1.8中--但是如果它确实复制了,请在Magento官方频道上创建一个bug报告,因为这将是一个很高的安全风险。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25759234

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档