> 백엔드 개발 > PHP 튜토리얼 > php中cookie和session的问题

php中cookie和session的问题

WBOY
풀어 주다: 2016-06-20 12:28:39
원래의
892명이 탐색했습니다.

前言:之前关于客户端cookie和服务端session的关系有点模糊,认为cookie禁用后session指定不能用了,通过验证后才发现自己的错误。

1:在php环境中的php.ini中有关session的设置值:

        //处理session存取的模式                session.save_handler = files                //session档案存放路径        session.save_path = /tmp                //session使用cookie的功能,启动: 1        session.use_cookies = 1                //session名字        session.name = PHPSESSID                //自动启动;0:关;1:开启        session.auto_start = 0                //session使用cookie的生存期,以秒为单位        session.cookie_lifetime = 0这些默认值,不需要修改,就可以使用session了。2:但是当我们得浏览器禁用cookie时,则会出现你认为的样子,session不能用。    此时我们应该在php.ini中再去研究一下发现    session.use_trans_sid = 1//这个字段允许SessionID通过URL明文传输     session.use_only_cookies = 1 ; // 开启仅使用cookies存放会话id    此时再去测试发现session又获取到了。    但当  session.use_only_cookies =0;时,无法获取到session的,在php.ini中这个值默认是03:代码:①当浏览器没有禁用cookie时:a.php:    <?php    session_start();    $_SESSION['url'] = '    $url = "<a href='./b.php'>下一个页面</a>";    echo $url;     ?>     b.php     <?php         session_start();         echo "session中url是:".$_SESSION['url'];     ?>               ②当浏览器禁用cookie后,并且设置php.ini中     session.use_trans_sid = 1//这个字段允许SessionID通过URL明文传输     session.use_only_cookies = 1; // 开启仅使用cookies存放会话id     代码:    a.php       <?php    session_start();    $_SESSION['url'] = '    $name = session_name();    $id = session_id();     $url = "<a href='./b.php?".$name."=".$id."'>下一个页面</a>";    echo $url;     ?>       b.php      <?php        session_id($_GET['PHPSESSID']);         session_start();         echo "session中url是:".$_SESSION['url'];     ?>
로그인 후 복사

以上是我对cookie和session的理解,如有不对,可以留言,一起学习,进步。

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