工作环境:面向PHP5对象、MVC模式、Yii框架
购物车:列出每种商品的数量和价格。运货车的作用是只将产品放入其中,如果用户想购买商品,则:
购物车手柄:
购物车不能处理:
问题是:如何将其设计成高效和安全?
备选案文1
创建sql表并存储:
在mysql上创建一个事件,删除日期时间> 30分钟的每一行。
然后使用当前会话id从表中获取所有项目,并创建一个foreach()来获取它们。
选项2
将所有购物车信息保存在cookie中
从我的观点来看,选项1比选项2更安全,但是使用更多的重新源,并且可能使SQL数据库面临攻击(创建大量的新会话,使数据库溢出)。选项2公开了cookie注入,但获得的重新来源较少,并且向用户公开信息。
还有其他更好的方法吗?
发布于 2015-01-23 11:19:27
为什么不简单地分配一个包含$_SESSION["shoppingCart"]和item_id的quantity数组呢?例如:
$_SESSION["shoppingCart"] = array(
$item_id => $quantity
);然后,在处理购物车时,调用一个基于存储的item_id从数据库收集所有所需数据的方法。然后,您可以继续计算实际的购物车价格。
这样,当$_SESSION过期时,您不必触发数据库中的任何事件。如果要保存$_SESSION,也可以将其保存在数据库中。
https://stackoverflow.com/questions/28108523
复制相似问题