【发布时间】:2018-10-14 09:57:34
【问题描述】:
我试图更好地理解参数化 sql 作为 SQL 注入的解决方案。
假设我有一个tblCustomer 字段CustName、Phone 和Address。还可以说我有一个输入表单供新客户输入他们的数据,控件名为txtName、txtPhone 和txtAddress。
我可以运行以下 vba 代码:
dim strName, strPhone strAddress, strSQL as string
strName = me.txtName
strPhone = me.txtPhone
strAddress = me.txtAddress
strSQL = "INSERT INTO tblCustomer (CustName, Phone, Address) _
VALUES (" & strName & ", " & strPhone & ", " & strAddress & ");"
DoCmd.RunSQL strSQL
但是如果有人指定地址 "Robert'); DROP TABLE tblCustomer; --" (wink) 我会遇到一些严重的问题。
我使用了 vba 参数,但它们对我没有帮助。那么当人们说使用参数来解决问题时,他们的意思是什么?
【问题讨论】: