พบกับบทความเกี่ยวกับคอมพิวเตอร์และ programming ได้ที่ http://articles.modoeye.com
PHP Articles / TIPS: PHP Security #2 (Strip error messages)
Administrator
Tue 18 Jul 2006 10:13:19
มาว่ากันต่อด้วย Security ในการ development กันครับ ครั้งนี้คือการ Strip error message คือปิดข้อความ error ทั้งหมดที่เกิดขึ้น ทำไมหรือครับ ยกตัวอย่างเช่น error message ที่พบบ่อยที่สุดคือ
การใช้งานตัวแปรที่ไม่มีอยู่ เช่น 
Notice: Undefined variable variable_name in ..... หรือ 
Notice: Use of undefined constant variable_name in ..... และ 
Notice: Undefined index id in .....
อาจจะพิมพ์ผิดหรือด้วยเหตุผลอื่นๆ และไม่สามารถติดต่อ database ได้ โดยเฉพาะ mysql จะมีการแสดงข้อความ
Access denied for username@localhost (Using password: YES)

แล้วมันมีปัญหาตรงไหนล่ะ ก็ตรงที่มันแสดงชื่อตัวแปร หรือ username ที่เราใช้ไงครับผู้ไม่หวังดีจะเอา error message จากพวกนี้ไปใช้งานในการประทุษร้าย application ของเราได้ครับ

แล้วจะทำอย่างไรล่ะ ง่ายๆครับหลังจากที่พัฒนาและทดสอบระบบทั้งหมดแล้วให้ทำการใส่ Error Control Operator (@) นำหน้า function ต่างๆที่มีทั้งหมดครับ (ส่วนตัวแล้วผมจะปิดในระหว่างเขียนไปด้วยเสมอถ้ามีผิดพลาดตรงไหนค่อยไปไล่เปิด เพื่อทำการ debug ทีละส่วน debug แล้วก็ปิด) ตัว Error Control Operator (@) นี้จะเป็นตัวบอกว่าถ้าฟังก์ชั่นใดๆก็ตามที่มีการใส่ตัว @ นำหน้าจะไม่มีการแสดง Error message ออกมาครับ อีกวิธีง่ายๆคือ ใส่ error_reporting(0) เพื่อไม่ให้แสดงผล error ทั้งหมดที่เกิดขึ้นได้เหมือนกันครับ
Reply
Name:
E-mail:
Home | Services | Forum | Classified | Directories | Support | Contact
ATOM feed RSS 0.9 feed RSS 1.0 feed RSS 2.0 feed
Copyright © 2005 - 2007 Modoeye.com, All Rights Reserved.
Disclaimer | Privacy policy | Term of Use | Term of Services
Valid XHTML Valid CSS! PHP: Hypertext Preprocessor MySQL database Apache Powered! FreeBSD Power to serve
Modoeye Sitemap Client login