php参数防范sql注入代码实现
以下是一个简单的示例,使用PDO预处理语句来防止SQL注入攻击:
$username = $_POST['username'];
$password = $_POST['password'];
// 连接数据库
$dsn = 'mysql:host=localhost;dbname=mydatabase';
$username = 'myusername';
$password = 'mypassword';
$options = array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
);
$dbh = new PDO($dsn, $username, $password, $options);
// 准备查询语句
$stmt = $dbh->prepare('SELECT * FROM users WHERE username = :username AND password = :password');
$stmt->bindParam(':username', $username);
$stmt->bindParam(':password', $password);
// 执行查询
$stmt->execute();
// 处理结果
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
// do something with the row
}
在上面的代码中,我们使用了PDO的预处理语句来防止SQL注入攻击。首先,我们从POST请求中获取用户名和密码,并建立一个PDO数据库连接。然后,我们使用prepare()方法来准备查询语句,并使用bindParam()方法来绑定输入参数。最后,我们使用execute()方法执行查询语句,并使用fetch()方法来获取结果集。由于我们使用了预处理语句,输入参数会被自动转义,从而防止SQL注入攻击。
原文地址: https://www.cveoy.top/t/topic/I3F 著作权归作者所有。请勿转载和采集!