首页 后端开发 php教程 PHP 之Section与Cookie使用总结_php技巧

PHP 之Section与Cookie使用总结_php技巧

May 17, 2016 am 09:08 AM
cookie section

SESSION与COOKIE区别:

  Session 将信息保存在服务器上.服务器在接受到唯一的SESSION_ID后,根据这个ID获取相关数据,然后将信息传递到客户端(浏览器).
  Cookie 是将所有信息以文本的形式存在本地文件,并由客户端(浏览器)进行管理与维护.
因为Session 数据存储在server端,所以远程client无法对数据进行修改;而Cookie存储在client本地,容易被获取和篡改.所以Session安全性较高.

SESSION 介绍:

  PHP5 后session被设置为全局变量,可以通过 $_SESSION[session_id] 来获取.当页面启动SESSION会话,会在服务器中生成一个带唯一id的SESSION,这个SESSION在生命周期结束前一直有效.当关闭网页或结束生命周期后,session会在服务器中自动注销.

创建一个session 会话需要经过一下4个步骤:

  a)启动会话..
    方法有2种: bool session_star(); boolean session_register(string name);
  b)注册回话.
    会话变量被启动后,全部保全在$_SESSION数组当中.通过数组$_SESSION创建一个会话变量很简单,只需要给该数组添加一个变量即可.
  c)使用会话:
    一般操作:判断对应session_id的SESSION是否存在.不存在创建一个,存在 则通过 $_SESSION[session_id] 使用.
  d)删除会话.
unset($_SESSION[session_id]);//删除单个.
    unset([$_SESSION]);//删除整个,将禁止整个会话功能,切无法恢复.
   $__SESSION=array();//删除整个,可恢复.
   session_destroy();//结束当前会话..

SESSION的生命周期:

  1.控制session 生命周期的方法:
   一. 前提条件:客户端支持COOKIE!
    方法:
      a>通过Session来完成.
         void session_set_cookie_params(int lifetime[,string path][,string domain][,bool secure]);
         bool setcookie(string name [,string value] [,int expire] [,string path] [,sting domain] [,secure]);
      b>通过Cookie 来完成.
二. 前提条件:客户端不支持COOKIE!
     一旦客户端不支持cookie,SESSION就不能在页面间传递,解决办法:
     a>.在登陆前提示用户打开cookie.
     b>.表单POST/GET方式,来传递SESSION_ID.

     c>.设置php.ini文件中的session.use_trans_sid=1 或编译时打开-enable-trans-sid;
     d>.通过文件或数据库方式传递SESSION_ID;

服务器上对SESSION性能优化:
  在服务器中,如果将所有用户的session都保存到临时目录中,会降低服务器的安全性与效率.
  解决方法:将SESSION存储到服务器上的数据库或者临时文件中.
  临时文件:
    string session_save_path(string path);
  数据库:
    session 存储在临时文件时,当网站浏览量很大的时候,将会导致查询Session的效率很低,推荐数据库存储形式.
    bool session_set_save_handler(string open,string close,string read,string write,string destroy,string gc);//将session_id 存储与数据库中的函数.

SESSION 缓存:

  缓存即将页面中的某些信息存储到客户端指定的文件夹中,且可以设置一定的有效时间.(已经经过第一次访问,且存储)在这个有效时间内,当再次访问页面,则可直接从缓存中读取内容,从而提高页面浏览效率.

  string session_cache_limiter(string cache_limiter); //缓存函数.
  int session_cache_expire([int new cache_expire]); //有效时间.

COOKIE介绍:

  cookie 是一种远程客户端存储数据和跟踪识别用户的机制.是服务器临时存放数据在本地用户的一个文本文件.文本文件格式:"用户名@网站地址[数字].txt"

COOKIE 常见功能:

  a)记录访客的某些信息. b)在页面间传递变量; c)将页面内容存储到cookie中提高下次访问速度.
慎用COOKIE:
  a)不是所有的浏览器都支持cookie.
  b)数据是以明文的方式保存在本地,不适合敏感的信息,未加密的信息.
  c)不同类型浏览器对cookie 文件有大小,个数限制:比如最多只能存300个cookie 文件,每个大小不超过4KB,每个域名最多支持20个cookie文件.如果超过显示,会随机删除.
创建COOKIE:
  bool setcookie(string name [,string value] [,int expire] [,string path] [,sting domain] [,secure]);
读取COOKIE:
  $_COOKIE[];
删除COOKIE:
  a). setcookie("id", "",time()-1);//值为空,有效时间小于当前时间.0为直接删除COOKIE.
  b).手动删除.在客户端找到临时存放cookie的文件.

setcookie()函数后,要执行刷新,cookie才能取得数据:
  个人理解是因为session 跟cookie都是在client 跟server之间传输,在页面显示前,我们就必须获取到相应的数据.所以一般是在获取 http:// 或https://时必须带上session 或cookie..当在执行setcookie()时,仅仅在本地存储了cookie 但是地址上并没有带上cookie..因而需要刷新,让服务器给地址协议带上cookie发送个客户端,这样才能取得到值..

  正是以上session_star(),setcookie()前,html页面不能有输出...所以说cookie 或者session认第一,就没人敢认第二.
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系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 22, 2023 pm 03:46 PM

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

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

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

手机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的存储位置详解 Jan 19, 2024 am 09:15 AM

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

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

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

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

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

See all articles