php验证cookie,PHP学习笔记之cookie和session验证

在php中cookie和session经常是配合使用的,但是cookie安全性没有session高了,session只在服务器端而cookie在客户端,这个自然就明白它们的区别了,但它们经常用于各种登录验证,下面我来介绍。

Cookie和Session算是网站登陆验证的常用手段了。不管论坛也好,微博也好,它们都依赖于cookie和session以完成各项工作。

这里就不具体介绍Cookie和Session的概念了,我们可以简单的把它们理解为临时钥匙,用于开启不同的网络资源。

下面开始介绍在PHP里如何操作Cookie和Session。

Cookie:

在PHP里,我们可以使用setcookie()函数来设置cookie。但特别注意,setcookie函数必须置于标签之前。setcookie函数包含了一下几个参数:setcookie(name, value, expire, path, domain)。name参数是用来规定cookie的名称的,而value则是规定对应名称cookie的值,expire则是设定cookie有效期的。特别注意path和domain参数可选的。(path是规定cookie的服务器路径,而domain是规定cookie的所有域名)。

一般我们这样设置cookie

设置cookie

 代码如下复制代码

setcookie("username","Ku_Andrew",time() 3600);

?>

username就是我们cookie的名字了,而Ku_Andrew则是username的值,time() 3600就是一小时后该cookie过期。

现在我们用$_COOKIE来做一个实例

设置、读取cookie

 代码如下复制代码

$username = $_COOKIE['username'];

if ($username == "")

{

setcookie("username","Ku_Andrew",time() 3600);

echo "we've not found your username from your cookie";

echo "but now we've give it to you , please refresh this page";

die("kick me and refresh");

}

else

{

echo ("hello $usernama");

}

?>

如果想做出更复杂的判断,例如用户登陆等,我们可以在IF语句中的加入从数据库从检索出来的值。

Session:

与Cookie不同,Session是保存在服务器上的,同时Session会随着浏览器的关闭而自动灭亡,生命周期较短。在PHP上,我们使用session_start()函数来启动session;与设置cookie相同,我们必须在标签之前使用这个函数。使用这个函数之后我们就可以开始设置我们的Session变量了。方法也是极为简单:用$_SESSION数组直接定义。完成了定义,在不使用的时候为了节约服务器资源,我们要关闭它。这时可以使用unset()函数或者session_destroy()函数;unset()是解除变量,session_destroy()则是彻底终结session。下面是代码片段。

Session设置、读取

 代码如下复制代码

session_start();

if ($_SESSION['pid'] == "")

{

$_SESSION['pid'] = 1;

}

else

{

$_SESSION['pid'] = 1;

}

echo "this is your $_SESSION['pid'] times watching this page";

?>

这是一个简单的网页计数器,通过设置pid来实现计数。第一次判断中,如果session为空,那么设置成一,并且读取session,反馈给用户。以后的每次访问,都会在原有session的基础上逐次加一反馈给用户。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值