This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
khosb/includes/kohana/modules/userguide/guide/ru-ru/security.xss.md

16 lines
2.3 KiB
Markdown
Raw Normal View History

2010-08-21 04:43:03 +00:00
# Защита от межсайтового скриптинга (XSS)
Первый шаг для предотвращения [XSS](http://ru.wikipedia.org/wiki/Xss) атак - необходимо знать, когда и от чего себя защищать. XSS может быть выполнен тогда, когда он отображается внутри HTML-содержимого, иногда после введения данных через форму или выборки из базы данных. Любая глобальная переменная, содержащая информацию от клиента, может быть заражена. Это касается данных из `$_GET`, `$_POST` и `$_COOKIE`.
## Предотвращение
Существует несколько простых правил, защищающих ваше приложение от XSS. Первое - использование метода [Security::xss] для очистки любых входящих данных, полученных из глобальных переменных. Если вы не ожидаете HTML код в переменной, используйте [strip_tags](http://php.net/strip_tags) для удаления нежелательных HTML тэгов.
[!!] Если вы позволяете пользователям передавать HTML в ваше приложение, настоятельно рекомендуется использовать утилиты для очистки HTML кода, такие как [HTML Purifier](http://htmlpurifier.org/) или [HTML Tidy](http://php.net/tidy).
Второй шаг - всегда очищать данные перед их вставкой в HTML код. Класс [HTML] предоставляет возможность создавать наиболее употребляемые тэги, включая ссылки на скрипты и таблицы стилей, гиперссылки, изображения, ссылки на адреса электронной почты (mailto). Все подозрительные данные должны быть экранированы с помощью [HTML::chars].
## Ссылки
* [OWASP XSS Cheat Sheet](http://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet)