首页 后端开发 php教程 PHP会话跟踪一(41)

PHP会话跟踪一(41)

Aug 08, 2016 am 09:23 AM
cookie setcookie

PHP会话跟踪

什么是会话控制

我们需要一种强有力的解决方案,为了使得网站可以跟踪客户端与服务器之间的交互,保存和记忆每个用户的身份和信息,这样就产生了会话控制。
??什么是会话控制:
??HTTP是一个无状态的协议,此协议无法来维护两个事务之间的联系。
??当一个用户请求一个页面后再请求另外一个页面时,HTTP无法告诉我们这两个请求是来自同一个人。
??会话控制思想就是能够在网站中跟踪一个变量,我们可以跟踪变量,就可以做到对用户的支持,并根据授权和用户身份显示不同内容,不同页面。

会话跟踪技术

隐藏表单域

将会话跟踪字段的隐藏表单域添加到HTML 页面,但是不会显示在客户端浏览器中

登录后复制

在GET 和POST 方法中指定用于存储有关会话消息的名称和值。

URL 重写

??URL(统一资源定位)重写技术将一个唯一的会话ID 添加到URL 结尾,以标识该会话。
??例如,重写以下URL 传递会话ID=1002

原始URL:http:<span>//</span><span>www.myphp.com/load.php</span>用添加的参数重写的URL:http:<span>//</span><span> www.myphp.com/load.php? id=1002原始URL:</span><span>http://www.myphp.com/bookinfo.php</span>用添加的参数重写的URL:http:<span>//</span><span>www.myphp.com/bookinfo.php?bookid=1000</span>
登录后复制

cookie和session

当我们需要会话可以跟踪的范围更广,时间更长,我们需要用到cookie和session。比如在有些网站下载东西需要会员先登陆。我们想得知顾客是否已经登陆,并可以进行自动登陆怎么办呢?cookie和session就可以知道。
??比如网上购物,购物车怎么知道顾客挑选过哪些商品呢?cookie和session也可以记录。
??总而言之,cookie和session就是能够记录顾客状态的技术,尽管二者属于不同的技术,但只要cookie能做到的,session也能做到!

cookie

什么是cookie:
??cookie是在http协议下,服务器或脚本可以维护客户端信息的一种方式。
??cookie是web服务器保存在用户浏览器上的小甜饼(一个很小的文本文件),她可以包含有关用户的信息,常用于保存用户名,密码,个性化设置,个人偏好记录等。当用户访问服务器时,服务器可以设置和访问cookie的信息。
??cookie保存在客户端,通常是IE或Firefox浏览器的cookie临时文件夹中,可以手动删除。注意:如果浏览器上cookie 太多,超过了系统所允许的范围,浏览器也会自动对它进行删除。

cookie工作原理

当客户访问某个基于PHP技术的网站时,在PHP中可以使用setcookie()函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在C:\Documents and Settings\用户名\Cookies目录下。
??cookie是HTTP标头的一部分, 因此setcookie()函数必须在HTML本身的任何内容送到浏览器之前调用。这种限制与header()函数一样(如需了解head()函数,请自行查阅)。
??当客户再次访问该网站时,浏览器会自动把C:\Documents and Settings\用户名\Cookies目录下与该站点对应的cookie发送到服务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。在PHP5中,客户端发来的cookie将被转换成全局变量。你可以通过$_COOKIE[‘xxx’]读取。

定义一个cookie

设置cookie:
??语法:boolsetcookie(stringname,[stringvalue,[intexpire,[stringpath,[stringdomain,[intsecure]]]]]);
本cookie函数可以有6个属性,常用的有3个参数。
??实例:
$value="the best way is by yourself";
setcookie("cookiename",$value,time()+60*60*24*7);

setcookie参数解释

接收和处理cookie
PHP对cookie有很好的支持,和form表单一样,在接收的时候PHP会自动从web服务器接收HTTP头并且分析它。接收的时候和表单接收一样,用$_COOKIE[“cookiename”]或者$HTTP_COOKIE_VARS[“cookiename”](不提倡使用)

注意:
如果网站有几个不同的文件目录,使用不带路径的cookie,那么只能在设置cookie的文件所在路径下访问到此cookie。如果指定路径,则按照设置时的路径作为访问cookie的指定路径。

创建cookie数组:

其一:
setcookie("CookieArray[0]", "Value 1");
setcookie("CookieArray[1]", "Value 2");
其二:
setcookie("CookieArray['one']", "Value 1");
setcookie("CookieArray['two']", "Value 2");

setcookie() 中使用数组

<span>php
setcookie(</span><span>"</span><span>cookie[three]</span><span>"</span>, <span>"</span><span>cookiethree</span><span>"</span><span>);
setcookie(</span><span>"</span><span>cookie[two]</span><span>"</span>, <span>"</span><span>cookietwo</span><span>"</span><span>);
setcookie(</span><span>"</span><span>cookie[one]</span><span>"</span>, <span>"</span><span>cookieone</span><span>"</span><span>);
</span><span>//</span><span> 刷新页面后,显示出来</span><span>if</span> (isset($_COOKIE[<span>'</span><span>cookie</span><span>'</span><span>])) {
</span><span>foreach</span>($_COOKIE[<span>'</span><span>cookie</span><span>'</span>] <span>as</span> $name =><span> $value){
echo </span><span>"</span><span>$name : $value <br>\n</span><span>"</span><span>;
}
}
</span>?>
登录后复制

删除cookie

要删除一个已经存在的cookie,有两个办法:
1、调用只带有name参数的setcookie,那么名为这个
  name的cookie将被从客户机上删掉;
  setcookie(“MyCookie”); //删除MyCookie
