cookie实现用户登录与验证:
实例
<?php $page_title = '首页'; //导入页面的公共头部 include 'inc/header.php'; echo '<h2 style="color:blue">首页</h2>'; //判断用户是否登录? if (isset($_COOKIE['user_id']) && basename($_SERVER['PHP_SELF']) != 'logout.php'){ echo '<a href="logout.php">退出</a>'; } else { echo '<a href="login.php">登录</a>'; } //导入页面的公共底部 include 'inc/footer.php';
运行实例 »
点击 "运行实例" 按钮查看在线实例
session实现用户登录与验证
实例
<?php //启动会话 session_start(); $page_title='首页'; include 'inc/header.php'; echo '<h2 style="color:greenyellow">首页</h2>'; if (isset($_SESSION['user_id']) && basename($_SERVER['PHP_SELF']) != 'logout.php'){ echo '<h2 style="color:hotpink">我是首页</h2>'; } else { echo '<a href="login.php">登录</a>'; } include 'inc/footer.php';
运行实例 »
点击 "运行实例" 按钮查看在线实例
cookie与session会话机制的优缺点分析
答:Cookie的优缺点:
优点:极高的扩展性和可用性
缺点:
Cookie数量和长度的限制。每个domain最多只能有20条cookie,每个cookie长度不能超过4KB,否则会被截掉。
安全性问题。如果cookie被人拦截了,那人就可以取得所有的session信息。即使加密也与事无补,因为拦截者并不需要知道cookie的意义,他只要原样转发cookie就可以达到目的了。有些状态不可能保存在kh端。
Session的优缺点:
优点:在服务器上运行,保密性和操作性很好
缺点:Session变量和cookies是同一类型的。如果某用户将浏览器设置为不兼容任何cookie,那么该用户就无法使用这个Session变量!