php-codeigniter-framework

ทำเว็บไซต์ให้ปลอดภัย Codeigniter Security

ทำเว็บไซต์ให้ปลอดภัย Codeigniter Security



อย่าลืมที่จะเพิ่มความปลอดภัยให้เว็บไซต์ ด้วยคุณสมบัติด้านความปลอดภัยที่ codeigniter มีให้อยู่แล้ว


Framework โดยทั่วไปแล้ว ไม่ได้ออกแบบมาเพียงให้เราสามารถทำงานได้สะดวกสบาย เป็นระเบียบและพัฒนาต่อยอดได้ง่าย
เท่านั้น แต่ทุก ๆ Class, Function, Property และ Method ยังถูกออกแบบมาเพื่อป้องกันการโจมตีเว็บไซต์ในรูปแบบ
ต่าง ๆ อีกด้วย หากว่าเราพัฒนาเว็บไซต์โดยใช้เฟรมเวิร์คแล้ว และป้องกันการเกิดช่องโหว่ต่าง ๆ ก็ควรที่จะรักษากฏเกณฑ์
การเขียนโค๊ดให้ถูกต้องตามกฏของเฟรมเวิร์คนั้น ๆ


รูปแบบการโจมตีเว็บไซต์มีหลากหลายรูปแบบ ดังที่ผมได้เขียนไว้ในกระทู้ Web Security ป้องกันการโจมตีเว็บไซต์รูปแบบต่าง ๆ
วันนี้เราจะมาดูกันว่า ถ้าหากเราพัฒนาเว็บไซต์ด้วย Codeigniter Framework ตัวระบบของเฟรมเวิร์คได้วาง
มาตรฐานด้านความปลอดภัยอะไรบ้าง ให้เราสามารถนำไปใช้งาน ติดตั้งและกำหนดความปลอดภัยจากการโจมตี
รูปแบบต่าง ๆ ได้แบบไม่ต้องวางโครงสร้างหรือเขียนโค๊ดเพิ่มมากมายหลายบรรทัด มาดูกันครับว่ามีอะไรบ้าง


Remote Code Execution ป้องกันการโจมตีระยะไกลด้วยคำสั่ง Shell Script

คือการรันคำสั่งการโจมตีระยะไกล คำว่าระยะคืออาจจะเป็นการรันคำสั่งเพื่อโจมตีเว็บไซต์เราจากอีก server
หนึ่ง หากว่าเราไม่มีการป้องกันและตรวจสอบว่าคำสั่งนั้นเกิดขึ้นจาก location เดียวกับเว็บไซต์เราหรือไม่
หลาย ๆ ภาษาสามารถรันคำสั่งพวกนี้ได้ง่ายมาก สำหรับ codeigniter มีวิธีป้องกันการโจมตีระยะไกล
จาก Shell Script อยู่แล้ว คือทุก ๆ ไฟล์ .php ของ codeigniter จะถูกเขียนกำกับไว้ในบรรทัดแรก
เพื่อตรวจสอบแหล่งที่มาของ script คำสั่งการทำงานต่าง ๆ ก่อนที่จะเริ่มต้นทำงานในไฟล์ .php นั้น ๆ


SQL injection ป้องกันการโจมตีด้วยคำสั่ง SQL

การโจมตีเว็บไซต์โดยการส่งคำสั่ง SQL เข้าไปใน input ต่าง ๆ ภายในเว็บไซต์ สำหรับ php codeigniter
มีการป้องกันการโจมตีแบบนี้อยู่แล้ว เพียงแต่ต้องใช้คำสั่งในการ Query ของ Codeiginiter โดยถ้าหากว่าเราใช้การรับ
ค่าตัวแปรผ่านเมธอดของเฟรมเวิร์ค ตัวเฟรมเวิร์คจะทำการ validate XSS ข้อมูลทั้งแบบ get และ post ให้อัตโนมัติ
เช่น เมื่อมีการส่งค่าตัวแปรมาแบบ post เราควรที่จะใช้การรับค่าตัวแปรใน controller ด้วยเมธอด $this->input->post(‘ตัวแปร’);
แทนที่จะไปรับค่าแบบ $_POST หรือ $_REQUEST และเมื่อมีการ query ข้อมูลก็ควรที่จะใช้คำสั่งของ CI เอง เช่น
ใช้ $this->db->escape() ครอบตัวแปรก่อนจะทำการ select ข้อมูล


