PHP CodeIgniter Security Class https://www.codeigniter.com/user_guide/libraries/security.html การเขียนโปรแกรมเพื่อความปลอดภัยในการรับข้อมูลจากแบบฟอร์ม ใน CodeIgniter จะต้องเปิด $config['csrf_protection'] = TRUE; ถือว่าเป็นสิ่งจำเป็นที่จะต้องเปิดใช้งาน แต่ถ้าหากต้องการให้โปรแกรมเรา Submit ได้ครั้งเดียว ให้เปิดการป้องกันการรีเฟรช ด้วยการเพิ่ม $config['csrf_regenerate'] = TRUE; เข้าไปอีกอัน $config['csrf_protection'] = TRUE; $config['csrf_token_name'] = 'csrf_token_name'; $config['csrf_cookie_name'] = 'csrf_cookie_name'; $config['csrf_expire'] = 7200; $config['csrf_regenerate'] = TRUE; แต่ปัญหาคือ เมื่อเปิด $config['csrf_regenerate'] = TRUE; การทำงานของโปรแกรมจะมีปัญหากับการส่งค่าแบบ AJAX ทำให้หน้า Controller ไม่สามารถรับค่าจากแบบฟอร์มได้ สำหรับวิธีการแก้ไขปัญหาคือ จะต้องเขียนโปรแกรมอ่านค่าจาก Cookie มาอีกครั้งเพื่อส่งข้อมูลการเข้ารหัสความปลอดภัยของแบบฟอร์มไปด้วย ตัวอย่าง
สำหรับตัวอย่างนี้จะเป็นการ JOIN ตาราง 2 ตาราง 1. tb_reject_hd 2. tb_reject_desc ซึ่งจะเชื่อมกันด้วยฟิลด์ docno จะเห็นว่าเราสามารถคิวรี่เรียกข้อมูลออกมาได้ตอนที่ยังไม่ใส่ ORDER BY แต่เมื่อใส่ ORDER BY เข้าไป จะหมุนค้างจนหน้าเว็บหยุดทำงาน จากนั้นก็ลองเพิ่ม INDEX ให้กับฟิลด์ docno ในตาราง tb_reject_desc ซึ่งในตัวอย่างนี้จะสร้างตารางใหม่ขึ้นมาจากตารางเดิม เปลี่ยนชื่อเป็น tb_reject_desc_with_index และทำการเพิ่ม INDEX KEY เข้าไป เมื่อทดสอบคิวรี่แบบมี ORDER BY จะเห็นว่าสามารถแสดงผลได้ทันที จากการสังเกตตัวเลขเวลาในการประมวลผล จะเห็นได้ว่าแบบไม่ใช้ ORDER BY จะทำงานเร็วกว่า แต่ในการทำงานส่วนใหญ่ก็มักจะต้องใช้ ORDER BY อย่างหลีกเลี่ยงไม่ได้ เช่นกรณีค้นหา แบบเรียงลำดับ ตัวอย่างโค้ดคิวรี่ข้อมูลจากตารางที่ Add Index Key แล้ว <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Add Index Key</title> </head> <body> <h2>ORDER BY with INDE