php中session放cookie优缺点分析

这篇文章不是讨论session,也不是cookie,现在很多网站都是讲session放cookie中,叫做cookie based session,下面就来讨论下cookie based session的优缺点:

优点:

1.减轻服务器压力,如PHP session默认是文件存储格式的,这样就会较少磁盘压力,不会给磁盘造成较多的碎片。
2.你在做集群的时候,是不是要做session同步的问题,cookie based session后就免去了。

缺点:

1.同一个用户,可能在多个地方登录,你也无从判断谁是真实有效用户。
2.session记录在cookie放本地,可能被hacer获取,通过anehta可以将cookie持久化,使登录状态永久有效,当然你可以再记录cookie的时候记录时间戳,在服务器端验证有效期。
个人建议:
从安全性上来说只要处理得当,session和cookie相差无几,另外还要考虑cookie的存储量,一些重要信息如用户信息或权限信息最好不要放cookie

session和cookie谁更安全

就个人而言,我觉得session更安全一点,我以下几点看法。

1,如果session和cookie一样安全的话,二者就没有并要同时存在了,只要cookie就好了,让客户端来分提服务器的负担,并且对于用户来说又是透明的。何乐而不为呢。

2,session的sessionID是放在cookie里,要想功破session的话,第一要功破cookie。功破cookie后,你要得到 sessionID,sessionID是要有人登录,或者启动session_start才会有,你不知道什么时候会有人登录。第二,sessionID是加密的,第二次session_start的时候,前一次的sessionID就没有用了,session过期时sessionid也会失效,想在短时间内功破加了密的 sessionID很难。session是针对某一次通信而言,会话结束session也就随着消失了,而真正的cookie存在于客户端硬盘上的一个文本文件,谁安全很显然了。

时间: 2024-09-28 16:46:25

php中session放cookie优缺点分析的相关文章

php中session与cookie的比较_php技巧

本文较为详细的比较了php中session与cookie区别.分享给大家供大家参考.具体分析如下: 1.存放的位置 cookie保存在客户端,session保存在服务器端的文件系统/数据库/memcache等. 2.安全性 session因为保存有服务器端,安全性无疑更高一些. 3.网络传输量 cookie通过网络在客户端与服务器端传输,会占用一些带宽:而session保存在服务器端,不需要传输. 4.保存时间(生命周期),以20分钟为例 cookie的生命周期是累计的,从创建时就开始计算,20

PHP中Session和Cookie是如何操作的_php技巧

Session PHP的$_SESSION可以存储当前用户数据信息,用户访问WEB网站的时候,PHP会给每个访问的用户创建一个session ID,该ID是唯一ID,保存在客户机上,而用户的会话数据是保存到服务端的,PHP可以对每个不同的用户信息进行存储,当会话过期后,用户session信息也会失效. 使用Session,在使用PHP session时,一定要在页头加上session_start(),告诉服务器开始使用session了,而且在它之前应该没有任何输出,否则会报错. <?php se

jsp编程中session的用法实例分析_JSP编程

本文实例讲述了jsp编程中session的用法.分享给大家供大家参考,具体如下: TTP协议是无状态的,即信息无法通过HTTP协议本身进传递.为了跟踪用户的操作状态,ASP应用SESSION对象.JSP使用一个叫HttpSession的对象实现同样的功能.HTTPSession 是一个建立在cookies 和URL-rewriting上的高质量的界面.Session的信息保存在服务器端,Session的id保存在客户机的cookie中.事实上,在许多服务器上,如果浏览器支持的话它们就使用cook

thinkphp3.x中session方法的用法分析_php实例

本文实例讲述了thinkphp3.x中session方法的用法.分享给大家供大家参考,具体如下: 一.Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作. Value(可选):要设置的sessio

asp.net中session和cookie的关系和区别

Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间.而SessionID这一数据则是保存到客户端,用Cookie Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID 为标识符来存取服务器端的Session存储空间.而SessionID这一数据则是保存到客户端,用C

浅析php中session和cookie的区别和联系

首先谈谈cookie吧,百度百科是这样定义的:是网站为了辨别用户身份.进行session跟踪而存储在用户本地终端上的数据(通常经过加密).     php中生成一个cookie的方法很简单:setcookie(name, value, expire, path, domain);     name:cookie中定义的名字.     value:cookie中对name所保存的值.这个值保存在了用户的终端:不要保存敏感信息(个人重要信息,金钱).     expire:cookie中名值对保存的

thinkphp3.x中session方法的用法分析

本文实例讲述了thinkphp3.x中session方法的用法.分享给大家供大家参考,具体如下: 一.Session方法用于Session 设置.获取.删除和管理操作. Session 用于Session 设置.获取.删除和管理操作 用法 session($name, $value='') 参数 name(必须):如果传入数组 则表示进行session初始化,如果传入null表示清空当前session,如果是字符串则表示session赋值.获取或者操作. Value(可选):要设置的sessio

php中session和cookie实现自动登录

  session的使用: session_start();定义$_SESSION数组变量. session_start()使用前,不能有任何形式的输出,包括php中的输出和html代码. $_SESSION数组不可以使用数值下标,只可以使用字符串下标. php.ini中的session_save_path配置项决定了session的保存位置. 默认情况下,session是保存在文件中.我们可以使用session_set_save_handler()函数来重写session机制. 设置有效时间

YII中session和cookie

一,在Yii中使用session  与原生态php5的session使用差别是,php5使用session_start();$_session['key'] = $value;  在yii中,session已经被封装.不需要start,但需要new一个session对象. Java代码   /***** 方式一.实例添加 *****/   $session=new CHttpSession;   $session->open();   $value1=$session['name1'];