โปรแกรมเมอร์ไม่ว่ากี่ยุคกี่สมัย ก็มีอุปนิสัยคล้าย ๆ กันนะครับ นั่นก็คือชอบสร้างประตูหลังให้กับระบบซอฟต์แวร์ที่ตนเองสร้างขึ้น (นัยว่าจะให้ตัวเองแอบเข้ามาได้ในภายหลัง) ผมเองในฐานะที่ต้องดูแลการนำซอฟต์แวร์ขึ้นระบบจริง ก็จำเป็นต้องมากลั่นกรองเรื่องนี้เหมือนกัน
ซึ่งถ้าหากว่าประตูหลังดังกล่าวถูกกำหนดขึ้นโดยนโยบาย ก็คงไม่ว่าอะไรกันซักเท่าไหร่ แต่หากว่ากำหนดขึ้นโดยโปรแกรมเมอร์เองนี่สิ บางทีก็มีแย่เหมือนกัน
จากประสบการณ์ที่เคยเจอนะครับ ก็พอสาธยายได้บ้างว่าประตูหลังที่เหล่าบรรดาโปรแกรมเมอร์ชอบทำเอาไว้นั้น มีอะไรบ้าง
1. ฝัง Login กับรหัสผ่าน ซึ่งสามารถทำให้มีศักดิ์และสิทธิ์เทียบเท่ากับ Administrator เอาไว้ในโค้ดโปรแกรมเลย
2. แอบสร้างจุดพิเศษอะไรไว้ที่หน้า Login เพื่อให้เข้าระบบได้โดยไม่จำเป็นต้องรู้ Login หรือรหัสผ่าน เช่น ประมาณว่าถ้ากดภาพนั้นทีนึง ดับเบิ้ลคลิ๊กภาพนี้สองที แล้วกรอก Login แล้วลบทิ้งให้หมด แล้วจึงกรอกใหม่อีกครั้ง ก็จะเข้าระบบได้ แถมใหญ่เท่า Administrator อีกต่างหาก
3. อนุญาติให้ผ่านเข้าระบบได้ หากระบุ Login หรือรหัสผ่าน ด้วย ปี พ.ศ., เดือน, วัน, ชั่วโมง และนาที ที่ปรากฎอยู่ในเครื่องตอนนั้น
4. กรณีที่ออกแบบให้ซอฟต์แวร์ตัวแม่ ต้องสื่อสารกับซอฟต์แวร์ตัวลูกผ่าน TCP/IP ก็มีการสอดไส้ Message พิเศษชุดนึงเอาไว้ในข้อมูลที่ส่งไปมาผ่าน TCP/IP โดยเป็น Message ที่ไม่มีอยู่ใน Functional Specification และเป็น Message ที่สามารถเข้าใช้งานกลไกระดับสูงได้ หรือไม่ก็ไปกระตุ้นกลไกลับให้มันทำโน่นทำนี่อย่างที่ต้องการได้
5. จะออกจากโปรแกรมก็ต้องใส่รหัสผ่าน แต่ถ้าใส่รหัสผ่านคำว่า “password” ครบ 3 ครั้ง ก็จะเปิดหน้าต่างพิเศษขึ้นมา เพื่อให้สามารถควบคุมกลไกทั้งหมดของซอฟต์แวร์ได้ ผ่านการพิมพ์คำสั่งตัวเลขที่กำหนดเฉพาะเอาไว้
บางทีผมก็มีบ่น ๆ เหมือนกันนะ เวลาจับได้ว่าแอบทำประตูหลังเอาไว้ ที่อยากจะบ่นก็เป็นเพราะว่าถ้าเอาเวลาที่ทำประตูหลังเหล่านี้ ไปทำให้ซอฟต์แวร์มันมีคุณภาพที่ดีขึ้น หรือทำให้เสร็จครบถ้วนเร็วขึ้น น่าจะดีกว่านะเนี่ย
โปรแกรมเมอร์บางทีก็บ้าพลังเหมือนกันครับ ^o^