Session是否必须依赖Cookie
程序员文章站
2022-04-02 16:07:19
...
Session是否必须依赖Cookie?
www.ouryh.net 银河技术在线ㄕ整理时间:2001-8-7ㄕ作者: 不详 ㄕ来源: 不详 ㄕ阅读:36
PHP中的session可以默认情况下是使用客户端的Cookie(以便和普通意义上的Cookie区别,我称之为session cookie,普通意义上的Cookie为Cookie)来保存session id的,但是PHP中的session是否只能使用session cookie呢?当然不是,否则何必还弄个session出来,不如直接用Cookie算了.Session的一大优点就是当客户端的Cookie被禁用时会自动把session id附在URL中,这样再通过session id就能记住session变量了.
下面我写两个文件来证实一下,首先在浏览器中设置禁用Cookie.
//文件名为test1.php
session_start();
session_register("url");
$url="test2.php";
echo "goto test2.php
";
?>
//文件名为test2.php
session_start();
if (session_is_registered("url")) {
echo "Congratulations.
";
$url="test1.php";
echo "goto test1.php
";
}
else echo "Failed.
";
?>
现在在浏览器中输入"http://localhost/test1.php",把鼠标移到链接上看看状态栏上的地址,不是简单的"http://localhost/test2.php",而是这种形式:"http://localhost/test2.php?PHPSESSID=6e3610749f7ded3784bc4a4dd10f879b".你还可以查看Html的源文件,源文件是这种形式:
goto test2.php
所以说这完全是PHP的功劳,和浏览器无关,也就是说无论你用什么浏览器session都有效,而不是有的人认为的只对IE有用.
但是,我们的超链接是语句是由echo语句输出的,如果超链接不包含在PHP的标签 ?>之内会怎样呢?还是写个例子来验证一下,把test1.php稍作修改:
session_start();
session_register("url");
$url="test2.php";
echo "goto test2.php
";
?>
(Html形式)goto test2.php
www.ouryh.net 银河技术在线ㄕ整理时间:2001-8-7ㄕ作者: 不详 ㄕ来源: 不详 ㄕ阅读:36
PHP中的session可以默认情况下是使用客户端的Cookie(以便和普通意义上的Cookie区别,我称之为session cookie,普通意义上的Cookie为Cookie)来保存session id的,但是PHP中的session是否只能使用session cookie呢?当然不是,否则何必还弄个session出来,不如直接用Cookie算了.Session的一大优点就是当客户端的Cookie被禁用时会自动把session id附在URL中,这样再通过session id就能记住session变量了.
下面我写两个文件来证实一下,首先在浏览器中设置禁用Cookie.
//文件名为test1.php
session_start();
session_register("url");
$url="test2.php";
echo "goto test2.php
";
?>
//文件名为test2.php
session_start();
if (session_is_registered("url")) {
echo "Congratulations.
";
$url="test1.php";
echo "goto test1.php
";
}
else echo "Failed.
";
?>
现在在浏览器中输入"http://localhost/test1.php",把鼠标移到链接上看看状态栏上的地址,不是简单的"http://localhost/test2.php",而是这种形式:"http://localhost/test2.php?PHPSESSID=6e3610749f7ded3784bc4a4dd10f879b".你还可以查看Html的源文件,源文件是这种形式:
goto test2.php
所以说这完全是PHP的功劳,和浏览器无关,也就是说无论你用什么浏览器session都有效,而不是有的人认为的只对IE有用.
但是,我们的超链接是语句是由echo语句输出的,如果超链接不包含在PHP的标签 ?>之内会怎样呢?还是写个例子来验证一下,把test1.php稍作修改:
session_start();
session_register("url");
$url="test2.php";
echo "goto test2.php
";
?>
(Html形式)goto test2.php
上一篇: php如何让浏览器显示错误
推荐阅读
-
深入解析Session是否必须依赖Cookie
-
php:Session是否必须依赖Cookie
-
微信浏览器cookie和session各种诡异问题 是否我直接get传值
-
深入解析Session是否必须依赖Cookie_PHP
-
php:Session是否必须依赖Cookie_PHP教程
-
php:Session是否必须依赖Cookie
-
Session是否必须依赖Cookie_PHP教程
-
javascript - 为什么PHP写的验证码会被暴力破解,如何能做到不被暴力破解呢?还有验证码一定要依赖COOKIE和SESSION吗?
-
session - 用php sesssion存储验证码,清空完本地浏览器cookie之后第一次刷新页面总是无法使用,必须再次刷新登录页面才行
-
php:Session是否必须依赖Cookie_PHP教程