คำถามติดแท็ก sql-parametrized-query

6
ฉันจะสร้างแบบสอบถาม SQL ที่กำหนดพารามิเตอร์ได้อย่างไร ทำไมฉันถึงควร?
ฉันได้ยินมาว่า "ทุกคน" กำลังใช้การสืบค้น SQL ที่กำหนดพารามิเตอร์เพื่อป้องกันการโจมตีด้วยการแทรก SQL โดยไม่จำเป็นต้องยกเลิกการป้อนข้อมูลของผู้ใช้ทุกชิ้น คุณจะทำอย่างไร? คุณได้รับสิ่งนี้โดยอัตโนมัติเมื่อใช้กระบวนงานที่จัดเก็บไว้หรือไม่? ดังนั้นความเข้าใจของฉันจึงไม่ถูกกำหนดพารามิเตอร์: cmdText = String.Format("SELECT foo FROM bar WHERE baz = '{0}'", fuz) สิ่งนี้จะถูกกำหนดพารามิเตอร์หรือไม่ cmdText = String.Format("EXEC foo_from_baz '{0}'", fuz) หรือฉันต้องทำอะไรให้กว้างขวางกว่านี้เพื่อป้องกันตัวเองจากการฉีด SQL? With command .Parameters.Count = 1 .Parameters.Item(0).ParameterName = "@baz" .Parameters.Item(0).Value = fuz End With มีข้อดีอื่น ๆ ในการใช้แบบสอบถามแบบกำหนดพารามิเตอร์นอกเหนือจากข้อพิจารณาด้านความปลอดภัยหรือไม่? อัปเดต: บทความที่ยอดเยี่ยมนี้เชื่อมโยงกับหนึ่งในคำถามที่อ้างอิงโดย Grotok http://www.sommarskog.se/dynamic_sql.html
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.