Avatar ·

如何正确清理PHP中的用户输入:防范XSS和SQL注入

大家好!我是一名PHP新手开发者,遇到了安全问题。我的网站有一个注册和评论表单。我接收用户数据后直接插入数据库并输出到页面。最近发现有人在姓名字段输入了这样的代码:``,输出到页面时这个脚本被执行了。我还听说过SQL注入,但不完全理解如何防范。 以下是我的代码示例: ```php // 从表单获取数据 $name = $_POST['name']; $email = $_POST['email']; // 保存到数据库 (MySQL) $query = "INSERT INTO users (name, email) VALUES ('$name', '$email')"; mysqli_query($connection, $query); // 输出到页面 echo "你好, $name!"; ``` 如何正确清理数据?需要使用 `htmlspecialchars()` 或 `strip_tags()` 吗?对于数据库,需要使用 `mysqli_real_escape_string()` 吗?或者有更现代的方法?请告诉我PHP 8+的最佳实践。 Tags: php