Мне интересно, действительно ли мой код защищен от SQL-инъекции. Мои сайты были введены раньше, и я никогда не понимал, как предотвратить это. Вот мой код для вставки комментария:Может ли это быть SQL-инъекцией?
if ($_POST['comment']) {
$comment = strip_tags(nl2br(mysql_real_escape_string($_POST['comment'])));
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = "INSERT INTO posts (comment, authorid)
VALUES ('$comment', '$uid')";
// use exec() because no results are returned
$conn->exec($sql);
echo '<div style="width: 98%; max-width: 98%; border: 1px solid white; background-color: green; color: white; vertical-align: text-top; text-align: center;">Your comment was added to the wall!</div><br>';
}
Я строю их для удовольствия. Я только ученик средней школы –
mysql_real_escape_string и PDO?!? –
да, возможно. Смотрите это: http://stackoverflow.com/questions/5741187/sql-injection-that-gets-around-mysql-real-escape-string – Harsh