方法
常量
CLOSE_CDATA_COMMENT | = | "<!-- </textarea></xmp> -->".html_safe.freeze |
在每个表单标记之前关闭支持 CDATA(textarea、xmp)的任何打开标记。这可以防止攻击者注入未关闭的标记,从而捕获表单内容。 例如,攻击者可能会注入
此标记后面的 HTML,直到下一个 |
||
CLOSE_FORM_TAG | = | "</form>".html_safe.freeze |
在每个新表单标记之前关闭任何打开的表单标记。这可以防止攻击者注入未关闭的表单,从而泄露标记到场外。 例如,攻击者可能会注入
此标记后面的表单元素,直到下一个 |
||
CLOSE_OPTION_TAG | = | "</option>".html_safe.freeze |
在每个表单标记之前关闭任何打开的 option 标记。这可以防止攻击者注入未关闭的选项,从而泄露标记到场外。 例如,攻击者可能会注入
此标记后面的 HTML,直到下一个 |
||
CLOSE_QUOTES_COMMENT | = | %q(<!-- '"` -->).html_safe.freeze |
在每个表单标记之前关闭任何打开的属性。这可以防止攻击者注入部分标记,从而泄露标记到场外。 例如,攻击者可能会注入
此标签后面的 HTML,直到下一个单引号将被发送到 |
||
CONTENT_EXFILTRATION_PREVENTION_MARKUP | = | (CLOSE_QUOTES_COMMENT + CLOSE_CDATA_COMMENT + CLOSE_OPTION_TAG + CLOSE_FORM_TAG).freeze |
实例公共方法
prevent_content_exfiltration(html) 链接
源:显示 | 在 GitHub 上
# 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