พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

เรื่อง เข้ารหัส session การ login

+1 vote
ผมอยากทราบว่า การทำระบบ login มันจะมีการ ตรวจเช็ค username กับ password แล้วถ้า user&pass ถูกต้องแล้ว เราก็จะสร้าง session username กับ password เพื่อใช้ตรวจสอบกับ Page อื่นๆ ที่เราต้องการ เช็คว่า user ได้มีการ login ไหม

คำถาม คือว่า

1. เราจำเป็นไหมครับต้องเข้ารหัส session ในการทำระบบ login
2. ในการเข้ารหัส session นั้น ควรเข้ารหัส ด้วยวิธีใดครับ (ส่วนตัวคิดว่า ตอน register user ให้เรา เข้ารหัส password user เป็น md5 ก่อน เมื่อจะ login ก็ให้ทำการแปลง password ที่รับจาก user ให้เป็น md5 ก่อน แล้วค่อยไปตรวจสอบกับ db)
3.ถ้า session ไม่ได้มีการเข้ารหัสข้อมูล เราจะสามารถเข้าถึง values นั้นได้ไหมครับ
ถามเมื่อ May 2, 2012 in PHP & MySQL & Ajax โดย Farkham Break-love (242 คะแนน)
retagged May 2, 2012 โดย Farkham Break-love
   

2 Answers

+3 votes
 
Best answer
  1. ไม่จำเป็น Session อยู่ที่ฝั่ง server ครับไม่ได้มีการส่งไปมา (คุณจะเก็บอะไรก็ได้ แล้วแต่จะออกแบบ บางคนเก็บ username, ชื่อนามสกุล เพื่อใช้แสดงผล จะได้ไม่ต้องไปดึงจาก database)
  2. มองเรื่อง session กับการ login/register ออกจากกันครับ เดี๋ยวจะสับสน
    ข้อมูลตอนเก็บลง database ควรเข้ารหัสครับ เช่น md5 เพราะถ้าถูก hack ขึ้นมา แล้ว user ใช้ password เดียวกันกับหลายๆ เว็บ/ระบบ จะทำให้ hacker เอา password นั้นไปใช้กับที่อื่นได้ อีกเรื่องคือ ถ้า admin ระบบไร้จรรยาบรรณ ก็จะดู passwod ใน database ได้
    ส่วน session เป็นสิ่งที่สร้างขึ้นเพื่อเก็บข้อมูล และทำงานทางฝั่ง server เช่น เก็บ status ว่า login แล้ว หรือถ้าเว็บที่เป็น flow อาจจะเก็บพวกว่า หน้าก่อนหน้า user ทำกรอกอะไรมาบ้าง (แต่ยังไม่เก็บลง database) จนกว่าจะทำเสร็จทุกหน้าใน flow
  3. ถ้า "เรา" ของคุณหมายถึง ฝั่ง browser ก็ไม่ได้ครับ แต่ถ้าหมายถึง code ตัวเองที่ฝั่ง server ก็ต้องได้สิครับ เพราะ session คือสิ่งที่ใช้เก็บทางฝั่ง server เพื่อทำงาน เช่น login ก็เก็บว่า มี session ที่เก็บ status ว่า login หรือยัง

 

ตอบเมื่อ May 2, 2012 โดย Krurkrit Phoosakul (1,174 คะแนน)
selected May 2, 2012 โดย admin
0 votes
มันมีรูปแบบการเข้ารหัส อยู่ครับ ตย.
http://php.net/manual/en/function.session-encode.php
http://www.zimuel.it/en/encrypt-php-session-data/

หรือใช้ function การเข้ารหัสอื่นๆ ก็ได้เหมือนกัน

1. session สำหรับการ ล็อกอิน ไม่ควรเก็บ username หรือ password ไว้ใน session นะครับ เมื่อล็อกอินผ่าน เก็บแค่ user id ก็พอ

2. ในวงเล็บเป็นวิธีการที่นิยมมากที่สุด  นอกวงเล็บ มันไม่สอดคล้องกับในวงเลบอ่ะ งง

3. ได้ครับ ถึงเข้ารหัสก็เอาได้ - -"
ตอบเมื่อ May 2, 2012 โดย T?m ?sk-maxim (447 คะแนน)

Related questions

+3 votes
2 คำตอบ
+1 vote
5 คำตอบ
+1 vote
4 คำตอบ
419 views ถามเมื่อ May 16, 2012 in PHP & MySQL & Ajax โดย Puppa Max (103 คะแนน)
+1 vote
2 คำตอบ
370 views ถามเมื่อ Oct 10, 2013 in PHP & MySQL & Ajax โดย Nattawat Marsh (103 คะแนน)
...