热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

cookie做购物车有人说不安全..

如题,他说购物车绝对不能用cookie做.说有高手能进入修改Cookie里的信息比如产品单价之类的我就晕了,购物车不用Cookie做的话哪只有数据库了,这样的话数据库的压力也稍稍大了点吧
如题,他说购物车绝对不能用COOKIE做.说有高手能进入修改COOKIE里的信息比如产品单价之类的
我就晕了,购物车不用COOKIE做的话哪只有数据库了,这样的话数据库的压力也稍稍大了点吧...
各位购物车是用什么方法做的?

29 个解决方案

#1


好像购物车大多是用COOKIE的。COOKIE本身有加密,如果硬说是不安全那数据库也会给人注入,这没得说的。

#2


session易丢失
COOKIE安全性,太多session会影响服务器   
session和COOKIE结合,实现加密
hashtable 等实现购物车

#3


没有绝对的安全

美国国防部的网站都能被黑,何况我们呢

#4


存在客户端的东西,想怎么改就怎么改,开发人员工具

#5


谁JB说不安全的!  用COOKIE只不过是以用户未登录的时候用  结账的时候肯定存数据库了
淘宝 什么的都是用COOKIE的   

#6


 是呀,我也郁闷了,购物车不用COOKIE太浪费了.

#7


用COOKIE存储物品的ID就行。

然后服务器用缓存存储物品的附属信息(价格等)

然后结算的时候肯定在服务端计算的。

#8


单价你也保存在COOKIEs 里面的话,我都不知道说什么好了。


COOKIEs 保存购物车的id就得了。

COOKIEs 里面的id顺便它改,无非就是买了跟别人一样的商品,顺便,多多益善。

#9


引用 8 楼 winner2050 的回复:
单价你也保存在COOKIEs 里面的话,我都不知道说什么好了。


COOKIEs 保存购物车的id就得了。

COOKIEs 里面的id顺便它改,无非就是买了跟别人一样的商品,顺便,多多益善。

主要是从减轻数据获取方面,想提高下性能。他要是修改钱,在后台也是可以看到的嘛。不过价格存在COOKIE里的确不好

#10


COOKIE只保存购物车ID就好了。   保存个ID的,没什么不安全的。

#11


你总不会读取COOKIE里面的金额填到数据库里吧.

#12


这个,你为什么要把价格保存在COOKIE中呢.一般是保存产品id,名称等.
即便保存价格,也只是用于 展示给用户看

真正到支付时,再通过COOKIE中的id,从数据库中读取价格.

这有什么不安全呢.

#13


引用 8 楼 winner2050 的回复:
单价你也保存在COOKIEs 里面的话,我都不知道说什么好了。


COOKIEs 保存购物车的id就得了。

COOKIEs 里面的id顺便它改,无非就是买了跟别人一样的商品,顺便,多多益善。


主要是从减轻数据获取方面,想提高下性能。他要是修改钱,在后台也是可以看到的嘛。不过价格存在COOKIE里的确不好


如果这样的话  那用COOKIE就么有意义了 ,COOKIE就是为了减轻服务端的压力。这样每次都要查询一次。
可以在最后付款的时候 查询数据库里面的价格。购物车的还是以COOKIE为主。
这样就算修改了,金额还是正确的。
lz说的 购物车绝对不能用COOKIE说的那个人太绝对了。

#14


引用 13 楼 jin225 的回复:
引用 8 楼 winner2050 的回复:
单价你也保存在COOKIEs 里面的话,我都不知道说什么好了。


COOKIEs 保存购物车的id就得了。

COOKIEs 里面的id顺便它改,无非就是买了跟别人一样的商品,顺便,多多益善。


主要是从减轻数据获取方面,想提高下性能。他要是修改钱,在后台也是可以看到的嘛。不过价格存在COOKIE里的确不好


如果这样的话……

是呀,我也觉的只存个ID太浪费了。这样还是服务器的压力还是很大的。

#15


引用 11 楼 hzexe 的回复:
你总不会读取COOKIE里面的金额填到数据库里吧.

哪肯定不会啦

#16


数据库的压力根本就可以忽略。

数据库没有那么差劲。

#17


有点岂人忧天了

#18


该回复于2010-12-07 10:43:14被版主删除

#19


session    我一般用

#20


计算什么的是在服务器端,有啥不安全的啊~

#21


不管你用COOKIEs 、 session 、还是用DB都可以。
但是你要考虑安全和效率问题

1.COOKIEs存到客服端硬盘上,不占服务器空间。而且时间可以设置长一点,比如1天 2天....
2.session存到服务器上,占服务器内存,影响服务器运行效率,虽然session的时间也是可以设置长一点的,但是你要考虑到session时间过长了,会有不安全的因素。
3.DB存到数据库,固然安全,当客户结账之后你要自动清除数据,如果是时间长了有很多客户没有结账导致有很多垃圾数据,那么你就要想办法定期清除数据了。

4.COOKIEs和DB集合用,先存到COOKIEs结账的时候在存到DB,这样既解决了占用服务器内存的问题,也减少了数据库有垃圾数据的问题。相对也比较安全。

#22


引用 14 楼 begintransaction 的回复:
引用 13 楼 jin225 的回复:
引用 8 楼 winner2050 的回复:
单价你也保存在COOKIEs 里面的话,我都不知道说什么好了。


COOKIEs 保存购物车的id就得了。

