| Cookies
คืออะไร?
Cookies คือไฟล์ข้อมูลที่เก็บบันทึกไว้ที่เครื่องของ User ทางฝั่งไคลเอนต์
เพื่อเก็บสถานะการดูเว็บของ User คนนั้นๆ ไฟล์แบบ Cookies จะเกิดจากการเปิดเว็บไซต์
เนื่องจากหลายๆเว็บไซต์นิยมการใช้ไฟล์ Cookies เก็บข้อมูลของเราจากการเข้าเยี่ยมชมเว็บไซต์นั้นๆ
เพื่อนำข้อมูลนั้นมาแสดงผล หรือนำไปใช้งานอื่นๆ ข้อมูลส่วนใหญ่ที่เก็บไว้ในไฟล์
Cookies จะเป็นข้อมูลที่เราเข้าไปใช้ เว็บไซต์นั้นๆ เช่น เก็บข้อมูลจำนวนครั้งที่เราเข้าเว็บไซต์
ว่าเราเข้ามาดูกี่ครั้งแล้ว ที่เป็นเช่นนี้เพราะว่าผู้สร้างเว็บไซต์ได้ทำการสั่งให้สร้าง
Cookies เก็บไว้ในเครื่องของเรา ซึ่งแน่นอนครับว่าค่าที่เก็บใน Cookies
ก็คือ จำนวนครั้งที่เราเข้าไปดูเว็บนี้ และเมื่อเราเข้าไปดูอีกครั้ง
เว็บก็จะทำการตรวจสอบ Cookies และนำค่าที่เก็บไว้มาแจ้งเป็นจำนวนครั้งที่เราเข้าชม
และทำการเพิ่มค่าที่เก็บใน Cookies และถ้าเราเป็นสมาชิกของเว็บไซต์นั้นด้วย
ก็อาจจะมีการเก็บข้อมูล Username และ Password ที่เราใช้เอาไว้ ทำให้สามารถใช้งานเว็บไซต์ได้แบบสมาชิกครับ
ครั้งต่อไป ก็อาจจะ เข้าเว็บไซต์ได้ โดยไม่ต้องใส่ Username และ Password
ใหม่ ทำให้ง่ายต่อการใช้งาน
ถ้าจะถามว่าไฟล์
Cookies มีอันตรายต่อเครื่องเราหรือไม่ โดยทั่วไปแล้วไฟล์ Cookies ไม่มีอันตรายต่อเครื่องคอมพิวเตอร์ของเราโดยตรงครับ
แต่ถ้ามีคนมาพบไฟล์ Cookies ที่เครื่องเรา และทำการ ค้นหาข้อมูลที่เก็บไว้ในไฟล์
Cookies อาจจะพบข้อมูล ที่อาจจะทำให้เราสูญเสีย ข้อมูลส่วนตัว ไปได้เช่น
ถ้ามีคนมา ค้นพบ Username และ Password จากไฟล์ Cookiesที่เครื่องเรา
และนำไปใช้ อาจจะทำให้เรา โดนขโมย Username และ Password นั้นไปใช้ ซึ่งอาจจะมีผลไม่ดีหลายๆอย่าง
หากคนนั้นนำไปใช้ ในทางที่ไม่ดี
โครงสร้างคำสั่งการสร้าง
Cookies
<% Response.Cookies("ชื่อ
Cookies")("ชื่อ
Key") = ค่าที่จะเก็บใน Key
%>
คำสั่งนี้เป็นการใช้ออบเจ็กต์
response สร้าง cookies โดยเราต้องระบุชื่อ Cookies, ชื่อ Key และค่าที่เก็บใน
Key นั้น นอกจากนี้ยังมีอีก 1 คำสั่งที่ใช้ในการสร้างคือ
<%Response.Cookies("ชื่อ
cookies").Expires = Date
+ 365%>
เป็นคำสั่งที่ใช้ในการกำหนดวันหมดอายุของ
Cookies จากตัวอย่างเป็นการกำหนดให้ Cookies มีอายุ 1 ปีนับตั้งแต่วันที่สร้าง
ถ้าเราไม่ระบุคำสั่งนี้ร่วมกับคำสั่งแรก การสร้าง Cookies จะไม่สามารถทำได้
ตัวอย่างการใช้ออบเจ็กต์ request เพื่อนำค่าที่เก็บใน Key ที่เราระบุออกมาแสดง
<%
newtime = request.Cookies("mycookies")("Times")
newtime = newtime +
1
Response.Cookies("mycookies").Expires
= Date +
1
Response.Cookies("mycookies")("Times")
= newtime%>
<html>
<body>
ในวันที่ <%=date%> คุณได้เปิดเว็บหน้านี้
<%=newtime%> ครั้งแล้ว
</body>
</html>
%>
ถ้าต้องการลบไฟล์
Cookiesจะทำได้อย่างไร?
สำหรับ Internet Explorer 6.0 หรือมากกว่า สามารถลบได้ โดยคลิกที่เมนู
Tools -> คลิก Internet Options -> คลิกที่ Delete Cookies ->
คลิก OK -> คลิก OK เพียงเท่านี้ก็จบขั้นตอนการลบไฟล์ Cookies แล้วครับ
หลังจากที่รู้ความหมายมาพอสมควรแลว้นะครับก็มาว่าเรื่องของ Cookies ใน
ASP กันดีกว่าครับ
การเก็บค่าจาก Server มาเก็บใว้ที่เครื่อง Client โดยเก็บใว้ในรูปไฟล์
พูดง่าย ๆ ก็คือ การเขียนลงไฟล์นั้นเอง ซึ่งจะถูกเขียนใว้ที่ C:\windows\cookie
การสร้าง
Cookie
รูปแบบ
Response.cookies(cookies)[(key)|.attribute]
= value
เมื่อ
Cookie ชื่อ ของ Cookie
Key ตั้งค่าของ Key ที่ใช้เก็บค่าต่าง ๆ
attribute กำหนดคุณสมบัติของ Cookie เช่น Exprise หรือ Has keys
value คือ ค่าของ Cookie
ตัวอย่าง
<%Response.Cookies("namecookie").Expires=date+1%>
<%Response.Cookies("namecookie")("Test1")="werachai"%>
<%Response.Cookies("namecookie")("Test2")="adison"%>
เราสามารถกำหนดค่า
Cookie โดยไม่กำหนด Key ได้เดังนี้
ตัวอย่าง
<%Response.Cookies("name")
= "นายอภิชาติ เกาะดี" หรือ
Response.Cookies("old")
= 21%>
*********************************************************************************************************
การกำหนดวันหมดอายุของ Cookie
รูปแบบ
Response.cookies(cookies-name).expires
= expire+date
ตัวอย่าง <%Response.Cookies("name").Expires
= date+5
หรือ Response.Cookies("old").Expires=
date+5%>
เป็นการกำหนดให้มีอายุ 5 วัน
*********************************************************************************************************
การลบข้อมูลใน
Cookie
รูปแบบ
response.cookies("cookie-name").expires=
now
ตัวอย่าง <%Response.Cookies("name").Expires=
now %>
*********************************************************************************************************
การอ่านค่าจาก Cookie
รูปแบบ
var-name = Request.cookies ("cookies-name")
ถ้ามีการกำหนด
key
<%=
Request.Cookies("cookie")("Key")%>
ตัวอย่าง
<% =Request.Cookies("namecookie")("Test1")%>
ถ้าไม่มีการกำหนด
Key
<%=
Request.Cookies("cookie")%>
ตัวอย่าง
<%Request.Cookies("name")
หรือ Request.Cookies("old")%>
*********************************************************************************************************
หากต้องการแสดงค่า
Cookie ออกมา
<%=
Response.Cookies("cookie-name")
หรือ =
Response.Cookies("old")%>
*********************************************************************************************************
กรณีค่าของ
Cookie หายไป
Response.Cookies("cookie-name")
'ทับ Cookie ที่มีอยูแล้ว'
Response.Cookies("cookie-name")
'หมดอายุ'
*********************************************************************************************************
เดี๋ยวจะงงกันไปใหญ่มาดู ตัวอย่างดีกว่านะครับ
****************************************** |
| ไฟล์ที่
1 ชื่อว่า test1.asp |
<html>
<head>
<title>Gangza</title>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-874">
</head>
<body>
<%
Response.Cookies("data").Expires=date+1
Response.Cookies("data")("url")="http://www.wegiveu.com"
Response.Cookies("data")("name")="Gangza"
%>
<a href="test2.asp">ตรวจสอบค่า
Cookie</a>
</body>
</html> |
****************************************** |
| ไฟล์ที่
2ชื่อว่า test2.asp |
<html>
<head>
<title>Gangza</title>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-874">
</head>
<body>
ค่าใน
Cookie Url คือ <%=Request.Cookies("data")("url")%><br>
ค่าใน Cookie name คือ <%=Request.Cookies("data")("name")%><br>
<a href="test3.asp">ทำการลบค่า
Cookie ทั้งหมด</a><br>
<a href="test1.asp">ทำการตั้งค่า
Cookie อีกครั้ง</a><br>
</body>
</html> |
****************************************** |
| ไฟล์ที่
3ชื่อว่า test3.asp |
<html>
<head>
<title>Gangza</title>
<meta http-equiv="Content-Type"
content="text/html; charset=windows-874">
</head> <body>
<%
Response.Cookies("data").Expires=now
%>
<a href="test2.asp">ทำการดูค่า
Cookie ทั้งหมด</a><br>
<a href="test1.asp">ทำการตั้งค่า
Cookie อีกครั้ง</a><br>
</body>
</html> |
| จากนั้นก็ทำการ
Save นะครับ ใช้ชื่อว่า test3.asp |
****************************************** |
|
| ลองดัดแปลงการใช้ดูเอานะครับ |
|