xssSafe

включает режим защиты от XSS

boolean xssSafe;

Example

webix.ui ({ 
   view: "spreadsheet",
   xssSafe: true
});


Default value:

false

Related samples

Details

Если параметр установлен в true, Spreadsheet будет:

  • экранировать HTML, заданный в ячейке
  • экранировать HTML, сгенерированный математическими функциями, за исключением методов с разрешённой генерацией HTML
  • разрешать только формат base64 и изображения с того же домена при использовании IMAGE (в остальных случаях появляется ошибка)
  • экранировать HTML, заданный в числовом формате

По умолчанию, генерация HTML разрешена для следующих методов: "IMAGE", "HYPERLINK", "SPARKLINE", "CHECKBOX", "RADIO".

Чтобы разрешить кастомному методу генерировать HTML при включённом свойстве xssSafe, задайте параметр generateHTML метода registerMathMethod() равным true. Пример:

const spreadsheet = webix.ui({
    view: "spreadsheet",
    xssSafe: true
});
 
spreadsheet.registerMathMethod("bold", v => `<b>${v}</b>`, null, true);
spreadsheet.setCellValue(1, 1, '=bold("text")');

При использовании метода с разрешённой генерацией HTML в математических формулах, указывайте только сам метод. Например: =IMAGE(...) сгенерирует изображение, а =IMAGE(...)&"text" будет экранировано.

Наверх