您的位置:

phpcookie使用,PHPcookie

本文目录一览:

php里的cookie怎样使用才是正确的

setcookie() 函数用于设置 cookie。

在下面的例子中,我们将创建名为 "user" 的 cookie,并为它赋值 "runoob"。我们也规定了此 cookie 在一小时后过期:

?php

setcookie("user", "runoob", time()+3600);

?

html

.....

$_COOKIE 变量用于取回 cookie 的值。

?php

// 输出 cookie 值

echo $_COOKIE["user"];

// 查看所有 cookie

print_r($_COOKIE);

?

isset() 函数来确认是否已设置了 cookie

删除 cookie 时,您应当使过期日期变更为过去的时间点。

启动会话session_start() 函数必须位于 html 标签之前.

存储和取回 session 变量的正确方法是使用 PHP $_SESSION 变量:

?php

session_start();

// 存储 session 数据

$_SESSION['views']=1;

?

?php

// 检索 session 数据

echo $_SESSION['views'];

?

如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。

望采纳,谢谢

php 如何使用cookie安全的保存登录状态sessionid

同样还是将用户的认证信息保证在一个cookie中,具体如下:

1.cookie名:uid。推荐进行加密,比如MD5('站点名称'+userid)。

2.cookie值:登录名|有效时间Expires|hash值。hash值可以由"登录名+有效时间Expires+用户密码(加密后的)的前几位+salt",salt是保证在服务器端站点配置文件中的随机数。

这样子设计有以下几个优点:

1.即使数据库被盗了,盗用者还是无法登录到系统,因为组成cookie值的salt是保证在服务器站点配置文件中而非数据库。

2.如果账户被盗了,用户修改密码,可以使盗用者的cookie值无效。

3.如果服务器端的数据库被盗了,通过修改salt值可以使所有用户的cookie值无效,迫使用户重新登录系统。

4.有效时间Expires可以设置为当前时间+过去时间(比如2天),这样可以保证每次登录的cookie值都不一样,防止盗用者窥探到自己的cookie值后作为后门,长期登录。

PHP中如何使用Cookie

比如设置一个名为 MyCookier的Cookie,PHP会自动从WEB服务器接收的HTTP头里把它分析出来,并形成一个与普通变量一样的变量,名为$ myCookie,这个变量的值就是Cookie的值。数组同样适用。另外一个办法是引用PHP的全局变量$HTTP_COOKIE_VARS数组。 分别举例如下:(假设这些都在以前的页面里设置过了,并且仍然有效) echo $MyCookie; echo $CookieArray[0]; echo $_COOKIE["MyCookie"]; echo $HTTP_COOKIE_VARS["MyCookie"]; 要删除一个已经存在的Cookie,有两个办法: 1、SetCookie(“Cookie”, “”); 2、SetCookie(“Cookie”, “value” , time()-1 / time() ); 使用Cookie的限制 1、必须在HTML文件的内容输出之前设置; 2、不同的浏览器对Cookie的处理不一致,且有时会出现错误的结果。 3、限制是在客户端的。

php cookie和session在什么时候用

Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID

为标识符来存取服务器端的Session存储空间。而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一

SessionID提交到服务器端,来存取Session数据。这一过程,是不用开发人员干预的。所以一旦客户端禁用Cookie,那么Session也会失效。

服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。

可以试一下,即使不写Cookie,在使用request.getCookies();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值。

大家都知道,http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么要怎么才能实现

网上商店中的购物车呢,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同

的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出

cookie,我们叫做session

cookie,以区别persistent

cookies,也就是我们通常所说的cookie,注意session

cookie是存储于浏览器内存中的,并不是写到硬盘上的,这也就是我们刚才看到的JSESSIONID,我们通常情是看不到JSESSIONID的,但

是当我们把浏览器的cookie禁止后,web服务器会采用URL重写的方式传递Sessionid,我们就可以在地址栏看到

sessionid=KWJHUG6JJM65HS2K6之类的字符串。

明白了原理,我们就可以很容易的分辨出persistent

cookies和session

cookie的区别了,网上那些关于两者安全性的讨论也就一目了然了,session

cookie针对某一次会话而言,会话结束session

cookie也就随着消失了,而persistent

