ถามเรื่อง SQL Injection หน่อยครับ +1

เริ่มโดย arafarn12, 18 กรกฎาคม 2013, 13:38:43

หัวข้อก่อนหน้า - หัวข้อถัดไป

0 สมาชิก และ 1 ผู้มาเยือน กำลังดูหัวข้อนี้

arafarn12

จากลองอ่านหลายๆบทความ สรุปได้ว่า
ตรวจสอบค่าที่รับมาก่อน ถ้ามีสัญลักษณ์พิเศษ พวก ' " / \ , ( ) อะไรพวกนี้ ไม่ต้องทำอะไร
ถ้าไม่มีสัญลักษณ์พิเศษ ให้ query ได้เลย

เข้าใจถูกใหมครับ  :wanwan017: +1 ทุกท่าน

นอกจากนี้ยังมีวิธีป้องกัน Injection แบบใหนบ้างครับ
เมพ เมพ เมพ บร๊ะมูลใหมล่ะ ?
ERROR: เขียนอะไรบ้างซิ

max30012540

mysql_real_escape_string()
คำสั่งเดียว เอาอยู่ครับ :-[

ossytong


ICheer_No0M

สำหรับผม

mysql_real_escape_string สำหรับกัน bypass login
intval สำหรับกันตรง query

icez

[direct=http://www.thzhost.com/]THZHost[/direct] SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ

rukyee

หรือไม่ก้อเขียน Select, Insert, Update, Delete เป็น stored procedure ไว้ที่ฝั่ง database
แล้วให้เรียกใช้งานผ่าน stored procedure แทนครับ

: )
ทดสอบ#1 www.snsdthai.com
ทดสอบ#2 www.inspire-market.com

MapTwoZa

อ้างถึงจาก: icez ใน 18 กรกฎาคม 2013, 22:36:24
ใช้ prepare statement คู่กับ mysqli ครับ ป้องกันได้ชัวร์ 100%


http://th1.php.net/mysqli
http://th1.php.net/manual/en/mysqli.prepare.php

ตามนี้เลยครับ

เลิกใช้ได้แล้ว mysql
ใช้ mysqli กับ mysql pdo แทน
ไม่โดน injection แน่นอน

มันกันซะจนบางทีจะเก็บ ข้อมูลบางอย่าง หรือไม่ก็พวก binary data ไม่ได้
ต้อง encode ก่อน แล้วค่อยเก็บ 55+
Good code quality Developer :D

gp72343

อ้างถึงจาก: MapTwoZa ใน 19 กรกฎาคม 2013, 06:45:32
อ้างถึงจาก: icez ใน 18 กรกฎาคม 2013, 22:36:24
ใช้ prepare statement คู่กับ mysqli ครับ ป้องกันได้ชัวร์ 100%


http://th1.php.net/mysqli
http://th1.php.net/manual/en/mysqli.prepare.php

ตามนี้เลยครับ

เลิกใช้ได้แล้ว mysql
ใช้ mysqli กับ mysql pdo แทน
ไม่โดน injection แน่นอน

มันกันซะจนบางทีจะเก็บ ข้อมูลบางอย่าง หรือไม่ก็พวก binary data ไม่ได้
ต้อง encode ก่อน แล้วค่อยเก็บ 55+

มาช่วย +1 ด้วยคนครับ MySQLi กับ PDO ดีกว่ามากๆเลยครับ
ทำ Multiple Query ก็ได้ด้วย  :wanwan020: