網域查詢: www.
返回首頁
當前位置: 首頁 > 站長學院 > 網站編程 > JSP教程 >

客戶端Cookie中文編程(2)

時間:2010-02-17 04:48來源: 作者: 點擊:
例如你要寫入的Cookie內容是
      例如你要寫入的Cookie內容是"一頂abc",經過CodeCookie變為"99a98a97a-31029a26432a"(基于安全考慮,將
字符串反轉),再經過escape編碼後變為"99a98a97a%2D31029a26432a"(escape編碼將除字母和數字以外的字符轉換為十
六進制%XX的形式),注意分隔符不能選%,D和數字。當然,如果有類似密碼的重要信息,還需要在加密上再強化一下。因
為寫入Cookie的一般都是短信息,編碼後增加的一些字節可忽略不計。下面的JavaScript讀寫Cookie函數中就加入了以上
的中文支持。

function SetCookie(name,value,expires)
{
 var exp=new Date();
 exp.setTime(exp.getTime()+expires*60*1000);
 document.cookie=name+"="+escape(CodeCookie(value))+" ; expires="+exp.toGMTString()+" ; path=/";
}

function GetCookie (name) 
{
 var strArg=name+"=";
 var nArgLen=strArg.length;
 var nCookieLen=document.cookie.length;
 var nEnd;
 var i=0;
 var j;

while (i<nCookieLen) 
{
 j=i+nArgLen;
 if (document.cookie.substring(i,j)==strArg)
{
 nEnd=document.cookie.indexOf (";",j);
 if (nEnd==-1) nEnd=document.cookie.length;
 return DecodeCookie(unescape(document.cookie.substring(j,nEnd)));
}
 i=document.cookie.indexOf(" ",i)+1;
 if (i==0) break;
}
 return null;
}

  如果用CGI程序寫入中文Cookie,客戶端讀取。如在ASP里,可以先使用前述的編碼函數後,再用response寫入,例
如︰response.cookies("Name")=CodeCookie("張三")至此,中文Cookie的問題基本解決。若有相關問題,請到
www.coolbel.com/saibai交流。

頂一下
(0)
0%
踩一下
(0)
0%
------分隔線----------------------------
最新評論 查看所有評論
發表評論 查看所有評論
請自覺遵守互聯網相關的政策法規,嚴禁發佈色情、暴力、反動的言論。
評價:
表情:
用戶名: 密碼: 驗證碼:
推薦內容