我必须连接到一个现有的存储过程,在数据库中保存一行文本。 现在我已经看到了sp,它是一个连接的字符串(我的文本被放置在该文件中)并且它与exec(@sql)
一起执行。exec sql避免sql注入的替代方法是SP_EXECUTESQL?
由于文本来自公共网站,我必须确保没有SQL注入是可能的。
该数据库的家伙没有听说过SQL注入,所以他不知道该怎么做,但因为我不想暴露我的应用风险,我想知道可以做些什么来防止sql注入。然而,我是比sql更程序员。
现在我已经找到'SP_EXECUTESQL(@SQL)'
存储过程,这将有助于防止sql注入,还是仍然有可能进行恶意调用?
在此先感谢您的帮助。
向我们展示SQL语句的任何机会(当然是为公共消费消毒)?如果你已经在使用参数,那么你可能是安全的。 –
原来,sql的人可以很容易地用正常的存储过程替换exec(@sql)。 – Michel