Session VS Cookie แตกต่างกันอย่างไรนะ

เริ่มโดย UnzO, 02 กันยายน 2008, 15:40:02

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

UnzO

ใครช่วยบอกผมหน่อยครับว่ามันต่างกันอย่างไร รวมถึงการนำไปใช้ในกรณีต่างๆ อันไหนมีความสารถมากกว่ากัน ข้อดีและข้อเสีย และความสะดวกในการใช้งาน



หากผมต้องการทำระบบ Admin ผมต้องใช้ตัวไหนดี ดูแล้ว ผมแยกแยะไม่ออก แต่ผมใช้ Session อยู่ มันไม่ปลอดภัยรึปล่าว


??? ???

zerohate

Session  ทำงานอยู่ที่ฝั่ง server
Cookie ทำงานอยู่ที่เครื่องเรา

ผมคิดว่าแบบ Session ปลอดภัยกว่านะครับ เพราะพอเราปิดหน้านั้นไป มันก็จะโดนล้างไปแล้ว   :)
[direct=http://www.thaimetalhead.com/]Thailand Metal Music[/direct]

UnzO

นอกจากนั้น มันยังมีข้อด้อย อะไรกันรึปล่าวครับ  ???

EThaiZone

ข้อด้อยหนึ่งของ session ก็คือทำงานได้ไม่เหมือนคุ๊กกี้
เพราะข้อมูลจะหายถ้่ามีการปิดหน้าต่าง ดังนั้นในหลายๆ งาน

การเดินสายกลางคือใช้ร่วมกันในส่วนที่ต้องการ ทั้ง session และ cookie ก็จำเป็นทั้งคู่ครับ

ปล. สนับสนุนให้มีการ encrypt ค่าใน cookie ในข้อมูลสำคัญเพื่อความปลอดภัย
เพราะคุ๊กกี้มันแก้ไขกันได้

UnzO

อ้างถึงจาก: EThaiZone ใน 02 กันยายน 2008, 15:51:54
ข้อด้อยหนึ่งของ session ก็คือทำงานได้ไม่เหมือนคุ๊กกี้
เพราะข้อมูลจะหายถ้่ามีการปิดหน้าต่าง ดังนั้นในหลายๆ งาน

การเดินสายกลางคือใช้ร่วมกันในส่วนที่ต้องการ ทั้ง session และ cookie ก็จำเป็นทั้งคู่ครับ

ปล. สนับสนุนให้มีการ encrypt ค่าใน cookie ในข้อมูลสำคัญเพื่อความปลอดภัย
เพราะคุ๊กกี้มันแก้ไขกันได้

ขอบคุณมากครับคุณโจ้ เดี๋ยวจะลองศึกษาดูอีกหน่อย เพิ่งเจอระบบที่ต้องใช้การจดจำตัวบุคคลครั้งแรก ปกติไม่ค่อยไม่ได้ใช้เท่าไหร่  :'(

minute1

Session ต้องใช้ Cookie ในการเก็บ Session Id หรือไม่ก็ต้อง Rewrite ไปกับ URL ยังไงมันก็หนีไม่พ้น Cookie
เพราะอากาศเปลี่ยนแปลงบ่อย ดูแลสุขภาพให้ดีนะครับ...ดูแลให้ดี ทั้งสุขภาพกาย และ สุขภาพใจ[direct=http://enablue.googlepages.com/][/direct][direct=http://infectionwatch.blogspot.com/][/direct][direct=http://weddingchrome.blogspot.com/][/direct][direct=http://smilecity.edicypages.com/][/direct]

tinnoi

อ้างถึงจาก: EThaiZone ใน 02 กันยายน 2008, 15:51:54
ข้อด้อยหนึ่งของ session ก็คือทำงานได้ไม่เหมือนคุ๊กกี้
เพราะข้อมูลจะหายถ้่ามีการปิดหน้าต่าง ดังนั้นในหลายๆ งาน

การเดินสายกลางคือใช้ร่วมกันในส่วนที่ต้องการ ทั้ง session และ cookie ก็จำเป็นทั้งคู่ครับ

ปล. สนับสนุนให้มีการ encrypt ค่าใน cookie ในข้อมูลสำคัญเพื่อความปลอดภัย
เพราะคุ๊กกี้มันแก้ไขกันได้

แล้ว encrypt ค่าใน cookie ทำยังไงเหรอครับ
[direct=https://trainee.naruthee.com]หาที่ฝึกงาน[/direct] ,
[direct=http://www.piyamitrgroup.com]รับรื้อถอน[/direct] ,
[direct=https://fastvisa2024.weebly.com/]รับทำวีซ่า[/direct] ,
[direct=https://business.10thai.com]10thai[/direct]

EThaiZone

ลองหาใน phpclasses.org มีตั้งหลายตัว
http://www.phpclasses.org/browse/class/20.html

อย่างที่ผมเคยใช้ ก็เช่น base32 แต่เราต้องใช้ให้เป็นหน่อย
อย่างผมก็ประยุกต์เขียน check digit (เหมือนหลักที่ 13 ของเลขบัตรประชาชนอะ) เพิ่มลงไป กันคนแปลงข้อมูล
(ถ้าพูดเชิงละเอียด คือ inject digit เพราะค่าที่ว่าไม่ได้อยู่หัวท้ายเหมือนชาวบ้านเขา)
ไม่ก็เขียนให้สร้าง master key ใหม่ทุกๆ วัน จะได้เดาทางยาก

อะไรแบบนั้น ลองใช้ดูแล้วดูผลการ encrypt ด้วย
บางตัวคืนค่ามากกว่าตัวอักษรที่เราอ่านได้ ก็ไม่เหมาะที่จะมาเก็บลงคุ๊กกี๊  :P
(เก็บไปเดี๋ยวกลัวมันรวน)

ค่าที่ควรเก็บ ก็อย่างเช่น hash ของ password หรือ username แนวๆ นี้แหละครับ

thenetxx

ค่า hash ของคุ๊กกี้ ไม่มีอะไรยาก ก็แค่เอา รหัส+keywordที่เราตั้งขึ้นเอง
เอาใส่ base64 base32 หรือ  md5 ก็ได้ ลง cookie ไว้

เวลาเช็ค ก็เอาข้อมูลใน db มา+keyword แล้วก็เข้ารหัสตามข้างบน แล้วเทียบกัน
ถ้าเหมือนกันก็ใช้ได้ล่ะครับ

ที่ต้องระวังคือพวก XSS เท่านั้นครับ

:)
Develop site but can't develop life
ASIA

@Sephiroth@

Session อยู่ฝั่ง Server
Cookie อยู่ผั่ง Client

สองตัวนี้ทำงานเหมือนกัน แต่ส่วนต่างคือความปลอดภัย ลองคิดดูครับถ้าคุณเขียน Script ขายของตัวหนึ่งโดยอ้างอิงจาก Cookie
ถ้าเจอคนห้วหมอเปลี่ยนราคาใน File Cookie จะเกิดอะไรขึ้น ?

คุณต้องขายของขาดทุนไปไม่รู้ตัว หรือแม้แต่ข้อมูลพวก Password , Username ถ้าเก็บด้วย Cookie ถือว่าอันตรายมาก ถ้าคนอื่นเข้ามาดู นี่เสร็จเลย.

ส่วน Session ก็ใช้ว่าจะปลอดภัย 100% น่ะัครับ มีพวกหัวหมอแอบไปดู Session คนอื่นในเครื่อง Server แบบ Share Host

ถ้าให้ดีใช้เครื่องส่วนตัวครับ แพงดี  :o

tarnroma

ตามนั้น SessionID เป็น ID อ้างอิง จาก Browser เพื่ออ้างถึง Session ที่เก็บอยู่บน Server อีกถอดนึง 

ทุกๆครั้งที่ Click เปิด Browser ใหม่ จะได้ SessionID ใหม่เสมอ (เปิดใหม่ ไม่ใช่จากการกด Link ถ้ากด Link จะสืบทอด SessionID เดิม)

Session จะปลอดภัยกว่า Cookie แต่ก็มีข้อจำกัด ในการใช้งานมากกว่า Cookie

Session มีข้อควรระวังในการใช้งานอีกมาก ยิ่งพวก .NET ที่โปรแกรมเมอร์บางคนชอบ ยัด Dataset ลง Session
แต่ไม่ได้ดูจำนวน Concurrent User กรณีบางโปรแกรม มี Concurrent มากๆ ก็จะเกิด Overflow เดี้ยงเป้งกันเป็นทิวแถว

YES

king_sk

ถ้าเว็บที่คนเข้าเยอะๆ หรือ เก็บ อะไรที่ไม่สำคัญมาก แนะนำให้ใช้ Cookie เพราะไม่หนัก server เพราะ Cookie จะเก็บไว้ในเครื่องเรา

ส่วน session จะเก็บไว้ใน server

starmark

ใช้คู่กันครับเพื่อประสิทธิภาพสูงสุด
[direct=http://www.motor-x-treme.com]รถ[/direct]|[direct=http://www.motor-x-treme.com]รถยนต์[/direct]|[direct=http://www.motor-x-treme.com]รถมือสอง[/direct]

WPDSign

cookie  เก็บอยุ่ที่ไหนของเครื่องครับ ยังไม่เคยเข้าไปดูเลย
สร้างบ้าน Modern [direct=https://casa-concept1.com/]แบบบ้านโมเดิร์น[/direct] มาแรง
» ต้องการสร้างบ้านดูแบบบ้านสวยๆ [direct=http://www.architect-bkk.com/แบบบ้านสองชั้น]แบบบ้านสองชั้น[/direct] ทุกสไลต์บริการ[direct=http://www.ideaican.com/]รับสร้างบ้าน[/direct] ใครฝันอย่างสร้างบ้านสไตล์รีสอร์ท มี[direct=https://แบบบ้านสไตล์รีสอร์ท.blogspot.com]แบบบ้านสไตล์รีสอร์ท[/direct]พร้อมก่อสร้าง ลงประกาศขายบ้านที่ [direct=http://www.classified108.com/]ลงประกาศ[/direct]

kuznetsova

ลองใช้ funciton md5() เข้ารหัสใน phpดูครับ

ส่วนไฟล์ cookie จะอยู่ tempolary internet file ครับ
เว็บที่ทำจาก Blogger สวยงามได้แค่ไหนชม
[direct=https://www.forexfights.com]วิธีเทรดฟอเร็กซ์ กรอบเวลาต่างๆ[/direct]
[direct=https://babbaan.in]แบบบ้านความรู้เรื่องบ้าน[/direct]
[direct=http://www.herb-health.com]แบบทรงผมข้อมูลด้านสุขภาพ ความงาม[/direct]

oosora

สรุปง่ายๆ

cookie เก็บไว้ที่เครื่อง client
session เก็บไว้ที่ server

ปลอดภัยกว่าก็ session
แต่ถ้าเอาประหยัด+อร่อยก็ใช้ cookie  :) :)
[direct=http://www.namfah.com]NamFah | all around the world[/direct]

peglui

#16
อ้างถึงจาก: doteenee.com ใน 14 พฤษภาคม 2009, 09:51:47
cookie  เก็บอยุ่ที่ไหนของเครื่องครับ ยังไม่เคยเข้าไปดูเลย


วิธีดูอย่างไวเลยก็คือ

พิมพ์
javascript:alert(document.cookie)
ไปบนช่อง address bar ตอนที่เข้าหน้าเว็บนั้น ๆ อะเพื่อดู cookie ของเว็บนั้น ๆ  มันจะขั้น cookie แต่ละตัว ด้วย ;