-
Cookie
1. 什么是Cookie
Cookie实际上是一小段的文本信息。客户请求服务器,如果服务器需要记录该用户状态,就使用response想客户端浏览器颁发一个Cookie。客户端浏览器会把Cookie保存起来。当浏览器再次请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器。服务器检查该Cookie,以此来辨认用户状态。服务器还可以根据需要修改Cookie的内容,换句话说,Cookie不适合用带有隐私类信息。
<?php
print_r($_COOKIE);
if(!empty($_COOKIE['num'])) {
$_COOKIE['num']++;
setcookie("num",$_COOKIE['num']);
echo $_COOKIE['num'];
}else {
setcookie('num',1);
}
setcookie('name','da',time()+24*3600);
?>
例如上端代码,当每次刷新界面的时候num都会自增1,实现界面浏览次数。
2. Cookie的不可跨域性
Cookie在客户端是由浏览器管理的,浏览器能够保证Google只会操作Google的Cookie,而不会操作baidu的Cookie,从而保证用户的隐私安全
<script type="text/javascript">
var indexDate = new Date();
$.ajax({
type:"get",
url:"count.php?actionC=content",
async:true,
data: {},
success: function(data) {
$("#boxContent").html("这是content的数据: "+data);
}
});
document.cookie = "contentTime="+indexDate;
</script>
<?php
if(!empty($_COOKIE[$val1])) {
$_COOKIE[$val1]++;
setcookie($val1,$_COOKIE[$val1]);
echo $_COOKIE[$val1];
}else {
setcookie($val1,1);
}
?>
3. Cookie的值
<script type="text/javascript">
//设置一个cookie
document.cookie = "user=sdr;";
//获取所有的cookie
var str = document.cookie;
//如何从所有cookie中取出特定名的cookie值
//cookie特点: 以键值对形式存储 用分号空格分隔每一个cookie
//取num值
var start = str.indexOf('num=')+4;
var end = str.indexOf(';',start);
//使用substring获取值
var val = str.substring(start,end);
</script>
4. Cookie的有效期
- 后台设置
//设置一个有生命期的cookie
//过期时间是时间数,比如 一天后失效 那就是24*3600秒后失效
setcookie("newMember","rrrr",time()+24*3600);
- 前台设置
<script type="text/javascript">
function setCookie(name,value,path,expires) {
//设置一天之后失效
var current_data = new Date();
//将日期设置为一天之后的日期
current_data.setDate(current_data.getDate() + expires);
//将日期转成GMT字符串 得到的是对象
var expires_str = current_data.toGMTString();
//设置cookie的过期日期
document.cookie = name+"="+value+"; path="+path+";expires="+expires_str;
}
setCookie("user","dddd","/",1);
</script>
-
Cookie总结
- Cookie 是存储在浏览器哭护短的一片数据
- 可以同时被前台和后台操作。当前台刷新后,刷新后台,此时num会在前台基础上增1。
- 可以跨页面存储
- Cookie是由生命期,默认与浏览器进程相同,如果浏览器退出, Cookie会被注销
- Cookie特点,以键值对形式存储,用分号空格分隔每一个Cookie
-
�Session
1. 什么是Session
Session是一种记录客户状态的机制,不同的是Cookie保存在客户端浏览器中,为Session保存在服务器上。客户端浏览器访问服务器的时候,服务器把客户端信息以某种形式记录在服务器上。这就是Session。客户端浏览器再次访问时只需要从该Session中查找客户的状态就可以了。
如果说Cookie是通过检查客户身上的“通行证”来确定客户身份的话,那么Session机制就是通过检查服务器上的“客户明细表”来确认客户身份。Session相当于程序在服务器上建立的一份客户档案,客户来访的时候只需要查询客户档案袋就可以了。
2. Session实现用户登录
上面提到过,Session数据存储在服务器中,每个会话分配一个单独的Sessioin_id,该Session_id通过Cookie传送到前台,默认的session_id名称就是PHPSESSION,前台只能看到Session的id,为不能修改Session,这样我们就可以用Session来保存一些隐私信息。
3. Session 使用
使用Session之前,需要先开启会话。Session存储在Session数组$_SESSION里面。相对于Cookie,Session存储比较安全,但如果Session数量较多,会导致服务器性能下降。
网友评论