![]() |
1
1
假设您转义字符串文字(从您所说的您正在做的),您应该是安全的。我唯一能想到的是,如果使用基于unicode的字符集与数据库通信,请确保发送的字符串在该编码中有效。 |
![]() |
2
2
不管你如何清理用户输入,增加攻击面才是你所做的真正的问题。如果您回顾一下SQL注入的历史,您会发现随着时间的推移,新的、甚至更具创造性的方法已经出现了。虽然您可能已经避免了已知的代码,但总是隐藏在角落里的东西使得这类代码难以生成。你最好用另一种方法。 |
![]() |
3
2
|
![]() |
4
1
就像你的代码一样难看(:p-Try) String.Replace 相反)我很肯定那会起作用的。 |
![]() |
5
1
唯一的 安全的 假设是,如果您不使用参数化查询(而且您在这里不是独占的,因为您将输入字符串连接到sql中),那么您就不安全了。 |
![]() |
6
1
您永远不希望使用用户输入构建SQL语句,然后直接执行该语句。正如您所发现的,这会导致SQL注入攻击。正如您所描述的,如果有人在您的数据库中删除一个表,那将是一件微不足道的事情。 您希望使用参数化查询,其中使用占位符为值构建SQL字符串,然后为这些参数传入值。 使用VB可以执行以下操作:
(示例取自 here )(也不是我不是VB程序员,所以这可能不是正确的语法,但它明白了这一点) |
![]() |
Mear1628 · vb.net从随机选择的端口号接收UDP 5 月前 |
![]() |
user1946932 · .Net正则表达式在所有字符前添加空格 6 月前 |
![]() |
user1946932 · 正则表达式:删除连续两个以上的<br>? 10 月前 |
![]() |
Josh · 通过反思访问孩子的财产 10 月前 |
![]() |
Khu RJ · 更新网格中的单元格-DevExpress网格控件 11 月前 |
![]() |
Mick · VB.NET Regex。替换不起作用(数组未更新) 1 年前 |