แกะรอย CGI เพื่อเขียนสคริปต์เรียกเพจเจอร์/มือถือผ่านเว็บ
ผู้เขียน: ทรงเกียรติ ภาวดี
ISBN: 974-87003-0-5
จำนวนหน้า: xxx หน้า
ขนาด: 14.5 x 21 ซม.
รูปแบบหนังสือ:
หนังสือขาวดำ
ราคาปก: 245 บาท
ราคาสั่งซื้อ: 210 บาท
- เรียนรู้ทุกๆ เรื่องที่เกี่ยวข้อง อย่างละเอียดและเป็นระบบ ทั้งโพรโตคอล HTTP, การส่งข้อมูลจากฟอร์มไปยัง CGI ในเซิร์ฟเวอร์, การควบคุม CGI ในเซิร์ฟเวอร์ของตนเองและของผู้อื่นให้ทำงานตามสั่ง ฯลฯ
- เปิดเผยเทคนิคการเขียนสคริปต์ CGI เพื่อส่งข้อความยาวไม่จำกัด, ตั้งเวลาการส่งอัตโนมัติ และวิธีตรวจสอบผลการส่งข้อความทุกแง่มุม
- ตีแผ่ชั้นเชิง CGI ระหว่างผู้ให้บริการเพจเจอร์/มือถือและนักแกะสคริปต์ CGI อิสระ, กลยุทธ์หลอกล่อต่างๆ รวมทั้งวิธีการป้องกันและแก้ไข
- เฉลยวิธีเขียนสคริปต์สร้างซ็อกเก็ตให้ทำงานเป็นไคลเอนต์และเซิร์ฟเวอร์ ด้วยโค้ดเพียงไม่กี่บรรทัด
บทที่ 1 บทบาทของโพรโตคอล HTTP
อยากเขียนโปรแกรมสื่อสารผ่านเว็บ ต้องเข้าใจโพรโตคอลให้ทะลุเสียก่อน เพียงแค่คำว่าโพรโตคอลก็ทำให้บางคนขยาดว่ายากแน่ แต่จริงๆ แล้วไม่ใช่เลย ในบทนี้จะไขความลับ HTTP ว่ามีกระบวนการทำงานที่ทำให้เซิร์ฟเวอร์กับไคลเอนต์ติดต่อสื่อสารกันได้อย่างไร
- HTTP โพรโตคอลนี้สำหรับ WWW
- วิธีการติดต่อของโพรโตคอล HTTP
- อะไรอยู่ในเนื้อไฟล์ที่รับ-ส่ง
- โครงสร้างโพรโตคอล HTTP
- ข้อความร้องขอ (request)
- ข้อความตอบสนอง (response)
- เฮดเดอร์คืออะไร
- เมธอดร้องขอไม่ได้มีแค่ GET
- สารพัดวิธีร้องขอไปยังเซิร์ฟเวอร์
- ทดลองโพรโตคอล HTTP ด้วย Telnet
- ขออะไรจากเซิร์ฟเวอร์ได้บ้าง
บทที่ 2 ทําความเข้าใจ CGI กับฟอร์ม
CGI คือตัวกลางที่ทำให้เซิร์ฟเวอร์กับไคลเอนต์ติดต่อกันได้อย่างยืดหยุ่น ในบทนี้จะอธิบายการทำงานระหว่าง CGI ในเซิร์ฟเวอร์กับฟอร์มในเบราเซอร์ รวมทั้งรูปแบบการส่งข้อมูลจากฟอร์มในเบราเซอร์ไปให้ CGI ในเซิร์ฟเวอร์ และวิธีที่ CGI จัดการกับข้อมูลที่ได้รับ เพื่อนำไปใช้งาน
- CGI คืออะไรกันแน่
- ใช้อะไรเขียน CGI ได้บ้าง
- ต้องเรียกว่า "โปรแกรม CGI" หรือ "สคริปต์ CGI"
- ไฟล์ CGI เก็บอยู่ที่ไหนและใช้นามสกุลอะไร
- แอบดูซอร์ซโค้ดของสคริปต์ CGI ได้หรือไม่
- สั่งให้ CGI ทำงานผ่านฟอร์ม
- รู้ได้อย่างไรว่าเป็น GET หรือ POST
- ทำไมต้องเข้ารหัสข้อมูลก่อนส่ง
- ใช้ GET หรือ POST ดี
บทที่ 3 แอบสั่ง CGI ให้ทำงาน
การส่งข้อมูลจากฟอร์มไปให้ CGI ในเซิร์ฟเวอร์มีหลายวิธี แต่ใช่ว่าเราจะส่งข้อมูลไปให้ CGI ในเซิร์ฟเวอร์ได้ทุกแห่ง เพราะบางแห่งอาจมีการหลอกล่อและป้องกันไว้ ซึ่งในบทนี้เราจะมาเรียนรู้เทคนิคการป้องกันเหล่านั้นและวิธีการแก้ไข เพื่อแอบเรียก CGI ในเซิร์ฟเวอร์ของคนอื่นให้ทำงาน
- ลองแกะอินพุตในฟอร์ม
- สร้างเป็นไฟล์ HTML ของเราเอง
- ทดลองส่งข้อมูลจากฟอร์มที่สร้างขึ้นเอง
- ตรวจสอบดูว่า CGI ในเซิร์ฟเวอร์แกร่งแค่ไหน
- เราส่งข้อมูลเข้า CGI ได้ทุกเซิร์ฟเวอร์หรือเปล่า
- ความลับอยู่ที่ตัวแปรแวดล้อม
- ที่มาของตัวแปรแวดล้อม
- หนทางใช้ตัวแปรแวดล้อมให้เกิดประโยชน์
- ป้อนข้อมูลผ่านฟอร์มหรือ URL ก็เช็กได้
- เขียน CGI ปลอมเฮดเดอร์หลอกเซิร์ฟเวอร์
- สร้างเว็บให้บริการแบบง่ายๆ
- พึงระวังไว้! อันตรายของเว็บให้บริการ
บทที่ 4 ซ็อกเก็ตกับการเขียนโปรแกรมไคลเอนต์
การติดต่อผ่านเครือข่ายระหว่างไคลเอนต์และเซิร์ฟเวอร์ จะใช้สิ่งที่เรียกว่า "ซ็อกเก็ต" เป็นตัวเชื่อมโยงให้ทั้งสองฝั่งรับ-ส่งข้อมูลกันได้ ในบทนี้เราจะฝึกเขียนสคริปต์เพื่อสร้างซ็อกเก็ตทางฝั่งไคลเอนต์ สำหรับติดต่อร้องขอข้อมูลจากเซิร์ฟเวอร์ต่างๆ ภายในเครือข่ายเดียวกันหรือผ่านอินเทอร์เน็ต
- แนวคิดการเขียนโปรแกรมเครือข่าย
- เรื่องควรรู้ก่อนใช้งานซ็อกเก็ต
- ข้อมูลเบื้องต้นที่ต้องทราบก่อนสร้างซ็อกเก็ต
- เริ่มด้วยการสร้างซ็อกเก็ต
- หาแอดเดรสเตรียมไว้ให้ซ็อกเก็ต
- กำหนดแอดเดรสให้กับซ็อกเก็ต
- เชื่อมโยงซ็อกเก็ตให้ถึงกัน
- ความลับของหมายเลขพอร์ต
- ขอข้อมูลจากเซิร์ฟเวอร์ผ่านซ็อกเก็ต
- ไคลเอนต์ต้องตัดการเชื่อมต่อหรือเปล่า
- ปัญหาของการหาแอดเดรสไม่เจอ
- ปรับปรุงสคริปต์ให้ยืดหยุ่นมากขึ้น
- ประยุกต์ใช้งานอ่านไฟล์นามสกุล .js
- ประยุกต์ใช้งานอ่านไฟล์รูปกราฟิก
- ทำอย่างอื่นได้อีกไหม
บทที่ 5 เขียนสคริปต์ให้ทำงานเป็นเซิร์ฟเวอร์
เมื่อเขียนสคริปต์ทำงานเป็นไคลเอนต์ได้แล้ว ในบทนี้จะให้ฝึกเขียนสคริปต์ทำงานเป็นเซิร์ฟเวอร์บ้าง ซึ่งการทำงานของสคริปต์ทางฝั่งเซิร์ฟเวอร์ จะละเอียดอ่อนกว่าไคลเอนต์มาก เพราะต้องมีการ "แตกโพรเซส"เพื่อรองรับการติดต่อจากไคลเอนต์ ที่อาจร้องขอเข้ามาพร้อมๆ กันหลายราย
- เตรียมสคริปต์ไคลเอนต์กันก่อน
- ลงมือเขียนสคริปต์เซิร์ฟเวอร์
- ส่งข้อมูลจากไคลเอนต์ไปยังเซิร์ฟเวอร์
- ถ้าเซิร์ฟเวอร์จบการทำงานกะทันหันจะเกิดอะไรขึ้น
- ใช้โปรแกรม Telnet และเว็บเบราเซอร์เป็นไคลเอนต์
- "โพรเซสแม่" แตก "โพรเซสลูก" ช่วยทำงาน
- ดูสถานะของโพรเซส
- เขียนสคริปต์ให้แตกโพรเซสลูก
- สคริปต์เซิร์ฟเวอร์แตกโพรเซสก่อน
- แล้วไคลเอนต์ก็แตกโพรเซสเหมือนกัน
- ทดลองเซิร์ฟเวอร์และไคลเอนต์
- เซิร์ฟเวอร์รองรับไคลเอนต์ได้มากกว่าหนึ่ง
- chat chat chat ทำได้อย่างไร
- เขียนสคริปต์สร้างเซิร์ฟเวอร์ให้บริการ WWW
- ไคลเอนต์ขออะไรจากเซิร์ฟเวอร์
- ทดสอบเซิร์ฟเวอร์
- ช่องโหว่ของเซิร์ฟเวอร์
- โพรเซสลูกของเซิร์ฟเวอร์กลายเป็น "ผีดิบ"
บทที่ 6 ทางเลือกของซ็อกเก็ตที่ง่ายกว่า
การเขียนสคริปต์ใน 2 บทที่ผ่านมาใช้คำสั่งตามกระบวนการทำงานของเครือข่ายและซ็อกเก็ต ซึ่งอาจจะดูยาก เพราะคำสั่งและขั้นตอนต่างๆ ถอดแบบมาจากภาษา C ในบทนี้จึงมาชี้แนะทางลัดที่ง่ายขึ้นในการเขียนสคริปต์ทำงานกับซ็อกเก็ต นั่นคือ ใช้โมดูลสำเร็จรูปของ Perl
- ซ็อกเก็ตเป็นเรื่องง่ายๆ หากใช้แพคเกจ
- บอกอะไรได้บ้างตอนสร้างซ็อกเก็ต
- เมธอดของซ็อกเก็ตที่ควรรู้
- ปัญหาของการใช้แอดเดรสซ็อกเก็ตซ้ำกัน
บทที่ 7 เขียน CGI ส่งข้อความเข้าเพจเจอร์!
บทนี้จะเป็นการประยุกต์เอาความรู้เกี่ยวกับ CGI และการเขียนสคริปต์สร้างซ็อกเก็ตของไคลเอนต์และเซิร์ฟเวอร์ มาเขียน CGI ส่งข้อความเข้าเพจเจอร์ เริ่มตั้งแต่ทำความเข้าใจขั้นตอนต่างๆ ของการส่ง จากนั้นทดลองเขียนสคริปต์ทีละขั้น แล้วพัฒนาจนเป็นสคริปต์ CGI ที่ทำงานได้จริง
- ส่งข้อความเข้าเพจเจอร์ผ่านอินเทอร์เน็ตได้อย่างไร
- ส่งได้-ส่งไม่ได้ เราจะรู้ได้อย่างไร
- เขียนสคริปต์ส่งข้อความเข้าเพจเจอร์
- เปลี่ยนสคริปต์ให้ทำงานแบบ CGI
- เตรียมความพร้อมให้ CGI รับข้อมูลจากฟอร์ม
- แพคเกจ CGI ช่วยให้เขียนสคริปต์รับข้อมูลง่ายขึ้น
- สร้างฟอร์มสำหรับส่งข้อมูลเข้า CGI
บทที่ 8 เทคนิคสำคัญในการส่งข้อความ
ถึงแม้สคริปต์ CGI ในบทที่ 7 จะทำงานได้แล้วก็ตาม แต่ยังมีข้อจำกัดหลายอย่าง เราจึงควรมาเก็บตกเทคนิคเพิ่มเติมต่างๆ ในบทนี้ เพื่อให้ CGI ทำงานอย่างเต็มประสิทธิภาพ นั่นคือ ส่งข้อความยาวไม่จำกัด, รายงานผลการส่ง, เลือกส่งข้อความเข้าเพจเจอร์ได้หลายค่าย, ตั้งเวลาส่งอัตโนมัติ
- ส่งข้อความยาวไม่จำกัดได้อย่างไร
- เลือกบริการส่งเพจได้หลายค่าย
- ตั้งเวลาการส่งข้อความอัตโนมัติได้อย่างไร
บทที่ 9 ชั้นเชิง CGI ระหว่างฝ่ายรุกกับฝ่ายรับ
สงครามย่อมๆ ระหว่าง CGI ฝ่ายรับ (ผู้ให้บริการเพจเจอร์) กับ CGI ฝ่ายรุก (นักเล่นเว็บอิสระที่เขียน CGI เอง) เกิดขึ้นตลอดเวลา ฝ่ายรับพยายามป้องกันการส่งข้อความจากฝ่ายรุกทุกวิถีทาง ทั้งตรวจสอบและหลอกล่อ ฝ่ายรุกก็พยายามตามแกะไม่ลดละ บทนี้จะเปิดเผยเทคนิคต่างๆ ที่ฝ่ายรุกและฝ่ายรับนำออกมาใช้
- ยุทธการป้องกันการรุกของฝ่ายรับ
- กลเม็ดฝ่ายรุกแก้เกมฝ่ายรับ
- ช่องโหว่ของเซิร์ฟเวอร์ที่ไม่น่ามองข้าม
- จุดจบของเว็บส่งข้อความเข้าเพจเจอร์
- ส่งท้ายด้วยเรื่องของโปรแกรมส่งเพจ