A-AA+then

ขอถามเกี่ยวกับ ajax login ค่ะ

1,157
ขอถามเกี่ยวกับ ajax login ค่ะ จากบทความนี้อ่ะค่ะ บทที่ 7 การทำ Login ด้วย AJAX 
คือ พอหนูทำตามแบบที่ใช้ cookie
แล้วลอง view source ดู มันเห็น javascript ทั้งหมด  โดยเฉพาะ บรรทัดนี้

check_user('<?=$_COOKIE[user]?>', '<?=$_COOKIE[passwd]?>', '');

ตรงชื่อ cookie ของทั้ง user และ password มันเห็นเป็น ชื่อ และรหัสผ่านแบบโจ๋งครึ่มเลยอ่ะค่ะ


ไม่ทราบว่า มันจะมีปัญหาด้านความปลอดภัยหรือเปล่าคะ หรือว่าไม่เป็นไร มีวิธีที่จะซ่อนไม่ให้คนเห็นเมื่อ view source ไหมคะ

5 ความคิดเห็น

ใช้ phpเช็ค cookie ครับ นั้นของเก่าพอดูเอาแนวทางเฉยๆครับ ดูบทความใหม่เลยครับ

    
    บทที่ 25 GForm กับการ Login



1

อันนี้หนูก็ลองทำแล้วอ่ะค่ะ แต่บางหน้ามันก็ขึ้น Loading.. ตรงฟอร์มเฉยๆ แล้วไม่ทำงาน
ในขณะที่ ลองหน้าอื่นๆ มันได้ผลค่ะ หนูไม่เข้าใจว่า ทำไม Gajax ถึงใช้ได้เป็นบางหน้า

ไม่แน่ใจว่าไปตีกับไฟล์ Jquery อื่นๆในหน้านั้นๆหรือเปล่า
แต่มันก็ไม่ควรจะตีกันม่ใช่หรือคะ หรือว่าอาจเกิดขึ้นได้คะ
2

555+++

source ที่เห็นเป็นของใคร ครับ ?...ถ้าของเราเองที่เปิดดูบนเครื่องเราจะกลัวไปใย ยังไงเราก็เห็นของเราคนเดียว

ถ้าเราใช้ cookie ยังไงก็คงสามารถ View Source เห็นแหละครับ รวมถึงถ้ามีการกรอกฟอร์มรออัตโนมัติ ซึ่งเป็นเรื่องปกติครับ ไม่ว่าจะไปเข้าเว็บไหนแม้กระทั่งเว็บที่ได้ชื่อว่าปลอดภัยสูงสุด เมื่อใดที่มีการกรอกฟอร์มโดยอัตโนมัติ เราย่อม View Source ได้เห็น

ถ้า Username และ Password นั้นเป็นของเรา และเราต้องการจะป้องกันตัวเองจากผู้อื่น (ที่ไม่หวังดี) เป็นความจำเป็นที่เราต้องระมัดระวังด้วยตัวเองครับ เช่น หากเป้นเครื่องสาธารณะ ไม่ควรเลือกให้จำชื่อหรือรหัสผ่าน หรือ เมื่อมีการถามการกรอกฟอร์มอัตโนมัติ ไม่ควรเลือกให้ Save รหัสผ่าน

ในกรณีที่เราออกแบบเว็บ และไม่ต้องการให้มีใคร(แม้แต่เรา) เห็นรหัสผ่าน มีวิธีเดียวครับ คือ ไม่ต้อง echo มันออกมา ก็จะไม่มีใครเห็นแล้ว แต่แน่นอน มันต้องแลกกับควงามสะดวกสบายบางอย่างไป เช่น การกรอกฟอร์มที่ต้องกรอกเสมอ

ในกรณีของฟอร์ม login เราอาจเลี่ยงไปใช้ Session แทนได้ครับ โดยการออกแบบให้ PHP ตรวจสอบ SESSION ที่ Server เลย โดยไม่ต้องกรอกก่อน ซึ่งคงต้องออกแบบระบบกันใหม่ (แต่หลักการก็อย่างเดียวกัน) โดยอาจใช้แนวคิดที่ว่า หาก ฟังก์ชั่น check_user ส่งค่าว่างไปให้ ให้ PHP ไปอ่าน ชื่อและรหัสผ่านจาก Session แทน และเมื่อ login ได้แล้ว ก็ให้บันทึกลง Session เก็บไว้ด้วย
3

อ้างจากคำตอบที่ #2อันนี้หนูก็ลองทำแล้วอ่ะค่ะ แต่บางหน้ามันก็ขึ้น Loading.. ตรงฟอร์มเฉยๆ แล้วไม่ทำงาน
ในขณะที่ ลองหน้าอื่นๆ มันได้ผลค่ะ หนูไม่เข้าใจว่า ทำไม Gajax ถึงใช้ได้เป็นบางหน้า

ไม่แน่ใจว่าไปตีกับไฟล์ Jquery อื่นๆในหน้านั้นๆหรือเปล่า
แต่มันก็ไม่ควรจะตีกันม่ใช่หรือคะ หรือว่าอาจเกิดขึ้นได้คะ

อาจเกิดขึ้นได้ครับ เพราะฟังก์ชั่นบางตัวของ JQuery และ GAjax นั้นมีชื่อเดียวกัน ซึ่งผมได้อธิบายไว้ในบทความแล้ว ซึ่งรวมถึง Frame Work อื่นๆด้วยที่อาจพบปัญหานี้ได้

 ในความเป็นจริง เราควรเรียกใช้ Frame Work ค่ายใดค่ายหนึ่งโดยเฉพาะ (ยกเว้นที่ออกแบบมาเพื่อให้ทำงานร่วมกัน) และ เราควรทำความเข้าใจกับวิธีใช้งานของโค้ดต่างๆให้เข้าใจ เพื่อเราจะได้สามารถประยุกต์ใช้โค้ดของค่ายนึงไปใช้กับโค้ดของค่ายอื่นได้ (เพราะปกติแล้วมันมักจะมีฟังก์ชั่นที่สามารถทดแทนกันได้)

อ้อ ดูเหมือนผมจะเคยอ่านเจอนะว่า JQuery มันมีวิธีเรียกใช้เป็นพิเศษ ที่จะทำให้มันไม่ตีกับ Javascript อื่นๆได้ ให้ลองศึกษาจาก document ของ JQuery ดูครับ 

แต่เท่าที่ผมเคยใช้ GAjax ร่วมกับ Frame Work อื่นๆ(ในบางครั้ง, ไม่บ่อยนัก) ผมก็พบว่ามันก็สามารถทำงานร่วมกันได้เป็นอย่างดีครับ ทั้งนี้ทั้งนั้น หากยังต้องการใช้มันร่วมกันอยู่ผมแนะนำให้หาข้อผิดพลาดให้พบ แล้วแก้ไขให้ตรงจุดครับ
4

ขอบคุณมากๆเลยนะคะสำหรับคำแนะนำ หนูจะลองดูค่ะ laugh
5
^