App Settings: Security- Script Attack Protection

The Script Attack Protection setting is a security feature that prevents the storage and execution of specific custom code elements and attributes that are not on the allowlist.

This article contains the following sections:

 

The list of code elements and attributes mentioned below represents the items that are whitelisted (not blocked) even when the Script Attack Protection setting is enabled.

  • The Script Attack Protection setting, accessed in your app's settings security tab, is a security feature that restricts the use of certain custom code elements and attributes.
  • The locations where Script Attack Protection is applied can be found in this article.

When enabled, code that is not on our Script Attack Protection Allowlist will be prevented from saving in field values. Other values submitted will be saved as normal.

When this sanitization takes place during form submission, whether in the Live App or Builder, no notification will be provided; the affected values will simply not be saved.

scriptattackprotectionsetting

Examples:

  • <script src="google.com">Hello world!</script> 

    Saves as having no value.

    • Why? The <script></script> tag is code that is not on our allowlist.

  • <b onclick="alert('hello')">Hello world!</b> 

    Saves as <b>Hello world!</b>

    • Why? The "onclick" portion is code that is not on our allowlist.

  • <b>Hello world!</b> 
    Saves as <b>Hello world!</b>
    • Why? This HTML code is allowed.

 


Allowlist


 Allowed Tags

  Allowed Attributes

 Allowed Self Closing       Tags  Allowed   Schemes

 h1

 a: ['style']

 img

 HTTP

 h2

 a: ['href']

 be

 https

 h3

 a: ['name']

 hr

 FTP

 h4

 a: ['target']

 area

 mailto

 h5

 h1: [`style`]

 base

 href

 h6

 h2: [`style`]

 basefont

 src

 blockquote

 h3: [`style`]

 input

 cite

 p

 h4: [`style`]

 link

 

 del

 h5: [`style`]

 meta

 

 a

 h6: [`style`]

   

 ul

 blockquote: [`style`]

   

 ol

 p: [`style`]

   

 nl

 del: [`style`]

   

 li

 ul: [`style`]

   

 b

 ol: [`style`]

 

 

 I

 nl: [`style`]

 

 

 strong

 li: [`style`]

 

 

 em

 b: [`style`]

 

 

 strike

 i: [`style`]

 

 

 code

 strong: [`style`]

 

 

 hr

 em: [`style`]

 

 

 be

 strike: [`style`]

 

 

 div

 code: [`style`]

 

 

 table

 hr: [`style`]

 

 

 thead

 br: [`style`]

 

 

 caption

 div: [`style`]

 

 

 tbody

 table: [`style`]

 

 

 tr

 thead: [`style`]

 

 

 the

 th: [`style`]

 

 

 td

 td: [`style`]

 

 

 pre

 tr: [`style`]

 

 

 iframe

 tbody: [`style`]

 

 

 img

 caption: [`style`]

 

 

 span

 pre: [`style`]

 

 

 font

 span: [`style`]

 

 

 meter 

 href

 

 

 button 

 align

 

 

 progress

 iframe

 

 

 path 

 center

 

 

 small 

 img

 

 

 var 

 iframe: [all attributes]

 

 

 sub 

 img: [all attributes]

 

 

 sup 

 id

 

 

 u

 class

 

 

 details

 font: [`face`, `color`, `size`]

 

 

 summary

 button: [`style`, `type`]

 

 

 

 progress: [`value`, max`]

 

 

 

 meter: [`value`, `min`, `max`, `optimum`] 

 

 

 

 path: [all attributes]