检查用户是否在表单字段中输入恶意代码的最佳方法是什么?我已经查看了其他问题,但这些只是检查输入的内容以及是否是他们想要的内容(手机号码在手机字段中)。我正在寻找SQL注入的保护。
答案 0 :(得分:3)
Prepared statements用于防止SQL注入,当我们讨论SQL注入时它们就足够了。但是,还有其他一些你应该阻止的攻击。 XSS,CSRF和其他人。
SQL注入:
准备好的陈述基本上是这样的:
样品:
// Prepare the statement.
$stmt = $conn->prepare("INSERT INTO MyGuests (firstname, lastname, email) VALUES (?, ?, ?)");
// Bind parameters.
$stmt->bind_param("sss", $firstname, $lastname, $email);
// Set parameters.
$firstname = "John";
$lastname = "Doe";
$email = "john@example.com";
// Execute the statement.
$stmt->execute();
// Close the statement.
$stmt->close();
// Close the connection.
$conn->close();
答案 1 :(得分:0)
htmlspecialchars
和htmlentities
将html特殊字符转义为html实体。这有助于避免html注入。
Spectarion的答案是SQL注入的一个很好的解决方案。