//session与cookie比较: 安全性比较高,因为session是存放在服务器端 // cookie存放的内容只能为字符串,而且大小限制为4KB;session没有限制,只要服务器端能存下就可以 //没有启动session,那么无法访问$_SESSION数组 //var_dump($_SESSION); //要访问session或者使用session必须第一步启动session session_start(); //启动session后,可以正常访问$_SESSION数组 var_dump($_SESSION); //要向session中存数据,直接放置在$_SESSION数组中就可以了 $_SESSION['name']='张三'; $_SESSION['arr'] = array('成都','重庆');
// 已经存在的cookie信息 var_dump($_COOKIE); var_dump($_POST); $info=''; //将表单提交的数据组合成一个字符串 foreach($_POST as $key=>$value){ if($key==='userpwd') $value = md5(md5(md5('lovo'.$value).'chengdu').'sichuan'); if(strlen($info)==0) $info.=$key.'='.$value; else $info.='*'.$key.'='.$value; } echo $info; //cookie保留的信息内容最大为4kb,而且信息格式只能是字符串 //设置cookie信息,并且保存1小时 setcookie('mycook', $info, time()+3600); // var_dump($GLOBALS); // echo '从request数组中获取:'.$_REQUEST['email']; // echo '<br>'; // echo '从get数组中获取:'.$_GET['testemail']; // echo '<br>'; // echo '从post数组中获取:'.$_POST['email']; // echo '<br>'; // echo var_dump($_GET);
cookie和session机制之间的区别与联系
具体来说cookie机制采用的是在客户端保持状态的方案。它是在用户端的会话状态的存贮机制,他需要用户打开客户端的cookie支持。cookie的作用就是为了解决HTTP协议无状态的缺陷所作的努力.
而session机制采用的是一种在客户端与服务器之间保持状态的解决方案。同时我们也看到,由于采用服务器端保持状态的方案在客户端也需要保存一个标识,所以session机制可能需要借助于cookie机制来达到保存标识的目的。而session提供了方便管理全局变量的方式
session是针对每一个用户的,变量的值保存在服务器上,用一个sessionID来区分是哪个用户session变量,这个值是通过用户的浏览器在访问的时候返回给服务器,当客户禁用cookie时,这个值也可能设置为由get来返回给服务器。
就安全性来说:当你访问一个使用session 的站点,同时在自己机子上建立一个cookie,建议在服务器端的SESSION机制更安全些.因为它不会任意读取客户存储的信息。
正统的cookie分发是通过扩展HTTP协议来实现的,服务器通过在HTTP的响应头中加上一行特殊的指示以提示浏览器按照指示生成相应的cookie
从网络服务器观点看所有HTTP请求都独立于先前请求。就是说每一个HTTP响应完全依赖于相应请求中包含的信息状态管理机制克服了HTTP的一些限制并允许网络客户端及服务器端维护请求间的关系。在这种关系维持的期间叫做会话(session)。
Cookies是服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。IETF RFC 2965 HTTP State Management Mechanism 是通用cookie规范。
网络服务器用HTTP头向客户端发送cookies,在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies