From 05913d4a1b63cc78a47bc134a4c6d1bef9e3bc42 Mon Sep 17 00:00:00 2001 From: Andrey Okonetchnikov Date: Tue, 27 Sep 2016 11:33:28 +0200 Subject: [PATCH] Omit not allowed attributes instead of white-listing them --- src/components/Widgets/MarkitupReactRenderer.js | 6 +++--- .../__snapshots__/MarkitupReactRenderer.spec.js.snap | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/components/Widgets/MarkitupReactRenderer.js b/src/components/Widgets/MarkitupReactRenderer.js index a2e79bfd..a1f5a4cf 100644 --- a/src/components/Widgets/MarkitupReactRenderer.js +++ b/src/components/Widgets/MarkitupReactRenderer.js @@ -1,7 +1,7 @@ import React, { PropTypes } from 'react'; import reactParser from 'react-htmlparser2'; import MarkupIt, { Syntax, BLOCKS, STYLES, ENTITIES } from 'markup-it'; -import { pick } from 'lodash'; +import { omit } from 'lodash'; const defaultSchema = { [BLOCKS.DOCUMENT]: 'article', @@ -39,10 +39,10 @@ const defaultSchema = { [ENTITIES.HARD_BREAK]: 'br' }; -const allowedProps = ['className', 'id', 'name', 'title', 'src', 'alt', 'href']; +const notAllowedAttributes = ['loose']; function sanitizeProps(props) { - return pick(props, allowedProps); + return omit(props, notAllowedAttributes); } function renderToken(schema, token, index = 0, key = '0') { diff --git a/src/components/Widgets/__tests__/__snapshots__/MarkitupReactRenderer.spec.js.snap b/src/components/Widgets/__tests__/__snapshots__/MarkitupReactRenderer.spec.js.snap index c9428b8f..70ba2201 100644 --- a/src/components/Widgets/__tests__/__snapshots__/MarkitupReactRenderer.spec.js.snap +++ b/src/components/Widgets/__tests__/__snapshots__/MarkitupReactRenderer.spec.js.snap @@ -4,7 +4,7 @@ exports[`MarkitupReactRenderer Markdown rendering Code should render code 1`] = exports[`MarkitupReactRenderer Markdown rendering Code should render code 2 1`] = `"

There is a literal backtick (\`) here.

"`; -exports[`MarkitupReactRenderer Markdown rendering General should render markdown 1`] = `"

H1

Text with bold & em elements

H2

H3

  1. ol item 1
  2. ol item 2
  3. ol item 3

H4

link title

H5

\"alt

H6
"`; +exports[`MarkitupReactRenderer Markdown rendering General should render markdown 1`] = `"

H1

Text with bold & em elements

H2

H3

  1. ol item 1
  2. ol item 2
  3. ol item 3

H4

link title

H5

\"alt

H6
"`; exports[`MarkitupReactRenderer Markdown rendering HTML should render HTML as is using Markdown 1`] = ` "

Title

@@ -30,7 +30,7 @@ exports[`MarkitupReactRenderer Markdown rendering Headings should render Heading exports[`MarkitupReactRenderer Markdown rendering Headings should render Heading 6 1`] = `"
Title
"`; -exports[`MarkitupReactRenderer Markdown rendering Links should render links 1`] = `""`; +exports[`MarkitupReactRenderer Markdown rendering Links should render links 1`] = `""`; exports[`MarkitupReactRenderer Markdown rendering Lists should render lists 1`] = `"
  1. ol item 1
  2. ol item 2
    • Sublist 1
    • Sublist 2
    • Sublist 3
      1. Sub-Sublist 1
      2. Sub-Sublist 2
      3. Sub-Sublist 3
  3. ol item 3
"`;