久久―日本道色综合久久,亚洲欧美精品在线,狼狼色丁香久久婷婷综合五月,香蕉人人超,日本网站黄,国产在线观看不卡免费高清,无遮挡的毛片免费

2025年度未來銀行科技服務(wù)商TOP100
全世界各行各業(yè)聯(lián)合起來,internet一定要實(shí)現(xiàn)!

Pear CGI 中跨越域的 Cookie

2004-02-12 eNet&Ciweek


  Cookie簡(jiǎn)介

  首先,我們對(duì)Cookie做一個(gè)簡(jiǎn)單的介紹,說明如何利用ASP來維護(hù)cookie。

  Cookie是存儲(chǔ)在客戶端計(jì)算機(jī)中的一個(gè)小文件,這就意味著每當(dāng)一個(gè)用戶訪問你的站點(diǎn),你就可以秘密地在它的硬盤上放置一個(gè)包含有關(guān)信息的文件。這個(gè)文件幾乎可以包含任何你打算設(shè)置的信息,包括用戶信息、站點(diǎn)狀態(tài)等等。這樣的話,就有一個(gè)潛在的危險(xiǎn):這些信息有可能被黑客讀取。為了防止這個(gè)問題的發(fā)生,一個(gè)有效的辦法就是cookie只能被創(chuàng)建它的域所存取。這就是說:比如ytu.edu.cn只能訪問ytu.edu.cn創(chuàng)建的cookie。通常來講,這沒有什么問題;但是,如果需要兩個(gè)不同域上的兩個(gè)不同站點(diǎn)共享保存在cookie中的用戶信息,該如何處理呢?當(dāng)然可以選擇復(fù)制用戶信,但是,如果你需要用戶只能在一個(gè)站點(diǎn)上注冊(cè),并且自東成為另外一個(gè)站點(diǎn)的注冊(cè)用戶呢?或者,兩個(gè)站點(diǎn)共享一個(gè)用戶數(shù)據(jù)庫,而又需要用戶自動(dòng)登錄呢?這時(shí)候,跨越域共享cookie是最好的解決方案。

  這里,先看一些ASP處理cookie的代碼,以便以后便于引用參考。

  '創(chuàng)建Cookie

  Response.Cookies("MyCookie").Expires=Date+365

  Response.Cookies("MyCookle").Domain="mydomaln.com"

  Response.Cookies("MyCookle")("Username")=strUsername

  Response.Cookies("MyCookle")("Password")=strPassword

  讀寫cookie非常簡(jiǎn)單,上面的代碼創(chuàng)建一個(gè)cookie并給cookie設(shè)置屬性:域、過期時(shí)間,以及其他一些保存在cookie中的值。這里,strUsename,strPassword是在前面某個(gè)地方設(shè)置的變量。然后,通過下面的語句在cookie中讀取。

  '讀取Cookie

  datExpDate=Request.Cookies("MyCookie")

  strDomaln=Request.Cookies("MyCookle").Domain

  strUsername=Request.Cookies("MyCookle")("Username")

  strPassword=Request.Cookies("MyCookie")("Password")

  更詳細(xì)的信息,可以參考ASP的資料。

  

  實(shí)現(xiàn)

  簡(jiǎn)單地共享cookie的訣竅是重定向,一般過程為:

  1.一個(gè)用戶點(diǎn)擊siteA.com。

  2.如果用戶沒有siteA.com的cookie,就把用戶重定向到siteB.com。

  3.如果用戶有siteB.com的cookie,把用戶連同一個(gè)特殊的標(biāo)志(將在下面解釋)重定向回siteA.com,否則,只把用戶重定向到siteA.com。

  4.在siteA.com創(chuàng)建cookie。

  看起來很簡(jiǎn)單,仔細(xì)分析一下:siteA.com和siteB.com共享相同的用戶設(shè)置,所以,如果用戶有siteB.com的cookie(已經(jīng)注冊(cè)),siteA.com能夠同樣讀取cookie、提供cookie所允許的特性。這樣,訪問siteA.com的用戶就如同訪問了siteB.com。

  這個(gè)檢查的環(huán)節(jié)應(yīng)該在siteA.com中的文件所包含一個(gè)cookies.inc中實(shí)現(xiàn)。讓我們看一下這段代碼:

  l—1

  'SiteA.com"檢查cookie

  If Request.Querystring("Checked")<>"True" then

  If not Request.Cookies("SiteA_Cookie").Haskeys then

  '重走向到siteB.com

  Response.Redlrect("http://www.siteB.com/cookie.asp")

  End if

  End if   

  如果用戶有一個(gè)siteA.com的cookie,則不需要做任何事情了;第一個(gè)if語句用來消除無限的循環(huán)。

相關(guān)頻道: eNews

您對(duì)本文或本站有任何意見,請(qǐng)?jiān)谙路教峤?,謝謝!

投稿信箱:tougao@enet16.com