COOKIEs 里面的id顺便它改,无非就是买了跟别人一样的商品,顺便,多多益善。


主要是从减轻数据获取方面,想提高下性能。他要是修改钱,在后台也是可以看到的嘛。不过价格存在Co……

COOKIE只能存个字符串,还浪费?你想用COOKIE当session用啊?

#23


你可以用一下asp.net 3.5的新特性profile,专门针对购物车的。

#24


引用楼主 begintransaction 的回复:
如题,他说购物车绝对不能用COOKIE做.说有高手能进入修改COOKIE里的信息比如产品单价之类的
我就晕了,购物车不用COOKIE做的话哪只有数据库了,这样的话数据库的压力也稍稍大了点吧...
各位购物车是用什么方法做的?

购物车一般都用profile技术做的  安全

#25


引用 23 楼 imfor 的回复:
你可以用一下asp.net 3.5的新特性profile,专门针对购物车的。


学习,

#26


你可以用一下asp.net 3.5的新特性profile,专门针对购物车的。
学习,

#27


做过,用的是System.Collections.Generic.Dictionary
ID号和数量

#28


所有的東西都這樣,有得必有失嘛

#29


确认订单的时候验证一下物品id 和金额,感觉不收少钱,应该问题不大吧

推荐阅读
  • 本文介绍了lua语言中闭包的特性及其在模式匹配、日期处理、编译和模块化等方面的应用。lua中的闭包是严格遵循词法定界的第一类值,函数可以作为变量自由传递,也可以作为参数传递给其他函数。这些特性使得lua语言具有极大的灵活性,为程序开发带来了便利。 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 阿,里,云,物,联网,net,core,客户端,czgl,aliiotclient, ... [详细]
  • JVM 学习总结(三)——对象存活判定算法的两种实现
    本文介绍了垃圾收集器在回收堆内存前确定对象存活的两种算法:引用计数算法和可达性分析算法。引用计数算法通过计数器判定对象是否存活,虽然简单高效,但无法解决循环引用的问题;可达性分析算法通过判断对象是否可达来确定存活对象,是主流的Java虚拟机内存管理算法。 ... [详细]
  • 《数据结构》学习笔记3——串匹配算法性能评估
    本文主要讨论串匹配算法的性能评估,包括模式匹配、字符种类数量、算法复杂度等内容。通过借助C++中的头文件和库,可以实现对串的匹配操作。其中蛮力算法的复杂度为O(m*n),通过随机取出长度为m的子串作为模式P,在文本T中进行匹配,统计平均复杂度。对于成功和失败的匹配分别进行测试,分析其平均复杂度。详情请参考相关学习资源。 ... [详细]
  • 关键词:Golang, Cookie, 跟踪位置, net/http/cookiejar, package main, golang.org/x/net/publicsuffix, io/ioutil, log, net/http, net/http/cookiejar ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • Python SQLAlchemy库的使用方法详解
    本文详细介绍了Python中使用SQLAlchemy库的方法。首先对SQLAlchemy进行了简介,包括其定义、适用的数据库类型等。然后讨论了SQLAlchemy提供的两种主要使用模式,即SQL表达式语言和ORM。针对不同的需求,给出了选择哪种模式的建议。最后,介绍了连接数据库的方法,包括创建SQLAlchemy引擎和执行SQL语句的接口。 ... [详细]
  • Android自定义控件绘图篇之Paint函数大汇总
    本文介绍了Android自定义控件绘图篇中的Paint函数大汇总,包括重置画笔、设置颜色、设置透明度、设置样式、设置宽度、设置抗锯齿等功能。通过学习这些函数,可以更好地掌握Paint的用法。 ... [详细]
  • 上图是InnoDB存储引擎的结构。1、缓冲池InnoDB存储引擎是基于磁盘存储的,并将其中的记录按照页的方式进行管理。因此可以看作是基于磁盘的数据库系统。在数据库系统中,由于CPU速度 ... [详细]
  • 本文介绍了在Android开发中使用软引用和弱引用的应用。如果一个对象只具有软引用,那么只有在内存不够的情况下才会被回收,可以用来实现内存敏感的高速缓存;而如果一个对象只具有弱引用,不管内存是否足够,都会被垃圾回收器回收。软引用和弱引用还可以与引用队列联合使用,当被引用的对象被回收时,会将引用加入到关联的引用队列中。软引用和弱引用的根本区别在于生命周期的长短,弱引用的对象可能随时被回收,而软引用的对象只有在内存不够时才会被回收。 ... [详细]
  • 本文介绍了H5游戏性能优化和调试技巧,包括从问题表象出发进行优化、排除外部问题导致的卡顿、帧率设定、减少drawcall的方法、UI优化和图集渲染等八个理念。对于游戏程序员来说,解决游戏性能问题是一个关键的任务,本文提供了一些有用的参考价值。摘要长度为183字。 ... [详细]
  • 深入解析Linux下的I/O多路转接epoll技术
    本文深入解析了Linux下的I/O多路转接epoll技术,介绍了select和poll函数的问题,以及epoll函数的设计和优点。同时讲解了epoll函数的使用方法,包括epoll_create和epoll_ctl两个系统调用。 ... [详细]
  • 本文介绍了在go语言中利用(*interface{})(nil)传递参数类型的原理及应用。通过分析Martini框架中的injector类型的声明,解释了values映射表的作用以及parent Injector的含义。同时,讨论了该技术在实际开发中的应用场景。 ... [详细]
author-avatar
多多之爱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有