Заявления PDO и XSS-атака - PullRequest
0 голосов
/ 04 июня 2018

У меня есть один параметр POST на одной из страниц, размещенных на сервере localhost.

$name = addslashes(trim($_POST['name']));

и с использованием подготовленных операторов PDO на одной из страниц Update.php и,

Когдая пытаюсь отправить поле со следующими данными, оно показывает всплывающее окно ALERT, которое приводит к атаке XSS, так как я могу предотвратить эту атаку, чтобы SQL Injection и XSS не работали.

abc"><script>alert(1);</script>

ВотSQL-запрос, который я использую -

$query = "UPDATE table set name =? where id=?";
$stmt = $conn->prepare($query); 
$stmt->execute(array($name,$id));

Спасибо

1 Ответ

0 голосов
/ 04 июня 2018

Внедрение кода на 100% чувствительно к контексту.Это происходит не только потому, что злоумышленник печатает «опасные» символы.

  • Чтобы вставить материал в БД, избавьтесь от addslashes().Вы уже используете подготовленные операторы для отделения кода от данных.
  • Для вставки строкового литерала в код HTML вы можете использовать htmlspecialchars().
  • Для вставки строкового литерала в код JavaScript вы можетеиспользуйте, например, json_encode().

… и так далее.Инъекций столько же, сколько языков, и каждый тип должен рассматриваться независимо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...