㈠ php curl如何讀取一個頁面,然後把傳過來的cookie保存在伺服器上
curl的easy介面中提供了5個與cookie有關的option,其中,CURLOPT_COOKIEFILE,CURLOPT_COOKIEJAR,CURLOPT_COOKIELIST都會打開curl的cookie引擎,使得curl在收到http response時解析header field中的cookie。
設置CURLOPT_COOKIEFILE會使curl下一次發請求時從指定的文件中讀取cookie。
設置CURLOPT_COOKIEJAR會使curl在調用 curl_easy_cleanup的時候把cookie保存到指定的文件中。
設置CURLOPT_COOKIELIST會把指定的cookie字元串列表加入easy handle維護的cookie列表中。每個cookie字元串要麼符合HTTP response header的"Set-Cookie: NAME=VALUE;..."格式,CURLOPT_COOKIE用於設置一個分號分隔的「NAME=VALUE」列表,用於在HTTP request header中設置Cookie header。
㈡ php 提交登陸保存cookie怎麼用
跟session使用一樣,使用$_COOKIE,不過cookie判斷是否登錄不太安全,建議再判斷一次
㈢ php cookie如何指定保存的路徑
session_save_path('/dev/shm');//放到共享內存中 速度很快:
<?<ahref="
setcookie("UNAME","demo123",time()+3600);//cookie數據的生存時間為1個小時
echo$_COOKIE['UNAME'];
?>
㈣ php如何將一個數組保存在cookie裡面
<?php
/**
*cookie本身就是超全變數,是個數組。$_COOKIE[],針對你這種情況,只有把COOKIE變為
*二維數組
*/
//比如你在之前已經設置$_COOKIE['nameid'],$_COOKIE['key_id'],你的ajax返回時候就如下操作
$_COOKIE['nameid'][]=$_POST['daan'];
$_COOKIE['key_id'][]=$_POST['key']+1;
㈤ php 怎樣暫時保存數據 cookie session 只能用在頂部 還有其他方法嗎
保存數據的方法很多,除了cookie session外,可以生成臨時文件來保存數據,也可以用php的memcached組件把數據保存在內存里。
㈥ php的curl保存cookies到文件裡面怎樣區分不同人的文件呢
好像同一個curl實例算一個人,就是你寫的$ch.
針對不同的$ch,定義不同的cookie文件
㈦ php,用curl獲取到的cookie文件怎麼把內容儲存在mysql中
/*-----保存COOKIE-----*/
$url = 'www.xxx.com'; //url地址
$post = "id=user&pwd=123456"; //POST數據
$ch = curl_init($url); //初始化
curl_setopt($ch,CURLOPT_HEADER,1); //將頭文件的信息作為數據流輸出
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); //返回獲取的輸出文本流
curl_setopt($ch,CURLOPT_POSTFIELDS,$post); //發送POST數據
$content = curl_exec($ch); //執行curl並賦值給$content
preg_match('/Set-Cookie:(.*);/iU',$content,$str); //正則匹配
$cookie = $str[1]; //獲得COOKIE(SESSIONID)
curl_close($ch); //關閉curl
/*-----使用COOKIE-----*/
curl_setopt($ch,CURLOPT_COOKIE,$cookie);
㈧ 如何使用PHP操作cookie
1.創建/更新cookie
.代碼如下:
setCookie($cookieName,$value,time()+秒數);
例子:創建一個cookie,名字為UserName,值為zs,過期時間為2個星期
.代碼如下:
setcookie("UserName","zs",time()+2*7*24*3600);
如果不設置時間,就不會保存到cookie文件中。瀏覽器不關時,能夠訪問。當瀏覽器關閉時,就無法訪問了。
例子:
.代碼如下:
setcookie("Age","18");
2.取cookie的值
.代碼如下:
$_cookie[$cookieName];
例子:取出UserName的值,放在變數$uName中
.代碼如下:
$uName=$_COOKIE['UserName'];
取值的時候,一般會先判斷是否為空,再進行取值操作。上面的取值操作一般這樣寫:
.代碼如下:
if(!empty($_COOKIE['UserName']))
{
$uName=$_COOKIE['UserName'];
}
3.刪除指定cookie
.代碼如下:
setcookie($cookieName,value,time()-秒數);
//或者
setcookie($cookiename,'');
//或者
setcookie($cookiename,NULL);
例子:刪除UserName
.代碼如下:
setcookie("UserName","zs",time()-3600);
4.刪除當前會話的所有cookie
.代碼如下:
foreach($_COOKIEas$key=>$val){
setcookie($key,"",time()-100);
}
當無cookie時,本機保存cookie的文件也將刪除。
㈨ 請教如何使用php 寫入cookie到指定的文件名中
用curl函數
獲取cookie在設置
curl_setopt($ch, CURLOPT_COOKIEJAR, 1.txt);
訪問時用curl獲取內容帶上cookie
curl_setopt($ch, CURLOPT_COOKIEFILE, 1.txt);
㈩ 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值後作為後門,長期登錄。