ทำไมใช้ netbean เขียนโปรแกรมบันทึกข้อมูลไม่ได้ครับ ขึ้น error do not access supperglobal $_POST Array directly.
$_post ใช้ใน netbean ได้ไหมครับ หรือผมทำผิดตรงไหน นอกจาก ส่งค่าตัวแปรตัวนั้น แนะนำหน่อยครับ
Date :
2016-04-17 22:19:09
By :
Slaparum
มันบอกว่าอย่าเรียกใช้ $_POST โดยตรงครับ ให้เรียกใช้ผ่าน filter_input แทนและใช้เงื่อนไขตรวจสอบด้วย is_*() function ทั้งหลาย
มันไม่เกี่ยวเลยครับว่าใช้ Netbeans แล้วบันทึกข้อมูลไม่ได้
ที่มันแจ้งว่าอย่าเรียกใช้โดยตรงเพราะมันจะมีช่องโหว่ทำให้โดนโจมตีแบบ xss ได้ แล้วยังไม่นับพวกที่ชอบเอาค่า $_GET $_POST มายัดใส่สตริง sql ตรงๆอีกก็โดน sql injection กันไปตามความสะเพร่า
จริงๆคุณควร capture มาให้เห็นเต็มๆว่าตรงที่ขึ้นเตือนขึ้นยังไง มีอะไรไฮไลท์ไว้ ไม่ใช่แคปมาแค่ส่วนข้อความ จะได้เห็นทั่วกันชัดๆว่ามันแค่เป็นส่วนแจ้งเตือนให้ระวังจากตัว Netbeans เท่านั้น
คุณจะใช้มันโดยตรงก็ได้ $_POST น่ะครับ แต่ก่อนเอาค่าไปใช้ก็ตรวจ+กรองอะไรเสียก่อน ผมก็ทำอยู่ก็ไม่เห็นจะมีปัญหา
ปัญหาจริงๆที่คุณเจอคือมันแจ้ง undefined index ซึ่งถ้าคุณเอาคำนี้ไปหาใน google จะเจอวิธีแก้ปัญหาเยอะแยะไปหมด มันไม่ใช่ปัญหาใหม่
คุณก็แค่เอา is_*() function ทั้งหลายตรวจสอบก่อน เช่น isset()
Date :
2016-04-18 07:13:20
By :
mr.v
filter_input มันก็บอกในตัวอยู่แล้วครับว่ากรองส่วนนำเข้า (input) มันก็เป็นการตรวจสอบในตัวอยู่แล้ว
ส่วนอันไหนจะปลอดภัยกว่าก็อยู่ที่คุณจะเขียน
Date :
2016-04-18 08:29:39
By :
mr.v
ผมว่าคุณไปเน้นแก้ปัญหาตรง undefined index ดีกว่า นั่นต่างหากที่ควรใช้ isset() เข้ามาเช็ค
Date :
2016-04-18 11:23:21
By :
mr.v
ขอบคุณครับ
Date :
2016-04-18 12:04:32
By :
slaparum
Load balance : Server 03