我在我们的遗留应用程序中有这个查询-
Select * from Customers where Name like ('param')
问题是当UI用户传递param=%时,它显示所有可用的客户。这是我们想避免的。
当param = [abc]
时,它显示名字中有a,b或c的所有客户。我们也要避免这种情况。
事实上,我们希望处理所有类型的通配符搜索,以避免SQL注入。在java脚本中,我如何才能实现这一点,以便我只传递有效的参数到我的服务器。
注意下面的查询:
Select * from Customers where Name like N'%param%'
用=
代替like
:
where Name = 'param'
=
很像like
,除了它没有通配符——这有点像个笑话。你不需要通配符,所以不要使用依赖通配符的操作符。