cookie只是存在于客户端硬盘上的一段文本(通常是加密的),而且可能会遭到cookie欺骗以及针对cookie的跨站脚本攻击,自然不如session

cookie安全了。

通常session

cookie是不能跨窗口使用的,当你新开了一个浏览器窗口进入相同页面时,系统会赋予你一个新的sessionid,这样我们信息共享的目的就达不到了,此时我们可以先把sessionid保存在persistent

cookie中,然后在新窗口中读出来,就可以得到上一个窗口SessionID了,这样通过session

cookie和persistent

cookie的结合我们就实现了跨窗口的session

tracking(会话跟踪)。

在一些web开发的书中,往往只是简单的把Session和cookie作为两种并列的http传送信息的方式,session

cookies位于服务器端,persistent

cookie位于客户端,可是session又是以cookie为基础的,明白的两者之间的联系和区别,我们就不难选择合适的技术来开发web

service了。

php如何带cookies访问需要登录的网站

使用curl

CURLOPT_COOKIE 设定HTTP请求中"Cookie: "部分的内容。多个cookie用分号分隔,分号后带一个空格(例如, "fruit=apple; colour=red")。

CURLOPT_COOKIEFILE 包含cookie数据的文件名,cookie文件的格式可以是Netscape格式,或者只是纯HTTP头部信息存入文件。

CURLOPT_COOKIEJAR 连接结束后保存cookie信息的文件。

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url); // 请求的地址

curl_setopt($ch, CURLOPT_COOKIEJAR, $cookiesfile); // 连接结束后保存cookie信息的文件

curl_setopt($ch, CURLOPT_COOKIEFILE, $cookiesfile); // 请求时发送的cookie信息文件

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_exec($ch);

curl_close($ch);

php获取cookie后怎么使用

php获取cookie使用方法:

cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。cookie存放在客户端浏览器中,session保存在服务器上。它们之间的联系是session ID一般保存在cookie中。

cookie工作原理

当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:Documents and Settings用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:Documents and Settings用户名\Cookies目录下与该站点对应的cookie发送到服务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。

通过$_COOKIE['xxx']读取客户端发来的cookie。

创建 cookie

通过 setcookie() 函数来创建一个 cookie ,成功返回 TRUE ,否则返回 FALSE 。

语法:

bool setcookie( string name [, string value [, int expire [, string path [, string domain ]]]] )

参数说明:

name cookie 名称

value 可选,cookie 值

expire 可选,过期时间,时间戳格式

path 可选,服务器端有效路径,/ 表示整个域名有效,默认为当前设置 cookie 时页面的路径

domain 可选,该 cookie 有效的域名

?php

setcookie("username", "nostop", time()+3600); //设置了一个名称为 username 的cookie,其值为 xiaoli ,并在1小时候后过期。如果时间也被省略,cookie 将会在会话结束后(一般是浏览器关闭)失效。

?

cookie 会以一定格式被存储在用户计算机特定位置。

?php

setcookie("username", "nostop", time()+3600, "/", ".example.com"); //在example.com 域名的 / 路径下该 cookie 都有效(即全站有效)。

?

读取 cookie

PHP 内置了 $_COOKIE 变量以访问设置的 cookie 值。

例子:

?php

echo $_COOKIE["username"]; //nostop

?

销毁 cookie

可以通过设置 cookie 过期时间为以前的时间点来销毁一个 cookie :

?php

setcookie("username", "", time()-3600);

?

cookie注意事项

1、SetCookie()之前不能有任何html输出,就是空格,空白行都不行。

2、SetCookie()后,你在当前页调用echo $_COOKIE["name"]不会有输出。必须刷新或到下一个页面在过期之前才可以看到Cookie值。

3、由于 cookie 信息存储于用户的计算机中,那么就有可能伪造或修改 cookie 从而造成 cookie 欺骗,一般可以对 cookie 的值进行加密来预防欺骗。读取 cookie 的时候,对 cookie 解密即可。

4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!

?php

setcookie('username','nostop',time()+3600); //创建cookie

if(isset($_COOKIE["username"])){ //使用isset()函数检测cookie变量是否已经被设置

echo "您好!".$_COOKIE["username"]; //您好!nostop 读取cookie

}else{

echo "请登陆";

}

?