php 过滤表单数据,防止sql 注入代码
时间: 2023-07-24 07:10:04 浏览: 105
以下是一个简单的 PHP 代码示例,用于过滤表单数据并防止 SQL 注入攻击:
```
// 获取用户提交的表单数据
$name = $_POST['name'];
$email = $_POST['email'];
$message = $_POST['message'];
// 过滤用户输入数据
$name = filter_var($name, FILTER_SANITIZE_STRING);
$email = filter_var($email, FILTER_SANITIZE_EMAIL);
$message = filter_var($message, FILTER_SANITIZE_STRING);
// 建立数据库连接
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查连接是否成功
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 使用参数化查询和预处理语句构造 SQL 查询语句
$stmt = $conn->prepare("INSERT INTO messages (name, email, message) VALUES (?, ?, ?)");
$stmt->bind_param("sss", $name, $email, $message);
$stmt->execute();
// 输出提示信息
echo "留言提交成功!";
// 关闭连接
$stmt->close();
$conn->close();
```
在上面的代码中,我们使用了 filter_var 函数对用户提交的表单数据进行过滤,以避免 SQL 注入攻击。然后我们使用参数化查询和预处理语句构造了一个插入数据的 SQL 查询语句,将过滤后的数据插入数据库中。最后我们输出一个提示信息,并关闭数据库连接。请注意,上面的代码仅供参考,实际情况下应根据具体需求进行相应的修改和优化。
阅读全文