Защита от инъекций html

Так что я знаю, что вы можете сделать $words = htmlspecialchars($_POST['name']);в php, чтобы избежать специальных символов и предотвратить некоторые html-инъекции.

Но у меня возникли проблемы с его реализацией в мой php-код. Я читал, что вы должны использовать это, прежде чем показывать то, что вы показываете, для зрителя сайта, но я не знаю, как это сделать. Я немного новичок в php.

Так что я смог выполнить SQL-инъекцию, но вот часть кода, в которой я застрял, как я описал выше.

Я пытаюсь предотвратить внедрение HTML для заголовка блога и тега

$result= mysql_query("SELECT * FROM Bpost");

echo '<div class = "blog" align = "center">';
    while($row = mysql_fetch_array($result))
        {

        echo "<div class = 'tname'>";
        echo $row['title']; 
        echo '</div>';

        echo '<div class = "bpost">';
        echo $row['blog'];
        echo '</div>';

        echo '<div class = "tag">';
        echo $row['tags'];
        echo '</div>';
        echo '</br>';

        }
echo '</div>';

Если вам нужен пример кода из моего другого материала, дайте мне знать. Мне кажется, этого было достаточно.

1 ответ

Решение

Просто поменяй echo $row['title']; в echo htmlspecialchars($row['title']); (и повторите для всех других пользовательских данных), и все готово.

Другие вопросы по тегам