ครบเครื่อง CGI เพื่อจัดระบบเก็บข้อมูล 3 แบบ 3 สไตล์
ผู้เขียน: ทรงเกียรติ ภาวดี
ISBN: 974-87639-5-1
จำนวนหน้า: xxx หน้า
ขนาด: 14.5 x 21 ซม.
รูปแบบหนังสือ:
หนังสือขาวดำ
ราคาปก: 295 บาท
ราคาสั่งซื้อ: 260 บาท
- เป็นหนังสือภาษาไทยเล่มแรก ที่อธิบายแนวคิดและวิธีการเขียนสคริปต์ CGI เพื่อจัดการกับฐานข้อมูลอย่างละเอียดที่สุด พร้อมตัวอย่างการใช้งานจริงตลอดเล่ม
- ปูพื้นฐานตามหลักการเขียนสคริปต์ เพื่อจัดการฐานข้อมูลผ่านอินเทอร์เน็ต และอินทราเน็ตที่นักพัฒนา และนักเขียนโปรแกรมต้องเรียนรู้และเข้าใจให้ถูกต้องก่อน
- เปิดเผยเทคนิคการจัดการ และจัดเก็บข้อมูล เช่น เขียนสคริปต์ตัดคำหยาบ, ค้นหาข้อมูลอย่างรวดเร็ว, แยกข้อมูลเก็บลงไฟล์ รวมทั้งชี้ให้เห็นจุดอันตรายต่างๆ และวิธีการป้องกันปัญหาที่จะเกิดขึ้น
- มีตัวอย่างสคริปต์ที่นำไปใช้ทันที เช่น ระบบสมาชิก, mailing list, guest bood ฯลฯ ซึ่งใช้ได้ทั้งเซิร์ฟเวอร์ที่เป็นระบบ UNIX และ Windows ไม่ว่าเซิร์ฟเวอร์ที่เสียเงินเช่า หรือใช้ฟรีอย่าง hypermart.net virtualave.net โดยสามารถดาวน์โหลดสคริปต์ทั้งหมดได้ที่ www/witty.net
บทที่ 1 เลือกใช้ Apache เป็นเว็บเซิร์ฟเวอร์
Apache เป็นโปรแกรมเว็บเซิร์ฟเวอร์ที่น่าสนใจอีกโปรแกรมหนึ่ง เพราะเป็นของฟรีที่มีการนำไปใช้งานแพร่หลายมากที่สุด ในบทนี้จะอธิบายการติดตั้ง Apache เวอร์ชันสำหรับ Windows เพื่อสร้างเป็นเว็บเซิร์ฟเวอร์สำหรับทดลองรันสคริปต์ CGI รวมทั้งทำความเข้าใจวิธีการปรับแต่งค่าต่างๆ ของ Apache ด้วย
- ติดตั้ง Apache
- สำรวจไดเรกทอรีของ Apache
- รัน Apache ครั้งแรก
- หยุดการทำงานของ Apache
- ไดเรกทีฟที่สำคัญ
- สคริปต์ CGI กับ Apache
บทที่ 2 ตั้งต้นจากระบบเก็บข้อมูลแบบ text
หากเริ่มต้น หรือคิดที่จะเขียนสคริปต์เพื่อจัดเก็บข้อมูลการจัดเก็บแบบ text เป็นวิธีแรกที่ผู้อ่านควรรู้จัก และทำความเข้าใจก่อน เพราะสามารถนำไปประยุกต์ใช้เก็บข้อมูลได้สารพัด เนื้อหาในบทนี้จึงแจกแจงวิธีเขียนสคริปต์จัดการข้อมูลแบบ text พร้อมทั้งแนะนำเทคนิค และชี้ให้เห็นจุดอันตรายต่างๆ ของการเก็บข้อมูลวิธีนี้ด้วย
- ลักษณะของไฟล์แบบ text
- สารพัดวิธีสร้างไฟล์แบบ text
- หลักการพื้นฐานของการติดต่อไฟล์
- ทำไมต้องล็อคไฟล์
- จะล็อค หรือปลดล็อคได้อย่างไร
- ตัวอย่างข้อมูลที่จะใช้
- อ่านข้อมูลมาแสดง
- เรียงลำดับข้อมูลก่อนนำไปแสดง
- แกะข้อมูลแยกเป็นฟิลด์
- ใช้ตารางบังคับการแสดงผล
- จำเป็นต้องแกะครบทุกตัวหรือไม่
- ระวังท้ายบรรทัดมีรหัสลงบรรทัดใหม่พ่วงอยู่
- เลือกตัวคั่นฟิลด์อย่างไร
- การค้นหาข้อมูล
- ค้นหาทุกอย่างทุกรูปแบบในสคริปต์เดียว
- การเพิ่มข้อมูลลงไฟล์
- ลบข้อมูลออกจากไฟล์
- อันตรายที่แฝงอยู่
- การแก้ไขข้อมูล
- การจัดเรียงลำดับข้อมูล
- ก่อนจบบท
บทที่ 3 User Authentication เพื่อความปลอดภัย
User Authentication เป็นวิธีการหนึ่งที่บังคับให้ผู้ใช้ต้องป้อน User Name และรหัสผ่านก่อนเข้าไปใช้งานในไดเรกทอรีต่าง ๆ ของเซิร์ฟเวอร์ โดยมีการจัดเก็บข้อมูล และรหัสผ่านของผู้ใช้ในรูปแบบ text หัวใจสำคัญของบทนี้ จึงเป็นการประยุกต์ความรู้จากบทที่ผ่านมา เพื่อสร้างระบบช่วยจัดการข้อมูล User Name และรหัสผ่าน ซึ่งผู้ดูแลระบบสามารถนำไปใช้งานโดยเฉพาะ
- หลักการของ User Authentication
- สร้างไฟล์ .htaccess
- โปรแกรมเข้ารหัสให้กับรหัสผ่านของ Windows
- โปรแกรมเข้ารหัสให้กับรหัสผ่านของ UNIX
- ทดสอบ User Authentication
- เพิ่ม User Name ลงในไฟล์ .htpasswd
- เขียนสคริปต์จัดการ User Name และรหัสผ่าน
- ทดลองใช้สคริปต์ใน Windows
- User Authentication ของเซิร์ฟเวอร์ที่ให้บริการโฮมเพจฟรี
- แอบดู .htaccess และ .htpasswd
- ก่อนจบบท
บทที่ 4 แง่มุมที่ไม่ธรรมดาของ guest book
guest book เป็นสคริปต์ยอดนิยมอันดับต้นๆ ที่ถูกหยิบยกมาใช้เป็นตัวอย่าง สำหรับการเขียน CGI ซึ่งคนส่วนใหญ่มักคิดว่าเป็นสคริปต์ที่ไม่มีอะไรยาก หรือน่าสนใจศึกษา แต่ในบทนี้จะอธิบายให้ทราบถึงปัญหาที่อาจเกิดขึ้นกับ guest book อย่างเช่น การตรวจสอบและเซ็นเซอร์คำหยาบ อันเป็นเรื่องที่มองข้ามหรือละเลยไม่ได้
- guest book ของง่ายๆ แต่อาจไม่ง่าย
- วางโครงการของ guest book
- guest book เวอร์ชันแรก (CGI ล้วนๆ)
- ข้อเสียของเวอร์ชัน 1
- วางโครงการสคริปต์เวอร์ชัน 2
- guest book เวอร์ชัน 2 (HTML + CGI)
- "\n" และ "\t" จะปนมากับข้อมูลได้อย่างไร
- ตัดคำหยาบออกจากข้อความ
- ไม่มีสคริปต์ป้องกันคำหยาบได้ 100%
- เก็บ IP แอดเดรสของผู้ที่โพสต์ข้อความ
- ก่อนจบบท
บทที่ 5 ระบบปรับปรุงข่าวสาร แยกไฟล์ดีกว่ารวมไฟล์
โจทย์ปัญหาง่ายๆ เพียงแค่เก็บข้อมูลข่าวสารไว้ในไฟล์ เพื่อเรียกไปแสดงในเว็บเพจ แต่เมื่อจะเขียนสคริปต์จริง สามารถออกแบบการจัดเก็บได้หลากหลายวิธี ในบทนี้จะแสดงให้เห็นวิธีนำข้อมูลของแต่ละเรคอร์ดไปเก็บบันทึกลงไฟล์หลายๆ ไฟล์แยกจากกัน แทนที่จะเก็บรวมอยู่ในไฟล์เดียว โดยมีเป้าหมายเพื่อความรวดเร็วในการค้นหา และการปรับปรุงแก้ไขข้อมูล
- โจทย์ปัญหาง่ายๆ
- วิเคราะห์แบบง่ายๆ
- วิเคราะห์อีกขั้นที่ลึกกว่า
- สร้างหรือแก้ไขข้อมูล
- แก้ไขหรือลบข้อมูล
- นำข้อมูลไปแสดงทางเว็บเพจ
- ข้อเสียของการเก็บข้อมูลแยกเป็นไฟล์
- ก่อนจบบท
บทที่ 6 จัดการระบบสมาชิกตามสไตล์ DBM
ข้อมูลหลายอย่างของระบบ UNIX ได้ถูกจัดเก็บแบบ DBM ซึ่งทำให้ค้นหาข้อมูลได้อย่างรวดเร็ว และมีประสิทธิภาพมากกว่าแบบ text แต่กลับไม่ค่อยมีใครเอ่ยถึง บทนี้จึงนำเสนออีกทางเลือกหนึ่งสำหรับผู้ที่ต้องการเขียนสคริปต์จัดเก็บข้อมูลแบบ DBM โดยนำระบบสมาชิกมาเป็นกรณีศึกษา
- DBM คืออะไร
- แนวคิด และการทำงานของ DBM
- อาร์เรย์แบบ Associative
- เก็บข้อมูลลงไฟล์
- ดึงข้อมูลมาแสดง และจัดเรียงลำดับ
- แก้ไขข้อมูล
- ลบข้อมูล
- เพิ่ม-ลบ-แก้ไขใน CGI ตัวเดียว
- ระบบจัดการสมาชิกที่ดีกว่า
- กำหนดคุณสมบัติเบื้องต้นก่อน
- การออกแบบทางเทคนิค
- สคริปต์มีอะไรบ้าง
- ศูนย์รวมโปรแกรมย่อย
- register.cgi สมัครสมาชิก
- adminedit.cgi แก้ไขข้อมูลสมาชิก
- admindel.cgi ลบข้อมูลสมาชิก
- adminlist.cgi แสดงข้อมูลสมาชิก
- adminsearch.cgi ค้าหาข้อมูลสมาชิก
- ใช้งานง่ายขึ้นด้วยเฟรม
- แนวทางการปรับปรุงให้ดีขึ้น
- ป้องกันผู้ใช้ทำงานเป็น admin
- ตรวจสอบโครงสร้างอีเมลที่ป้อนเข้ามา
- บังคับให้ป้อนอีเมลจริง
- แก้ไขข้อมูลส่วนตัว
- ตัวอย่างการใช้งาน account
- อย่าลืมเรื่องการล็อคไฟล์
- ก่อนจบบท
บทที่ 7 ลองทำ mailing list แบบแหวกแนว
ระบบ mailing list ที่นักสร้างเว็บและนักท่องเว็บคุ้นเคย มักใช้วิธีจัดเก็บข้อมูลแบบ text แต่ในบทนี้จะเป็นการฉีกแนวออกจากกระแสนิยม มาลองจัดเก็บข้อมูลสำหรับระบบ mailing list แบบ DBM กันบ้าง ทั้งนี้เพื่อให้เห็นแนวทางการประยุกต์เอาความรู้เรื่อง DBM จากบทที่แล้วมาใช้งาน
- วางโครงการเขียน mailing list
- index.html แสดงฟอร์มรับข้อมูลจากผู้ใช้
- config.cgi เก็บตัวแปร+โปรแกรมที่ใช้บ่อย
- subscribe.cgi รับสมัครหรือรับเลือกสมาชิก
- maillist.cgi แสดงรายชื่ออีเมลเป็นหน้าๆ
- mailsearch.cgi ค้นหาอีเมลแอดเดรสได้ดังใจ
- mailsend.cgi กระจายข่าวให้เหล่าสมาชิก
- คำแนะนำและคำเตือน
- ก่อนจบบท
บทที่ 8 ทำงานได้ยืดหยุ่นกว่า ถ้าติดต่อผ่าน ODBC
ODBC เป็นเทคนิคที่ทำให้การจัดการฐานข้อมูลต่างๆ ง่ายขึ้น บทนี้จึงเสนออีกแนวทางหนึ่งของการเขียนสคริปต์จัดการกับฐานข้อมูล MS Access ผ่าน ODBC และทดลองให้เห็นถึงความยืดหยุ่นของ ODBC ด้วยการเปลี่ยนรูปแบบฐานข้อมูลจาก MS Access เป็นฐานข้อมูลแบบอื่น โดยที่ไม่มีการแก้ไขสคริปต์ CGI เลย
- สร้างแฟ้มข้อมูลสำหรับทดลอง ODBC
- สร้าง DSN
- ขั้นตอนการติดต่อกับ ODBC
- เรียกข้อมูลมาแสดง
- เรียกข้อมูลบางฟิลด์มาแสดง
- ตรวจสอบความผิดพลาดจากการทำงาน
- เขียนตรวจสอบความผิดพลาดเอง
- เขียนสคริปต์แยกเป็น library
- นำข้อมูลมาแสดง (อีกครั้ง)
- เขียนข้อมูล
- ลบข้อมูล
- แก้ไขข้อมูล
- คลิกเพื่อแก้ไขหรือลบข้อมูล
- ค้นหาข้อมูล
- ลอง ODBC กับ text
- ลอง ODBC กับ Excel
- ก่อนจบบท
ภาคผนวก กลวิธีสร้างฟอร์มเพื่ออัปโหลดไฟล์ผ่านเบราเซอร์
- สคริปต์ทำงานอย่างไร
- ตรวจสอบการอัปโหลด
- อัปโหลดหลายไฟล์พร้อมกัน
- กำหนดรูปแบบของไฟล์ที่จะอัปโหลด
- ปรับปรุงการทำงานให้ดีขึ้น