将少量资料储存(by档案)在远端个人电脑的技术

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PHPCookieCookie1.將少量資料儲存(by檔案)在遠端個人電腦的技術。C:\DocumentsandSettings\電腦帳號\Cookies(WindowsNT/2000/XP)或C:\DocumentsandSettings\帳號\LocalSettings\TemporaryInternetFiles\Cookie的檔案名稱「可能」是:tceb@km.tceb.edu[1].txt(就是主機使用者帳號@網址.txt)它的內容可能是:phpbb2km_data(cookie名稱)s%3A0%3A%22%22%3B(cookie值)km.tceb.edu.tw/(cookie網域及路徑)15361695667229648268411619276829574842*Cookie2.使用者可以設定拒絕。3.哪個瀏覽器設定的cookie,只能在該瀏覽器使用。4.以IE為例2.[工具][Internet選項][隱私]Cookie的限制•每個使用者的瀏覽器只能支援(存取)300個Cookie•每個Cookie的大小最多僅4kBytes的容量•有些瀏覽器可以把Cookie的功能關掉,若關掉後Cookie就不能使用Cookie的存取設定:booleansetcookie(變數名,值,有效時間,路徑,領域,安全性)Setcookie(“A”,10);Setcookie(“B”,”20”,time()+3600);Setcookie(“C”,”hello”,time()+7200,”./test/”,”abc.def.tw”,1);必須在任何輸出前設定cookie取出:$_COOKIE陣列範例18-1+18-2Cookie的存取哪個瀏覽器設定的cookie,只能在該瀏覽器使用。否則要設定有效時間。time()+3600mktime(時,分,秒,月,日,年)可以用來刪除cookie範例18-4PHPSessionSession1.將資料儲存在伺服器的技術。檔案位置Session是將使用者資訊儲存在Server端暫存檔中,儲存的位置是依照php.ini的設定:session.save_path=/tmpSession的檔案名稱「可能」是:sess_3dd484f2bab6a2d2509e9850dae3b897(就是sess_開頭,加上32字元的亂數雜湊編碼所組成的檔名)它的內容可能是:check|s:3:yes;var1|s:1:4;var2|s:1:5;其實PHP的Session內容就是「變數名稱|變數類型:長度:內容;」的組合Session2.每次連線都有一個sessionid3.要啟動才可以使用。1.php.ini中的session.auto_start參數需設定為1針對$_SESSION、$HTTP_SESSION_VARS而言2.Session_start()4.變數需要先註冊1.Session_register(變數名)2.Session_unregister(變數名)3.$_SESSION陣列存取5.所有的session放在session.save_path目錄中(php.ini)範例18-5,18-6Session使用Session時,有三個程序:第一:啟動session功能─使用session_start()函數第二:註冊session變數─使用session_register()函數(或用$_SESSION、$HTTP_SESSION_VARS)第三:清除session變數或檔案─使用session_unregister()或session_destroy()函數取得session的id值(與session檔案名稱,就是sess_後面接的32字元)─使用session_id()函數查看要傳遞的變數是否已被註冊─使用session_is_registerd()函數Sessionregister?php/*註冊session的變數名稱abc,並將值置入。注意,在session_register()函數內,註冊的是名稱的「字串」,不用加「$」。*/$abc=最原始的方法;session_register(abc);//這是利用所謂_SESSION方式註冊變數名稱「xyz」及值。$_SESSION[xyz]=第二種方法;//這是利用所謂HTTP_SESSION_VARS方式註冊變數名稱「third」及值。$HTTP_SESSION_VARS[third]=第三種方法;?請特別注意,如果在session_register()函數前沒有使用session_start()來啟動時,會自動呼叫session_start();而$_SESSION及$HTTP_SESSION_VARS方式並不會呼叫,須在使用前事先session_start()才有作用。Sessionunregister?phpsession_start();session_unregister(abc);//假設$abc=123“?注意:須先啟動session_start()函數才可正常清除。Session傳遞(共用)1.透過URLs(網址?PHPSESSID=3dd484f2bab6a2d2509e9850dae3b897)如果php.ini將「session.use_trans_sid」設定為「0」2.透過Cookiephp.ini有將「session.use_trans_sid」設定為「1」Session傳遞aa.php?phpsession_start();//啟動sessionecho'第一頁';$_SESSION['color']='藍色';$_SESSION['city']='台中市';$_SESSION['time']=date(Y年m月d日H時i分s秒);//連結另一個php程式,//如果可以使用cookie方式,//注意這裡用單引號echo'br/ahref=“bb.php第二頁(cookie)/a';//如果需用利用url方式傳遞echo'br/ahref=“bb.php?'.SID.'第二頁(URLs)/a';?Session傳遞bb.php?phpsession_start();echo'第二頁br/';echo$_SESSION['color'].br;echo$_SESSION['city'].br;echodate(Y年m月d日H時i分s秒).==.$_SESSION['time'];//如果需用傳遞回第一頁echo'br/ahref=“aa.php?'.SID.'第一頁/a';?Sessiondestroy?php//啟動sessionsession_start();/*清除session檔裡所有的資料;如果要使用session_destroy()函數,這動作可有可無。*/session_unset();//刪除session檔session_destroy();?注意:須先啟動session_start()函數才可正常運作。安全性在使用者登入時,在session資訊中即加入使用者的IP,然後再不同程式啟動session的同時,也連帶檢查是否來自同一個IP,如果發現不同時,就拒絕使用,並立即刪除這個session的檔案。安全性Ch17-4-1.php?phpsession_start();//啟動sessionecho第一頁br/;if(!empty($_SERVER[HTTP_X_FORWARDED_FOR])){echo有經過期他代理主機:.$_SERVER[HTTP_X_FORWARDED_FOR];$temp_ip=split(,,$_SERVER[HTTP_X_FORWARDED_FOR]);$user_ip=$temp_ip[0];}else{$user_ip=$_SERVER[REMOTE_ADDR];}echobr/?使用者IP:$user_ip;session_register(user_ip);//注意這裡用單引號echo'br/ahref=ch17-4-2.php?'.SID.'第二頁/a';?安全性Ch17-4-2.php?phpsession_start();//啟動sessionecho第二頁br/;if(!empty($_SERVER[HTTP_X_FORWARDED_FOR])){$temp_ip=split(,,$_SERVER[HTTP_X_FORWARDED_FOR]);$user2_ip=$temp_ip[0];}else{$user2_ip=$_SERVER[REMOTE_ADDR];}echoBR/原來session的IP:.$_SESSION[user_ip];echobr/目前使用者IP:$user2_ip;if($_SESSION[user_ip]!=$user2_ip){echo您不是原來登入的IP,請正常登入!!br;session_destroy();}else{echoOK!br/;}//注意這裡用單引號echo'br/ahref=ch7-4-1.php第一頁/a';?

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功