2、设置Cookie的失效时间为time()或time()-1,注意:
  time()减多少没有关系啦,只要是过期时间就行,那
  么这个Cookie在这个页面的浏览完之后就被删除了
  (其实是失效了)。
??例如:
setcookie(“MyCookie”,”Value”,time()-1);
  //删除MyCookie。
  要注意:当一个Cookie被删除时,它的值在当前页仍然
  有效。如果要把cookie设置成在浏览器关闭后就失效。
  那么可以直接把expiretime设为0,或者不设置此值。
例如:setcookie(“name”,”value”,0)。

cookie注意事项

1、setcookie()之前不能有任何html输出,就是空格,空白
行都不行,必须在html文件的内容输出前设置
??2、setcookie()后,你在当前页调用echo $_COOKIE[“name”]不会有输出。必须刷新或到下一个页面才可以看到cookie值。
•3、不用浏览器对cookie处理不同。客户端可以禁用cookie,浏览器也会限制cookie的数量。一个浏览器能创建的cookie数量最多为300个,并且每个不能超过4KB,每个WEB站点能设置的cookie总数不能超过20个。
??4、cookie是保存在客户端的,用户禁用了cookie,你的cookie自然也就没作用啦!因此,避免过度依赖cookie,要先想好如果cookie被禁用时的解决方案,以备万一

以上就介绍了PHP会话跟踪一(41),包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何修复 Google Chrome 上的 Roblox 403 禁止错误 如何修复 Google Chrome 上的 Roblox 403 禁止错误 May 19, 2023 pm 01:49 PM

许多Windows用户最近在尝试访问GoogleChrome浏览器中的网站URL时遇到了一个不寻常的错误,称为Roblox403禁止错误。即使在多次重新启动Chrome应用程序后,他们也无能为力。此错误可能有几个潜在原因,我们在下面概述并列出了其中一些。Chrome的浏览历史和其他缓存以及损坏的数据不稳定的互联网连接网站网址不正确从第三方来源安装的扩展在考虑了上述所有方面之后,我们提出了一些修复程序,可以帮助用户解决此问题。如果您遇到同样的问题,请查看本文中的解决方案。修复1

cookie是存在哪里 cookie是存在哪里 Dec 20, 2023 pm 03:07 PM

Cookie通常存储在浏览器的Cookie文件夹中的,浏览器中的Cookie文件通常以二进制或SQLite格式存储,如果直接打开Cookie文件,可能会看到一些乱码或无法读取的内容,因此最好使用浏览器提供的Cookie管理界面来查看和管理Cookie。

电脑上的cookie在哪里 电脑上的cookie在哪里 Dec 22, 2023 pm 03:46 PM

电脑上的Cookie存储在浏览器的特定位置,具体位置取决于使用的浏览器和操作系统:1、Google Chrome, 存储在C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default\Cookies中等等。

手机cookie在哪里 手机cookie在哪里 Dec 22, 2023 pm 03:40 PM

手机上的Cookie存储在移动设备的浏览器应用程序中:1、在iOS设备上,Cookie存储在Safari浏览器的Settings -> Safari -> Advanced -> Website Data中;2、在Android设备上,Cookie 存储在Chrome浏览器的Settings -> Site settings -> Cookies中等等。

cookie工作原理是什么 cookie工作原理是什么 Sep 20, 2023 pm 05:57 PM

cookie工作原理涉及到服务器发送Cookie、浏览器存储Cookie以及浏览器对Cookie的处理和存储。详细介绍:1、服务器发送Cookie,服务器会向浏览器发送一个包含Cookie的HTTP响应头。这个Cookie包含了一些信息,如用户的身份认证、偏好设置或购物车内容等,浏览器接收到这个Cookie后,会将它存储在用户的计算机上;2、浏览器存储Cookie等等。

清除cookie有什么影响吗 清除cookie有什么影响吗 Sep 20, 2023 pm 06:01 PM

清除cookie产生的影响有重置个性化设置和偏好、影响广告体验、破坏登录状态和记住密码功能。详细介绍:1、重置个性化设置和偏好,如果清除了cookie,购物车将被重置为空,需要重新添加商品,同样清除cookie还会导致在社交媒体平台上的登录状态丢失,需要重新输入用户名和密码;2、影响广告体验,如果清除了cookie,网站将无法了解我们的兴趣和偏好,会展示无关的广告等等。

浏览器cookie的存储位置详解 浏览器cookie的存储位置详解 Jan 19, 2024 am 09:15 AM

随着互联网的普及,我们使用浏览器进行上网已经成为一种生活方式。在日常使用浏览器过程中,我们经常会遇到需要输入账号密码的情况,如网购、社交、邮件等。这些信息需要浏览器记录下来,以便于下次访问时不需要再次输入,这时候Cookie就派上了用场。什么是Cookie?Cookie是指由服务器端发送到用户浏览器上并存储在本地的一种小型数据文件,它包含了一些网站的用户行为

cookie泄漏有什么危害 cookie泄漏有什么危害 Sep 20, 2023 pm 05:53 PM

cookie泄漏的危害有导致个人身份信息被盗窃、个人在线行为被追踪、账户被盗等。详细介绍:1、个人身份信息被盗窃,例如姓名、电子邮件地址、电话号码等,这些信息可能被不法分子用于进行身份盗窃、欺诈等违法活动;2、个人在线行为被追踪,通过分析cookie中的数据,不法分子可以了解用户的浏览历史、购物偏好、兴趣爱好等;3、账户被盗,绕过登录验证,直接访问用户的账号等等。

See all articles