方法
常數
CLOSE_CDATA_COMMENT | = | "<!-- </textarea></xmp> -->".html_safe.freeze |
在每個表單標籤之前關閉任何支援 CDATA(文字輸入區、XMP)的開啟標籤。這可以防止攻擊者插入未關閉的標籤,可能會導致表單內容被擷取。 例如,攻擊者可能會插入
這個標籤之後的 HTML,一直到下一個 |
||
CLOSE_FORM_TAG | = | "</form>".html_safe.freeze |
在每個新的表單標籤之前關閉所有開啟的表單標籤。這可以防止攻擊者插入未關閉的表單,可能會導致標記外洩到場外。 例如,攻擊者可能會插入
這個標籤之後的表單元素,一直到下一個 |
||
CLOSE_OPTION_TAG | = | "</option>".html_safe.freeze |
在每個表單標籤之前關閉所有開啟的選項標籤。這可以防止攻擊者插入未關閉的選項,可能會導致標記外洩到場外。 例如,攻擊者可能會插入
這個標籤之後的 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