本文目录一览:
- 1、php如何判断cookie的唯一性
- 2、php 如何使用cookie安全的保存登录状态sessionid
- 3、在php 用cookie技术时遇到的问题,如何在一台机子上设置多个用户cookie?
- 4、php 输出指定ID到cookie 循环读取
- 5、php获取cookie后怎么使用
php如何判断cookie的唯一性
你可以将题号保存在cookie中,然后判断题号的值,例如
$id='5';//定义当前页题号id
$tid=isset($_cookie['id'])?$_cookie['id']:0;//判断之前是否存在改cookie
if($tid=$id){
//判断成功,开始做题
}else{
//判断失败,之前打开过该题或者该题之后的题目
}
php 如何使用cookie安全的保存登录状态sessionid
同样还是将用户的认证信息保证在一个cookie中,具体如下:
1.cookie名:uid。推荐进行加密,比如MD5('站点名称'+userid)。
2.cookie值:登录名|有效时间Expires|hash值。hash值可以由"登录名+有效时间Expires+用户密码(加密后的)的前几位+salt",salt是保证在服务器端站点配置文件中的随机数。-phpcookieid
这样子设计有以下几个优点:
1.即使数据库被盗了,盗用者还是无法登录到系统,因为组成cookie值的salt是保证在服务器站点配置文件中而非数据库。
2.如果账户被盗了,用户修改密码,可以使盗用者的cookie值无效。
3.如果服务器端的数据库被盗了,通过修改salt值可以使所有用户的cookie值无效,迫使用户重新登录系统。
4.有效时间Expires可以设置为当前时间+过去时间(比如2天),这样可以保证每次登录的cookie值都不一样,防止盗用者窥探到自己的cookie值后作为后门,长期登录。
在php 用cookie技术时遇到的问题,如何在一台机子上设置多个用户cookie?
你想像游戏里登陆那样,在同一台电脑上有以前登陆过的账号?把最后登陆过的为默认像是吧!
你可以把登陆过的都保存到同一个COOKIE(保存时间多久就看你了)里啊!,就是数据要处理下,比如第一次保存1:时间,第二次就把第一次的取出和第一次的拼接在存入,若是有了就更新时间,如:1:时间|2:时间......。推荐弄成JSON,而数据就用数组,array('id'='时间'),再把它弄成JSON数据,在存COOKIE-phpcookieid
php 输出指定ID到cookie 循环读取
时间是什么时间 cookie过期时间貌似取不到
取创建时间也不容易实现
php获取cookie后怎么使用
php获取cookie使用方法:
cookie和session都可以暂时保存在多个页面中使用的变量,但是它们有本质的差别。cookie存放在客户端浏览器中,session保存在服务器上。它们之间的联系是session ID一般保存在cookie中。-phpcookieid
cookie工作原理
当客户访问某个网站时,在PHP中可以使用setcookie函数生成一个cookie,系统经处理把这个cookie发送到客户端并保存在c:Documents and Settings用户名\Cookies目录下。cookie是HTTP标头的一部分,因此setcookie函数必须在任何内容送到浏览器之前调用。这种限制与header()函数一样。当客户再次访问该网站时,浏览器会自动把c:Documents and Settings用户名\Cookies目录下与该站点对应的cookie发送到服务器,服务器则把从客户端传来的cookie将自动地转化成一个PHP变量。-phpcookieid
通过$_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 将会在会话结束后(一般是浏览器关闭)失效。-phpcookieid
?
cookie 会以一定格式被存储在用户计算机特定位置。
?php
setcookie("username", "nostop", time()+3600, "/", ".example.com"); //在example.com 域名的 / 路径下该 cookie 都有效(即全站有效)。-phpcookieid
?
读取 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 解密即可。-phpcookieid
4、Cookie是保存在客户端的,用户禁用了Cookie,你的Cookie自然也就没作用啦!
?php
setcookie('username','nostop',time()+3600); //创建cookie
if(isset($_COOKIE["username"])){ //使用isset()函数检测cookie变量是否已经被设置
echo "您好!".$_COOKIE["username"]; //您好!nostop 读取cookie
}else{
echo "请登陆";
}
?