SQL 注入是一种黑客攻击,黑客在 SQL 语句中输入歹意代码,利用权限漏洞,让系统履行不受控制的歹意程序或修改数据库内容,从而破坏数据的完全性和保密性。MSSQL 中的判断语句可以避免 SQL 注入,而且解决起来非常方便。下面介绍在 MSSQL 中怎么用判断语句避免 SQL 注入。
## 第一种方法
首先,我们可以利用 MSSQL 语句,如 SELECT、WHERE 和 SELECT TOP Parameter来检查输入的参数,从而拦截特殊字符,避免注入攻击产生。下面是一个代码示例:
SELECT * FROM Users WHERE
Username=@UsernameAND Password=@Password
SELECT TOP ParameterFROM Users
WHERE Username=@UsernameAND Password=@Password
这里,参数 Username 和 Password 用于比较在输入中输入的用户名和密码会不会与服务器数据库中的用户名和密码相同。如果输入的参数中含有特殊字符,则将引发查询失败,从而禁止 SQL 注入。
## 第二种方法
另外,我们可以利用 MSSQL 中编译存储进程,将存储进程中的 SQL 语句进行编译,将其编译为可履行代码,该可履行代码不可被参数化,从而避免注入攻击产生。下面是一段示例代码:
CREATE PROCEDURE Insert_Numbers
@Number1 INT, @Number2 INT
ASBEGIN
SELECT @Number1 + @Number2END
这里,我们编写了一个存储进程,它将用户输入的两个参数加在一起,并将结果返回给用户。由于编译存储进程中的 SQL 语句,所以即便存在歹意代码,也没法履行,从而避免 SQL 注入产生。
## 结论
以上是 MSSQL 中利用判断语句避免 SQL 注入的两种方法,利用它们可以非常有效的避免攻击产生,为系统提供更大的安全性。
本文来源:https://www.yuntue.com/post/86235.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