5
การป้องกันการแทรก SQL ใน Node.js
เป็นไปได้หรือไม่ที่จะป้องกันการแทรก SQL ใน Node.js (โดยเฉพาะอย่างยิ่งกับโมดูล) ในลักษณะเดียวกับที่ PHP มีคำสั่งที่เตรียมไว้ซึ่งป้องกันพวกเขา ถ้าเป็นเช่นนั้นอย่างไร? หากไม่เป็นเช่นนั้นตัวอย่างใดบ้างที่อาจข้ามรหัสที่ฉันให้ไว้ (ดูด้านล่าง) บริบทบางส่วน: ฉันกำลังสร้างเว็บแอปพลิเคชันที่มี back-end stack ซึ่งประกอบด้วย Node.js + MySql โดยใช้โมดูลnode-mysql จากมุมมองด้านการใช้งานโมดูลนี้ยอดเยี่ยมมาก แต่ยังไม่ได้ใช้บางสิ่งที่คล้ายกับคำสั่งเตรียมการของ PHP (แม้ว่าฉันจะทราบว่าเป็นสิ่งที่ต้องทำ ) จากความเข้าใจของฉันการใช้ PHP ของคำสั่งที่เตรียมไว้เหนือสิ่งอื่นใดช่วยอย่างมากในการป้องกันการแทรก SQL อย่างไรก็ตามฉันกังวลว่าแอป node.js ของฉันอาจเปิดรับการโจมตีที่คล้ายกันแม้ว่าจะมีการหลีกเลี่ยงสตริงที่ให้ไว้โดยค่าเริ่มต้นก็ตาม (ดังในข้อมูลโค้ดด้านล่าง) node-mysql ดูเหมือนจะเป็นตัวเชื่อมต่อ mysql ที่ได้รับความนิยมมากที่สุดสำหรับ node.js ดังนั้นฉันจึงสงสัยว่าคนอื่นอาจทำอะไร (ถ้ามี) เพื่ออธิบายปัญหานี้ - หรือแม้ว่าจะเป็นปัญหากับ node.js ที่จะเริ่มต้นด้วย (ไม่แน่ใจว่าจะไม่เป็นเช่นไรเนื่องจากอินพุตฝั่งผู้ใช้ / ไคลเอ็นต์เกี่ยวข้อง) ฉันควรเปลี่ยนไปใช้node-mysql-nativeในขณะนี้เนื่องจากมีคำสั่งที่เตรียมไว้หรือไม่ ฉันลังเลที่จะทำสิ่งนี้เพราะดูเหมือนว่าจะไม่ทำงานเท่า …