mirror of
https://github.com/AmruthPillai/Reactive-Resume.git
synced 2025-11-13 00:03:27 +10:00
sanitize all user inputs, fix #2172
This commit is contained in:
@ -18,6 +18,7 @@ import { Education, Experience, Volunteer } from "@reactive-resume/schema";
|
||||
import { cn, isEmptyString, isUrl } from "@reactive-resume/utils";
|
||||
import get from "lodash.get";
|
||||
import { Fragment } from "react";
|
||||
import sanitizeHtml from "sanitize-html";
|
||||
|
||||
import { BrandIcon } from "../components/brand-icon";
|
||||
import { Picture } from "../components/picture";
|
||||
@ -110,9 +111,9 @@ const Summary = () => {
|
||||
<h4 className="mb-2 border-b border-primary text-base font-bold">{section.name}</h4>
|
||||
|
||||
<div
|
||||
dangerouslySetInnerHTML={{ __html: section.content }}
|
||||
className="wysiwyg"
|
||||
dangerouslySetInnerHTML={{ __html: sanitizeHtml(section.content) }}
|
||||
style={{ columns: section.columns }}
|
||||
className="wysiwyg"
|
||||
/>
|
||||
</section>
|
||||
);
|
||||
@ -238,7 +239,10 @@ const Section = <T,>({
|
||||
</div>
|
||||
|
||||
{summary !== undefined && !isEmptyString(summary) && (
|
||||
<div dangerouslySetInnerHTML={{ __html: summary }} className="wysiwyg" />
|
||||
<div
|
||||
dangerouslySetInnerHTML={{ __html: sanitizeHtml(summary) }}
|
||||
className="wysiwyg"
|
||||
/>
|
||||
)}
|
||||
|
||||
{level !== undefined && level > 0 && <Rating level={level} />}
|
||||
|
||||
Reference in New Issue
Block a user