เปิดใช้งาน Global XSS Filtering ป้องกันการโจมตีแบบ XSS

codeigniter framework มีระบบป้องกันการโจมตีแบบ XSS คือการฝังโค๊ดสคริปต์ต่าง ๆ ส่งเข้ามาให้ controller
ก่อนส่งออกไปที่ front end ทำการแสดงผล ถ้ามี script อันตรายติดมาด้วย script ก็จะเริ่มทำงานทันที
เมื่อเราเปิดใช้งาน Global XSS Filtering ซึ่งอยู่ในไฟล์ application/config/config.php แล้ว
ระบบจะทำการกรองข้อมูลต่าง ๆ ที่ส่งเข้ามาทั้งแบบ get และ post ให้อัตโนมัติ


เปิดใช้งาน CSRF Protection ตรวจสอบ cookie อันตรายจากไซต์อื่น

ป้องกันการโจมตีแบบ CSRF Cross Site Request Forgery ที่อาศัยการทำงานของ cookie ในเครื่องของ user
ในการโจมตีเป็นหัวใจสำคัญ codeigniter จะทำการกำหนดตัวแปร token และตรวจสอบข้อมูลรูปแบบนี้ในทุก ๆ ครั้ง
ที่มีการ submit form data สามารถเปิดการใช้งานคุณสมบัตินี้ได้ใน application/config/config.php


Summary
ทำเว็บไซต์ให้ปลอดภัย Codeigniter Security
Article Name
ทำเว็บไซต์ให้ปลอดภัย Codeigniter Security
Description
อย่าลืมที่จะเพิ่มความปลอดภัยให้เว็บไซต์ ด้วยคุณสมบัติด้านความปลอดภัยที่ codeigniter มีให้อยู่แล้ว
Author
Publisher Name
บริษัท โค๊ดบี จำกัด
Publisher Logo

กระทู้ใกล้เคียง

PHP Codeigniter เน้นใช้งาน : ตอน 1 ดาวน์โหลดและติด... PHP Codeigniter : ตอน 1 ดาวน์โหลดและติดตั้ง codeinginter PHP Codeigniter เป็น MVC framework ที่ได้รับความนิยมและใช้ในงานพัฒนาเว็บไซต์กันอย่างแพร่หล...
สอน Codeigniter วิธีลบไฟล์ index.php ออกจาก URL... สอน Codeigniter วิธีลบไฟล์ index.php ออกจาก URL หากเราพัฒนาเว็บไซต์โดยใช้ codeigniter framework โดยปกติแล้วค่า default url ของ CI จะติด index.php...
PHP Codeigniter เน้นใช้งาน : ตอน 2 รับส่งค่าระหว่า... PHP Codeigniter เน้นใช้งาน : ตอน 2 รับส่งค่าระหว่าง views และ controllers จากบทความที่แล้วเราได้ทำความเข้าใจเบื้องต้น ตั้งแต่การดาวน์โหลดไฟล์ จนถึง...
สอน codeigniter ติดตั้งไลบรารี่และส่งอีเมลด้วย PHP... สอน codeigniter ติดตั้งไลบรารี่และส่งอีเมลด้วย PHPMailler การส่งอีเมลเป็นฟังก์ชั่นการทำงานอีกส่วนหนึ่งที่มักจะมีในขั้นตอนของการพัฒนาเว็บไซต์ ตัวอย่...

Comments

comments