Почему такая конструкция не допустима?

Доброе время суток. На хабре прочитал, что такая конструкция недопустима. Почему и как сделать правильно? Я так понимаю это просто не безопасно. XSS?
<?php
$name = $_GET['name'];
echo "Hello, <b>$name</b>!";
?>
  • Вопрос задан
  • 2329 просмотров
Решения вопроса 3
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
ну типа да, нужно бы прогнать через strip_tags/htmlentities хотя бы при выводе. Фильтровать нужно не только пользовательский ввод, но и то вывод пользовательских данных. Пользователям, знаете ли, нельзя доверять.
Ответ написан
Комментировать
@Sali_cat
Можно закатать в строку любую переменную... По типу ss.ru/?name=xss и выведется name:xss тем самым показывает что на сайте дыры.. Грозит, да чем угодно.. в данном случаи будет любое имя, а так можно вирус прописать.. И он будет работать
Ответ написан
@vdem
$name = $_GET['name'];
printf('Hello, <b>%s</b>!', htmlspecialchars($name));
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы