thinkphp防止sql注入例子
时间: 2023-07-07 10:27:39 浏览: 283
防止SQL注入实例
为了防止SQL注入攻击,ThinkPHP提供了多种方法,例如参数绑定、数据类型检测、预处理语句等。下面是一个使用参数绑定的例子:
```
$username = input('post.username');
$password = input('post.password');
$user = Db::query('select * from users where username = ? and password = ?', [$username, $password]);
if ($user) {
// 登录成功
} else {
// 登录失败
}
```
上面的代码中,`$username`和`$password`是从`POST`请求中获取的,然后使用参数绑定的方式将它们绑定到SQL语句中,这样可以避免SQL注入攻击。另外,还可以使用`Db::execute`方法来执行预处理语句,例如:
```
$username = input('post.username');
$password = input('post.password');
$sth = Db::execute('select * from users where username = ? and password = ?', [$username, $password]);
if ($sth->rowCount()) {
// 登录成功
} else {
// 登录失败
}
```
预处理语句会在执行前进行编译,可以有效地防止SQL注入攻击。
阅读全文